diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index f164a2864061..de28bf2171dd 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -331,6 +331,7 @@ com.azure.resourcemanager:azure-resourcemanager-desktopvirtualization;1.0.0-beta
com.azure.resourcemanager:azure-resourcemanager-loadtestservice;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-automanage;1.0.0-beta.1;1.0.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-edgeorder;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-securityinsights;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
diff --git a/pom.xml b/pom.xml
index 9cb3ad482fa8..24a6e66997ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -824,6 +824,7 @@
sdk/schemaregistry
sdk/search
sdk/security
+ sdk/securityinsights
sdk/servicebus
sdk/servicefabric
sdk/signalr
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/CHANGELOG.md b/sdk/securityinsights/azure-resourcemanager-securityinsights/CHANGELOG.md
new file mode 100644
index 000000000000..6173d7d62ff5
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2022-01-11)
+
+- Azure Resource Manager SecurityInsights client library for Java. This package contains Microsoft Azure SDK for SecurityInsights Management SDK. API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider. Package tag package-preview-2021-09. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/README.md b/sdk/securityinsights/azure-resourcemanager-securityinsights/README.md
new file mode 100644
index 000000000000..1b93d3a71614
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/README.md
@@ -0,0 +1,102 @@
+# Azure Resource Manager SecurityInsights client library for Java
+
+Azure Resource Manager SecurityInsights client library for Java.
+
+This package contains Microsoft Azure SDK for SecurityInsights Management SDK. API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider. Package tag package-preview-2021-09. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-securityinsights;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-securityinsights
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `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.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+SecurityInsightsManager manager = SecurityInsightsManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/securityinsights/azure-resourcemanager-securityinsights/SAMPLE.md)
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/SAMPLE.md b/sdk/securityinsights/azure-resourcemanager-securityinsights/SAMPLE.md
new file mode 100644
index 000000000000..639641490bec
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/SAMPLE.md
@@ -0,0 +1,4608 @@
+# Code snippets and samples
+
+
+## Actions
+
+- [CreateOrUpdate](#actions_createorupdate)
+- [Delete](#actions_delete)
+- [Get](#actions_get)
+- [ListByAlertRule](#actions_listbyalertrule)
+
+## AlertRuleTemplates
+
+- [Get](#alertruletemplates_get)
+- [List](#alertruletemplates_list)
+
+## AlertRules
+
+- [CreateOrUpdate](#alertrules_createorupdate)
+- [Delete](#alertrules_delete)
+- [Get](#alertrules_get)
+- [List](#alertrules_list)
+
+## AutomationRules
+
+- [CreateOrUpdate](#automationrules_createorupdate)
+- [Delete](#automationrules_delete)
+- [Get](#automationrules_get)
+- [List](#automationrules_list)
+
+## BookmarkOperation
+
+- [Expand](#bookmarkoperation_expand)
+
+## BookmarkRelations
+
+- [CreateOrUpdate](#bookmarkrelations_createorupdate)
+- [Delete](#bookmarkrelations_delete)
+- [Get](#bookmarkrelations_get)
+- [List](#bookmarkrelations_list)
+
+## Bookmarks
+
+- [CreateOrUpdate](#bookmarks_createorupdate)
+- [Delete](#bookmarks_delete)
+- [Get](#bookmarks_get)
+- [List](#bookmarks_list)
+
+## DataConnectors
+
+- [Connect](#dataconnectors_connect)
+- [CreateOrUpdate](#dataconnectors_createorupdate)
+- [Delete](#dataconnectors_delete)
+- [Disconnect](#dataconnectors_disconnect)
+- [Get](#dataconnectors_get)
+- [List](#dataconnectors_list)
+
+## DataConnectorsCheckRequirementsOperation
+
+- [Post](#dataconnectorscheckrequirementsoperation_post)
+
+## DomainWhois
+
+- [Get](#domainwhois_get)
+
+## Entities
+
+- [Expand](#entities_expand)
+- [Get](#entities_get)
+- [GetInsights](#entities_getinsights)
+- [List](#entities_list)
+- [Queries](#entities_queries)
+
+## EntitiesGetTimeline
+
+- [List](#entitiesgettimeline_list)
+
+## EntitiesRelations
+
+- [List](#entitiesrelations_list)
+
+## EntityQueries
+
+- [CreateOrUpdate](#entityqueries_createorupdate)
+- [Delete](#entityqueries_delete)
+- [Get](#entityqueries_get)
+- [List](#entityqueries_list)
+
+## EntityQueryTemplates
+
+- [Get](#entityquerytemplates_get)
+- [List](#entityquerytemplates_list)
+
+## EntityRelations
+
+- [GetRelation](#entityrelations_getrelation)
+
+## IncidentComments
+
+- [CreateOrUpdate](#incidentcomments_createorupdate)
+- [Delete](#incidentcomments_delete)
+- [Get](#incidentcomments_get)
+- [List](#incidentcomments_list)
+
+## IncidentRelations
+
+- [CreateOrUpdate](#incidentrelations_createorupdate)
+- [Delete](#incidentrelations_delete)
+- [Get](#incidentrelations_get)
+- [List](#incidentrelations_list)
+
+## Incidents
+
+- [CreateOrUpdate](#incidents_createorupdate)
+- [CreateTeam](#incidents_createteam)
+- [Delete](#incidents_delete)
+- [Get](#incidents_get)
+- [List](#incidents_list)
+- [ListAlerts](#incidents_listalerts)
+- [ListBookmarks](#incidents_listbookmarks)
+- [ListEntities](#incidents_listentities)
+
+## IpGeodata
+
+- [Get](#ipgeodata_get)
+
+## Metadata
+
+- [Create](#metadata_create)
+- [Delete](#metadata_delete)
+- [Get](#metadata_get)
+- [List](#metadata_list)
+- [Update](#metadata_update)
+
+## OfficeConsents
+
+- [Delete](#officeconsents_delete)
+- [Get](#officeconsents_get)
+- [List](#officeconsents_list)
+
+## ProductSettings
+
+- [Delete](#productsettings_delete)
+- [Get](#productsettings_get)
+- [List](#productsettings_list)
+- [Update](#productsettings_update)
+
+## SentinelOnboardingStates
+
+- [Create](#sentinelonboardingstates_create)
+- [Delete](#sentinelonboardingstates_delete)
+- [Get](#sentinelonboardingstates_get)
+- [List](#sentinelonboardingstates_list)
+
+## SourceControl
+
+- [ListRepositories](#sourcecontrol_listrepositories)
+
+## SourceControlsOperation
+
+- [Create](#sourcecontrolsoperation_create)
+- [Delete](#sourcecontrolsoperation_delete)
+- [Get](#sourcecontrolsoperation_get)
+- [List](#sourcecontrolsoperation_list)
+
+## ThreatIntelligenceIndicator
+
+- [AppendTags](#threatintelligenceindicator_appendtags)
+- [Create](#threatintelligenceindicator_create)
+- [CreateIndicator](#threatintelligenceindicator_createindicator)
+- [Delete](#threatintelligenceindicator_delete)
+- [Get](#threatintelligenceindicator_get)
+- [QueryIndicators](#threatintelligenceindicator_queryindicators)
+- [ReplaceTags](#threatintelligenceindicator_replacetags)
+
+## ThreatIntelligenceIndicatorMetrics
+
+- [List](#threatintelligenceindicatormetrics_list)
+
+## ThreatIntelligenceIndicatorsOperation
+
+- [List](#threatintelligenceindicatorsoperation_list)
+
+## WatchlistItems
+
+- [CreateOrUpdate](#watchlistitems_createorupdate)
+- [Delete](#watchlistitems_delete)
+- [Get](#watchlistitems_get)
+- [List](#watchlistitems_list)
+
+## Watchlists
+
+- [CreateOrUpdate](#watchlists_createorupdate)
+- [Delete](#watchlists_delete)
+- [Get](#watchlists_get)
+- [List](#watchlists_list)
+### Actions_CreateOrUpdate
+
+```java
+/** Samples for Actions CreateOrUpdate. */
+public final class ActionsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/actions/CreateActionOfAlertRule.json
+ */
+ /**
+ * Sample code: Creates or updates an action of alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnActionOfAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .actions()
+ .define("912bec42-cb66-4c03-ac63-1761b6898c3e")
+ .withExistingAlertRule("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5")
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withTriggerUri(
+ "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature")
+ .withLogicAppResourceId(
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts")
+ .create();
+ }
+}
+```
+
+### Actions_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Actions Delete. */
+public final class ActionsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/actions/DeleteActionOfAlertRule.json
+ */
+ /**
+ * Sample code: Delete an action of alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAnActionOfAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .actions()
+ .deleteWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ Context.NONE);
+ }
+}
+```
+
+### Actions_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Actions Get. */
+public final class ActionsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/actions/GetActionOfAlertRuleById.json
+ */
+ /**
+ * Sample code: Get an action of alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnActionOfAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .actions()
+ .getWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ Context.NONE);
+ }
+}
+```
+
+### Actions_ListByAlertRule
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Actions ListByAlertRule. */
+public final class ActionsListByAlertRuleSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/actions/GetAllActionsByAlertRule.json
+ */
+ /**
+ * Sample code: Get all actions of alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllActionsOfAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.actions().listByAlertRule("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### AlertRuleTemplates_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AlertRuleTemplates Get. */
+public final class AlertRuleTemplatesGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
+ */
+ /**
+ * Sample code: Get alert rule template by Id.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAlertRuleTemplateById(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRuleTemplates()
+ .getWithResponse("myRg", "myWorkspace", "65360bb0-8986-4ade-a89d-af3cf44d28aa", Context.NONE);
+ }
+}
+```
+
+### AlertRuleTemplates_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AlertRuleTemplates List. */
+public final class AlertRuleTemplatesListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
+ */
+ /**
+ * Sample code: Get all alert rule templates.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllAlertRuleTemplates(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.alertRuleTemplates().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### AlertRules_CreateOrUpdate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.AlertDetail;
+import com.azure.resourcemanager.securityinsights.models.AlertDetailsOverride;
+import com.azure.resourcemanager.securityinsights.models.AlertSeverity;
+import com.azure.resourcemanager.securityinsights.models.AttackTactic;
+import com.azure.resourcemanager.securityinsights.models.EntityMapping;
+import com.azure.resourcemanager.securityinsights.models.EntityMappingType;
+import com.azure.resourcemanager.securityinsights.models.EventGroupingAggregationKind;
+import com.azure.resourcemanager.securityinsights.models.EventGroupingSettings;
+import com.azure.resourcemanager.securityinsights.models.FieldMapping;
+import com.azure.resourcemanager.securityinsights.models.FusionAlertRule;
+import com.azure.resourcemanager.securityinsights.models.GroupingConfiguration;
+import com.azure.resourcemanager.securityinsights.models.IncidentConfiguration;
+import com.azure.resourcemanager.securityinsights.models.MatchingMethod;
+import com.azure.resourcemanager.securityinsights.models.MicrosoftSecurityIncidentCreationAlertRule;
+import com.azure.resourcemanager.securityinsights.models.MicrosoftSecurityProductName;
+import com.azure.resourcemanager.securityinsights.models.NrtAlertRule;
+import com.azure.resourcemanager.securityinsights.models.ScheduledAlertRule;
+import com.azure.resourcemanager.securityinsights.models.TriggerOperator;
+import java.time.Duration;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for AlertRules CreateOrUpdate. */
+public final class AlertRulesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/CreateFusionAlertRule.json
+ */
+ /**
+ * Sample code: Creates or updates a Fusion alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAFusionAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "myFirstFusionRule",
+ new FusionAlertRule()
+ .withEtag("3d00c3ca-0000-0100-0000-5d42d5010000")
+ .withAlertRuleTemplateName("f71aba3d-28fb-450b-b192-4e76a83015c8")
+ .withEnabled(true),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
+ */
+ /**
+ * Sample code: Creates or updates a MicrosoftSecurityIncidentCreation rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAMicrosoftSecurityIncidentCreationRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "microsoftSecurityIncidentCreationRuleExample",
+ new MicrosoftSecurityIncidentCreationAlertRule()
+ .withEtag("\"260097e0-0000-0d00-0000-5d6fa88f0000\"")
+ .withDisplayName("testing displayname")
+ .withEnabled(true)
+ .withProductFilter(MicrosoftSecurityProductName.MICROSOFT_CLOUD_APP_SECURITY),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/CreateScheduledAlertRule.json
+ */
+ /**
+ * Sample code: Creates or updates a Scheduled alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAScheduledAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ new ScheduledAlertRule()
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withDescription("An example for a scheduled rule")
+ .withQuery("Heartbeat")
+ .withDisplayName("My scheduled rule")
+ .withEnabled(true)
+ .withSuppressionDuration(Duration.parse("PT1H"))
+ .withSuppressionEnabled(false)
+ .withSeverity(AlertSeverity.HIGH)
+ .withTactics(Arrays.asList(AttackTactic.PERSISTENCE, AttackTactic.LATERAL_MOVEMENT))
+ .withIncidentConfiguration(
+ new IncidentConfiguration()
+ .withCreateIncident(true)
+ .withGroupingConfiguration(
+ new GroupingConfiguration()
+ .withEnabled(true)
+ .withReopenClosedIncident(false)
+ .withLookbackDuration(Duration.parse("PT5H"))
+ .withMatchingMethod(MatchingMethod.SELECTED)
+ .withGroupByEntities(Arrays.asList(EntityMappingType.HOST))
+ .withGroupByAlertDetails(Arrays.asList(AlertDetail.DISPLAY_NAME))
+ .withGroupByCustomDetails(
+ Arrays.asList("OperatingSystemType", "OperatingSystemName"))))
+ .withCustomDetails(mapOf("OperatingSystemName", "OSName", "OperatingSystemType", "OSType"))
+ .withEntityMappings(
+ Arrays
+ .asList(
+ new EntityMapping()
+ .withEntityType(EntityMappingType.HOST)
+ .withFieldMappings(
+ Arrays
+ .asList(
+ new FieldMapping()
+ .withIdentifier("FullName")
+ .withColumnName("Computer"))),
+ new EntityMapping()
+ .withEntityType(EntityMappingType.IP)
+ .withFieldMappings(
+ Arrays
+ .asList(
+ new FieldMapping()
+ .withIdentifier("Address")
+ .withColumnName("ComputerIP")))))
+ .withAlertDetailsOverride(
+ new AlertDetailsOverride()
+ .withAlertDisplayNameFormat("Alert from {{Computer}}")
+ .withAlertDescriptionFormat("Suspicious activity was made by {{ComputerIP}}"))
+ .withQueryFrequency(Duration.parse("PT1H"))
+ .withQueryPeriod(Duration.parse("P2DT1H30M"))
+ .withTriggerOperator(TriggerOperator.GREATER_THAN)
+ .withTriggerThreshold(0)
+ .withEventGroupingSettings(
+ new EventGroupingSettings().withAggregationKind(EventGroupingAggregationKind.ALERT_PER_RESULT)),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/CreateNrtAlertRule.json
+ */
+ /**
+ * Sample code: Creates or updates a Nrt alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesANrtAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ new NrtAlertRule().withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\""),
+ Context.NONE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### AlertRules_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AlertRules Delete. */
+public final class AlertRulesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/DeleteAlertRule.json
+ */
+ /**
+ * Sample code: Delete an alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAnAlertRule(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .deleteWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### AlertRules_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AlertRules Get. */
+public final class AlertRulesGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/GetScheduledAlertRule.json
+ */
+ /**
+ * Sample code: Get a Scheduled alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAScheduledAlertRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .getWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/GetNrtAlertRule.json
+ */
+ /**
+ * Sample code: Get an Nrt alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnNrtAlertRule(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .getWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/GetFusionAlertRule.json
+ */
+ /**
+ * Sample code: Get a Fusion alert rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAFusionAlertRule(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.alertRules().getWithResponse("myRg", "myWorkspace", "myFirstFusionRule", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
+ */
+ /**
+ * Sample code: Get a MicrosoftSecurityIncidentCreation rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMicrosoftSecurityIncidentCreationRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .alertRules()
+ .getWithResponse("myRg", "myWorkspace", "microsoftSecurityIncidentCreationRuleExample", Context.NONE);
+ }
+}
+```
+
+### AlertRules_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AlertRules List. */
+public final class AlertRulesListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/alertRules/GetAllAlertRules.json
+ */
+ /**
+ * Sample code: Get all alert rules.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllAlertRules(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.alertRules().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### AutomationRules_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleModifyPropertiesAction;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleModifyPropertiesActionConfiguration;
+import com.azure.resourcemanager.securityinsights.models.AutomationRulePropertyConditionSupportedOperator;
+import com.azure.resourcemanager.securityinsights.models.AutomationRulePropertyConditionSupportedProperty;
+import com.azure.resourcemanager.securityinsights.models.AutomationRulePropertyValuesCondition;
+import com.azure.resourcemanager.securityinsights.models.AutomationRulePropertyValuesConditionProperties;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleRunPlaybookAction;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleRunPlaybookActionConfiguration;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleTriggeringLogic;
+import com.azure.resourcemanager.securityinsights.models.IncidentSeverity;
+import com.azure.resourcemanager.securityinsights.models.TriggersOn;
+import com.azure.resourcemanager.securityinsights.models.TriggersWhen;
+import java.util.Arrays;
+
+/** Samples for AutomationRules CreateOrUpdate. */
+public final class AutomationRulesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/automationRules/CreateAutomationRule.json
+ */
+ /**
+ * Sample code: Creates or updates an automation rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnAutomationRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .automationRules()
+ .define("73e01a99-5cd7-4139-a149-9f2736ff2ab5")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withDisplayName("High severity incidents escalation")
+ .withOrder(1)
+ .withTriggeringLogic(
+ new AutomationRuleTriggeringLogic()
+ .withIsEnabled(true)
+ .withTriggersOn(TriggersOn.INCIDENTS)
+ .withTriggersWhen(TriggersWhen.CREATED)
+ .withConditions(
+ Arrays
+ .asList(
+ new AutomationRulePropertyValuesCondition()
+ .withConditionProperties(
+ new AutomationRulePropertyValuesConditionProperties()
+ .withPropertyName(
+ AutomationRulePropertyConditionSupportedProperty
+ .INCIDENT_RELATED_ANALYTIC_RULE_IDS)
+ .withOperator(AutomationRulePropertyConditionSupportedOperator.CONTAINS)
+ .withPropertyValues(
+ Arrays
+ .asList(
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7",
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a"))))))
+ .withActions(
+ Arrays
+ .asList(
+ new AutomationRuleModifyPropertiesAction()
+ .withOrder(1)
+ .withActionConfiguration(
+ new AutomationRuleModifyPropertiesActionConfiguration()
+ .withSeverity(IncidentSeverity.HIGH)),
+ new AutomationRuleRunPlaybookAction()
+ .withOrder(2)
+ .withActionConfiguration(
+ new AutomationRuleRunPlaybookActionConfiguration()
+ .withLogicAppResourceId(
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/IncidentPlaybook")
+ .withTenantId("ee48efaf-50c6-411b-9345-b2bdc3eb4abc"))))
+ .create();
+ }
+}
+```
+
+### AutomationRules_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AutomationRules Delete. */
+public final class AutomationRulesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/automationRules/DeleteAutomationRule.json
+ */
+ /**
+ * Sample code: Delete an automation rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAnAutomationRule(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .automationRules()
+ .deleteWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### AutomationRules_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AutomationRules Get. */
+public final class AutomationRulesGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/automationRules/GetAutomationRule.json
+ */
+ /**
+ * Sample code: Get an automation rule.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnAutomationRule(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .automationRules()
+ .getWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### AutomationRules_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AutomationRules List. */
+public final class AutomationRulesListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/automationRules/GetAllAutomationRules.json
+ */
+ /**
+ * Sample code: Get all automation rules.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllAutomationRules(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.automationRules().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### BookmarkOperation_Expand
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.BookmarkExpandParameters;
+import java.time.OffsetDateTime;
+import java.util.UUID;
+
+/** Samples for BookmarkOperation Expand. */
+public final class BookmarkOperationExpandSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/expand/PostExpandBookmark.json
+ */
+ /**
+ * Sample code: Expand an bookmark.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void expandAnBookmark(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarkOperations()
+ .expandWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ new BookmarkExpandParameters()
+ .withEndTime(OffsetDateTime.parse("2020-01-24T17:21:00.000Z"))
+ .withExpansionId(UUID.fromString("27f76e63-c41b-480f-bb18-12ad2e011d49"))
+ .withStartTime(OffsetDateTime.parse("2019-12-25T17:21:00.000Z")),
+ Context.NONE);
+ }
+}
+```
+
+### BookmarkRelations_CreateOrUpdate
+
+```java
+/** Samples for BookmarkRelations CreateOrUpdate. */
+public final class BookmarkRelationsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json
+ */
+ /**
+ * Sample code: Creates or updates a bookmark relation.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesABookmarkRelation(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarkRelations()
+ .define("4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014")
+ .withExistingBookmark("myRg", "myWorkspace", "2216d0e1-91e3-4902-89fd-d2df8c535096")
+ .withRelatedResourceId(
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812")
+ .create();
+ }
+}
+```
+
+### BookmarkRelations_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for BookmarkRelations Delete. */
+public final class BookmarkRelationsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json
+ */
+ /**
+ * Sample code: Delete the bookmark relation.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteTheBookmarkRelation(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarkRelations()
+ .deleteWithResponse(
+ "myRg",
+ "myWorkspace",
+ "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ Context.NONE);
+ }
+}
+```
+
+### BookmarkRelations_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for BookmarkRelations Get. */
+public final class BookmarkRelationsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json
+ */
+ /**
+ * Sample code: Get a bookmark relation.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getABookmarkRelation(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarkRelations()
+ .getWithResponse(
+ "myRg",
+ "myWorkspace",
+ "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ Context.NONE);
+ }
+}
+```
+
+### BookmarkRelations_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for BookmarkRelations List. */
+public final class BookmarkRelationsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json
+ */
+ /**
+ * Sample code: Get all bookmark relations.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllBookmarkRelations(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarkRelations()
+ .list("myRg", "myWorkspace", "2216d0e1-91e3-4902-89fd-d2df8c535096", null, null, null, null, Context.NONE);
+ }
+}
+```
+
+### Bookmarks_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.securityinsights.models.UserInfo;
+import java.time.OffsetDateTime;
+import java.util.Arrays;
+import java.util.UUID;
+
+/** Samples for Bookmarks CreateOrUpdate. */
+public final class BookmarksCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/CreateBookmark.json
+ */
+ /**
+ * Sample code: Creates or updates a bookmark.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesABookmark(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarks()
+ .define("73e01a99-5cd7-4139-a149-9f2736ff2ab5")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withCreated(OffsetDateTime.parse("2021-09-01T13:15:30Z"))
+ .withCreatedBy(new UserInfo().withObjectId(UUID.fromString("2046feea-040d-4a46-9e2b-91c2941bfa70")))
+ .withDisplayName("My bookmark")
+ .withLabels(Arrays.asList("Tag1", "Tag2"))
+ .withNotes("Found a suspicious activity")
+ .withQuery("SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)")
+ .withQueryResult("Security Event query result")
+ .withUpdated(OffsetDateTime.parse("2021-09-01T13:15:30Z"))
+ .withUpdatedBy(new UserInfo().withObjectId(UUID.fromString("2046feea-040d-4a46-9e2b-91c2941bfa70")))
+ .create();
+ }
+}
+```
+
+### Bookmarks_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Bookmarks Delete. */
+public final class BookmarksDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/DeleteBookmark.json
+ */
+ /**
+ * Sample code: Delete a bookmark.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteABookmark(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarks()
+ .deleteWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### Bookmarks_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Bookmarks Get. */
+public final class BookmarksGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/GetBookmarkById.json
+ */
+ /**
+ * Sample code: Get a bookmark.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getABookmark(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .bookmarks()
+ .getWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### Bookmarks_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Bookmarks List. */
+public final class BookmarksListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/bookmarks/GetBookmarks.json
+ */
+ /**
+ * Sample code: Get all bookmarks.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllBookmarks(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.bookmarks().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### DataConnectors_Connect
+
+```java
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.securityinsights.models.ConnectAuthKind;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorConnectBody;
+import java.io.IOException;
+import java.util.Arrays;
+
+/** Samples for DataConnectors Connect. */
+public final class DataConnectorsConnectSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/ConnectAPIPolling.json
+ */
+ /**
+ * Sample code: Connect an APIPolling data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void connectAnAPIPollingDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) throws IOException {
+ manager
+ .dataConnectors()
+ .connectWithResponse(
+ "myRg",
+ "myWorkspace",
+ "316ec55e-7138-4d63-ab18-90c8a60fd1c8",
+ new DataConnectorConnectBody()
+ .withKind(ConnectAuthKind.APIKEY)
+ .withApiKey("123456789")
+ .withRequestConfigUserInputValues(
+ Arrays
+ .asList(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"displayText\":\"Organization"
+ + " Name\",\"placeHolderName\":\"{{placeHolder1}}\",\"placeHolderValue\":\"somePlaceHolderValue\",\"requestObjectKey\":\"apiEndpoint\"}",
+ Object.class,
+ SerializerEncoding.JSON))),
+ Context.NONE);
+ }
+}
+```
+
+### DataConnectors_CreateOrUpdate
+
+```java
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.securityinsights.models.Availability;
+import com.azure.resourcemanager.securityinsights.models.AvailabilityStatus;
+import com.azure.resourcemanager.securityinsights.models.CodelessApiPollingDataConnector;
+import com.azure.resourcemanager.securityinsights.models.CodelessConnectorPollingAuthProperties;
+import com.azure.resourcemanager.securityinsights.models.CodelessConnectorPollingConfigProperties;
+import com.azure.resourcemanager.securityinsights.models.CodelessConnectorPollingPagingProperties;
+import com.azure.resourcemanager.securityinsights.models.CodelessConnectorPollingRequestProperties;
+import com.azure.resourcemanager.securityinsights.models.CodelessConnectorPollingResponseProperties;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigProperties;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigPropertiesDataTypesItem;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigPropertiesGraphQueriesItem;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigPropertiesInstructionStepsItem;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigPropertiesSampleQueriesItem;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiDataConnector;
+import com.azure.resourcemanager.securityinsights.models.ConnectivityType;
+import com.azure.resourcemanager.securityinsights.models.DataTypeState;
+import com.azure.resourcemanager.securityinsights.models.Dynamics365DataConnector;
+import com.azure.resourcemanager.securityinsights.models.Dynamics365DataConnectorDataTypes;
+import com.azure.resourcemanager.securityinsights.models.Dynamics365DataConnectorDataTypesDynamics365CdsActivities;
+import com.azure.resourcemanager.securityinsights.models.InstructionStepsInstructionsItem;
+import com.azure.resourcemanager.securityinsights.models.OfficeDataConnector;
+import com.azure.resourcemanager.securityinsights.models.OfficeDataConnectorDataTypes;
+import com.azure.resourcemanager.securityinsights.models.OfficeDataConnectorDataTypesExchange;
+import com.azure.resourcemanager.securityinsights.models.OfficeDataConnectorDataTypesSharePoint;
+import com.azure.resourcemanager.securityinsights.models.OfficeDataConnectorDataTypesTeams;
+import com.azure.resourcemanager.securityinsights.models.PermissionProviderScope;
+import com.azure.resourcemanager.securityinsights.models.Permissions;
+import com.azure.resourcemanager.securityinsights.models.PermissionsCustomsItem;
+import com.azure.resourcemanager.securityinsights.models.PermissionsResourceProviderItem;
+import com.azure.resourcemanager.securityinsights.models.PollingFrequency;
+import com.azure.resourcemanager.securityinsights.models.ProviderName;
+import com.azure.resourcemanager.securityinsights.models.RequiredPermissions;
+import com.azure.resourcemanager.securityinsights.models.SettingType;
+import com.azure.resourcemanager.securityinsights.models.TIDataConnector;
+import com.azure.resourcemanager.securityinsights.models.TIDataConnectorDataTypes;
+import com.azure.resourcemanager.securityinsights.models.TIDataConnectorDataTypesIndicators;
+import com.azure.resourcemanager.securityinsights.models.TiTaxiiDataConnector;
+import com.azure.resourcemanager.securityinsights.models.TiTaxiiDataConnectorDataTypes;
+import com.azure.resourcemanager.securityinsights.models.TiTaxiiDataConnectorDataTypesTaxiiClient;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.Arrays;
+
+/** Samples for DataConnectors CreateOrUpdate. */
+public final class DataConnectorsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json
+ */
+ /**
+ * Sample code: Creates or updates an Office365 data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnOffice365DataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ new OfficeDataConnector()
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withDataTypes(
+ new OfficeDataConnectorDataTypes()
+ .withExchange(new OfficeDataConnectorDataTypesExchange().withState(DataTypeState.ENABLED))
+ .withSharePoint(
+ new OfficeDataConnectorDataTypesSharePoint().withState(DataTypeState.ENABLED))
+ .withTeams(new OfficeDataConnectorDataTypesTeams().withState(DataTypeState.ENABLED)))
+ .withTenantId("2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json
+ */
+ /**
+ * Sample code: Creates or updates a Threat Intelligence Taxii data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAThreatIntelligenceTaxiiDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ new TiTaxiiDataConnector()
+ .withEtag("d12423f6-a60b-4ca5-88c0-feb1a182d0f0")
+ .withWorkspaceId("dd124572-4962-4495-9bd2-9dade12314b4")
+ .withFriendlyName("testTaxii")
+ .withTaxiiServer("https://limo.anomali.com/api/v1/taxii2/feeds")
+ .withCollectionId("135")
+ .withUsername("--")
+ .withPassword("--")
+ .withTaxiiLookbackPeriod(OffsetDateTime.parse("2020-01-01T13:00:30.123Z"))
+ .withPollingFrequency(PollingFrequency.ONCE_ADAY)
+ .withDataTypes(
+ new TiTaxiiDataConnectorDataTypes()
+ .withTaxiiClient(
+ new TiTaxiiDataConnectorDataTypesTaxiiClient().withState(DataTypeState.ENABLED)))
+ .withTenantId("06b3ccb8-1384-4bcc-aec7-852f6d57161b"),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json
+ */
+ /**
+ * Sample code: Creates or updates an Threat Intelligence Platform data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnThreatIntelligencePlatformDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ new TIDataConnector()
+ .withTipLookbackPeriod(OffsetDateTime.parse("2020-01-01T13:00:30.123Z"))
+ .withDataTypes(
+ new TIDataConnectorDataTypes()
+ .withIndicators(new TIDataConnectorDataTypesIndicators().withState(DataTypeState.ENABLED)))
+ .withTenantId("06b3ccb8-1384-4bcc-aec7-852f6d57161b"),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json
+ */
+ /**
+ * Sample code: Creates or updates a Dynamics365 data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesADynamics365DataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "c2541efb-c9a6-47fe-9501-87d1017d1512",
+ new Dynamics365DataConnector()
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withDataTypes(
+ new Dynamics365DataConnectorDataTypes()
+ .withDynamics365CdsActivities(
+ new Dynamics365DataConnectorDataTypesDynamics365CdsActivities()
+ .withState(DataTypeState.ENABLED)))
+ .withTenantId("2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CreateGenericUI.json
+ */
+ /**
+ * Sample code: Creates or updates a GenericUI data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAGenericUIDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) throws IOException {
+ manager
+ .dataConnectors()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "316ec55e-7138-4d63-ab18-90c8a60fd1c8",
+ new CodelessUiDataConnector()
+ .withConnectorUiConfig(
+ new CodelessUiConnectorConfigProperties()
+ .withTitle("Qualys Vulnerability Management (CCP DEMO)")
+ .withPublisher("Qualys")
+ .withDescriptionMarkdown(
+ "The [Qualys Vulnerability Management"
+ + " (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector"
+ + " provides the capability to ingest vulnerability host detection data into Azure"
+ + " Sentinel through the Qualys API. The connector provides visibility into host"
+ + " detection data from vulerability scans. This connector provides Azure Sentinel"
+ + " the capability to view dashboards, create custom alerts, and improve"
+ + " investigation ")
+ .withGraphQueriesTableName("QualysHostDetection_CL")
+ .withGraphQueries(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesGraphQueriesItem()
+ .withMetricName("Total data received")
+ .withLegend("{{graphQueriesTableName}}")
+ .withBaseQuery("{{graphQueriesTableName}}")))
+ .withSampleQueries(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesSampleQueriesItem()
+ .withDescription("Top 10 Vulerabilities detected")
+ .withQuery(
+ "{{graphQueriesTableName}}\n"
+ + " | mv-expand todynamic(Detections_s)\n"
+ + " | extend Vulnerability = tostring(Detections_s.Results)\n"
+ + " | summarize count() by Vulnerability\n"
+ + " | top 10 by count_")))
+ .withDataTypes(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesDataTypesItem()
+ .withName("{{graphQueriesTableName}}")
+ .withLastDataReceivedQuery(
+ "{{graphQueriesTableName}}\n"
+ + " | summarize Time = max(TimeGenerated)\n"
+ + " | where isnotempty(Time)")))
+ .withConnectivityCriteria(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem()
+ .withType(ConnectivityType.IS_CONNECTED_QUERY)
+ .withValue(
+ Arrays
+ .asList(
+ "{{graphQueriesTableName}}\n"
+ + " | summarize LastLogReceived ="
+ + " max(TimeGenerated)\n"
+ + " | project IsConnected = LastLogReceived >"
+ + " ago(30d)"))))
+ .withAvailability(new Availability().withStatus(AvailabilityStatus.ONE).withIsPreview(true))
+ .withPermissions(
+ new Permissions()
+ .withResourceProvider(
+ Arrays
+ .asList(
+ new PermissionsResourceProviderItem()
+ .withProvider(
+ ProviderName.MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES)
+ .withPermissionsDisplayText(
+ "read and write permissions on the workspace are required.")
+ .withProviderDisplayName("Workspace")
+ .withScope(PermissionProviderScope.WORKSPACE)
+ .withRequiredPermissions(
+ new RequiredPermissions()
+ .withWrite(true)
+ .withRead(true)
+ .withDelete(true)),
+ new PermissionsResourceProviderItem()
+ .withProvider(
+ ProviderName
+ .MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES_SHARED_KEYS)
+ .withPermissionsDisplayText(
+ "read permissions to shared keys for the workspace are"
+ + " required. [See the documentation to learn more about"
+ + " workspace"
+ + " keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).")
+ .withProviderDisplayName("Keys")
+ .withScope(PermissionProviderScope.WORKSPACE)
+ .withRequiredPermissions(
+ new RequiredPermissions().withAction(true))))
+ .withCustoms(
+ Arrays
+ .asList(
+ new PermissionsCustomsItem()
+ .withName("Microsoft.Web/sites permissions")
+ .withDescription(
+ "Read and write permissions to Azure Functions to create a"
+ + " Function App is required. [See the documentation to"
+ + " learn more about Azure"
+ + " Functions](https://docs.microsoft.com/azure/azure-functions/)."),
+ new PermissionsCustomsItem()
+ .withName("Qualys API Key")
+ .withDescription(
+ "A Qualys VM API username and password is required. [See the"
+ + " documentation to learn more about Qualys VM"
+ + " API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)."))))
+ .withInstructionSteps(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM"
+ + " to pull its logs into Azure Sentinel. This might result in"
+ + " additional data ingestion costs. Check the [Azure Functions"
+ + " pricing"
+ + " page](https://azure.microsoft.com/pricing/details/functions/)"
+ + " for details."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ ">**(Optional Step)** Securely store workspace and API authorization"
+ + " key(s) or token(s) in Azure Key Vault. Azure Key Vault provides"
+ + " a secure mechanism to store and retrieve key values. [Follow"
+ + " these"
+ + " instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references)"
+ + " to use Azure Key Vault with an Azure Function App."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ "**STEP 1 - Configuration steps for the Qualys VM API**\n\n"
+ + "1. Log into the Qualys Vulnerability Management console with an"
+ + " administrator account, select the **Users** tab and the"
+ + " **Users** subtab. \n"
+ + "2. Click on the **New** drop-down menu and select **Users..**\n"
+ + "3. Create a username and password for the API account. \n"
+ + "4. In the **User Roles** tab, ensure the account role is set to"
+ + " **Manager** and access is allowed to **GUI** and **API**\n"
+ + "4. Log out of the administrator account and log into the console"
+ + " with the new API credentials for validation, then log out of"
+ + " the API account. \n"
+ + "5. Log back into the console using an administrator account and"
+ + " modify the API accounts User Roles, removing access to **GUI**."
+ + " \n"
+ + "6. Save all changes."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ "**STEP 2 - Choose ONE from the following two deployment options to"
+ + " deploy the connector and the associated Azure Function**\n\n"
+ + ">**IMPORTANT:** Before deploying the Qualys VM connector, have"
+ + " the Workspace ID and Workspace Primary Key (can be copied from"
+ + " the following), as well as the Qualys VM API Authorization"
+ + " Key(s), readily available.")
+ .withInstructions(
+ Arrays
+ .asList(
+ new InstructionStepsInstructionsItem()
+ .withParameters(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"fillWith\":[\"WorkspaceId\"],\"label\":\"Workspace"
+ + " ID\"}",
+ Object.class,
+ SerializerEncoding.JSON))
+ .withType(SettingType.COPYABLE_LABEL),
+ new InstructionStepsInstructionsItem()
+ .withParameters(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"fillWith\":[\"PrimaryKey\"],\"label\":\"Primary"
+ + " Key\"}",
+ Object.class,
+ SerializerEncoding.JSON))
+ .withType(SettingType.COPYABLE_LABEL))),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("Option 1 - Azure Resource Manager (ARM) Template")
+ .withDescription(
+ "Use this method for automated deployment of the Qualys VM connector"
+ + " using an ARM Tempate.\n\n"
+ + "1. Click the **Deploy to Azure** button below. \n\n"
+ + "\t[](https://aka.ms/sentinelqualysvmazuredeploy)\n"
+ + "2. Select the preferred **Subscription**, **Resource Group** and"
+ + " **Location**. \n"
+ + "3. Enter the **Workspace ID**, **Workspace Key**, **API"
+ + " Username**, **API Password** , update the **URI**, and any"
+ + " additional URI **Filter Parameters** (each filter should be"
+ + " separated by an \"&\" symbol, no spaces.) \n"
+ + "> - Enter the URI that corresponds to your region. The complete"
+ + " list of API Server URLs can be [found"
+ + " here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348)"
+ + " -- There is no need to add a time suffix to the URI, the"
+ + " Function App will dynamically append the Time Value to the URI"
+ + " in the proper format. \n"
+ + " - The default **Time Interval** is set to pull the last five"
+ + " (5) minutes of data. If the time interval needs to be modified,"
+ + " it is recommended to change the Function App Timer Trigger"
+ + " accordingly (in the function.json file, post deployment) to"
+ + " prevent overlapping data ingestion. \n"
+ + "> - Note: If using Azure Key Vault secrets for any of the values"
+ + " above, use the`@Microsoft.KeyVault(SecretUri={Security"
+ + " Identifier})`schema in place of the string values. Refer to"
+ + " [Key Vault references"
+ + " documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references)"
+ + " for further details. \n"
+ + "4. Mark the checkbox labeled **I agree to the terms and"
+ + " conditions stated above**. \n"
+ + "5. Click **Purchase** to deploy."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("Option 2 - Manual Deployment of Azure Functions")
+ .withDescription(
+ "Use the following step-by-step instructions to deploy the Quayls VM"
+ + " connector manually with Azure Functions."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ "**1. Create a Function App**\n\n"
+ + "1. From the Azure Portal, navigate to [Function"
+ + " App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp),"
+ + " and select **+ Add**.\n"
+ + "2. In the **Basics** tab, ensure Runtime stack is set to"
+ + " **Powershell Core**. \n"
+ + "3. In the **Hosting** tab, ensure the **Consumption"
+ + " (Serverless)** plan type is selected.\n"
+ + "4. Make other preferrable configuration changes, if needed, then"
+ + " click **Create**."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ "**2. Import Function App Code**\n\n"
+ + "1. In the newly created Function App, select **Functions** on"
+ + " the left pane and click **+ New Function**.\n"
+ + "2. Select **Timer Trigger**.\n"
+ + "3. Enter a unique Function **Name** and leave the default cron"
+ + " schedule of every 5 minutes, then click **Create**.\n"
+ + "5. Click on **Code + Test** on the left pane. \n"
+ + "6. Copy the [Function App"
+ + " Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and"
+ + " paste into the Function App `run.ps1` editor.\n"
+ + "7. Click **Save**."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ "**3. Configure the Function App**\n\n"
+ + "1. In the Function App, select the Function App Name and select"
+ + " **Configuration**.\n"
+ + "2. In the **Application settings** tab, select **+ New"
+ + " application setting**.\n"
+ + "3. Add each of the following seven (7) application settings"
+ + " individually, with their respective string values"
+ + " (case-sensitive): \n"
+ + "\t\tapiUsername\n"
+ + "\t\tapiPassword\n"
+ + "\t\tworkspaceID\n"
+ + "\t\tworkspaceKey\n"
+ + "\t\turi\n"
+ + "\t\tfilterParameters\n"
+ + "\t\ttimeInterval\n"
+ + "> - Enter the URI that corresponds to your region. The complete"
+ + " list of API Server URLs can be [found"
+ + " here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348)."
+ + " The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=`"
+ + " -- There is no need to add a time suffix to the URI, the"
+ + " Function App will dynamically append the Time Value to the URI"
+ + " in the proper format.\n"
+ + "> - Add any additional filter parameters, for the"
+ + " `filterParameters` variable, that need to be appended to the"
+ + " URI. Each parameter should be seperated by an \"&\" symbol and"
+ + " should not include any spaces.\n"
+ + "> - Set the `timeInterval` (in minutes) to the value of `5` to"
+ + " correspond to the Timer Trigger of every `5` minutes. If the"
+ + " time interval needs to be modified, it is recommended to change"
+ + " the Function App Timer Trigger accordingly to prevent"
+ + " overlapping data ingestion.\n"
+ + "> - Note: If using Azure Key Vault, use"
+ + " the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema"
+ + " in place of the string values. Refer to [Key Vault references"
+ + " documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references)"
+ + " for further details.\n"
+ + "4. Once all application settings have been entered, click"
+ + " **Save**."),
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("")
+ .withDescription(
+ "**4. Configure the host.json**.\n\n"
+ + "Due to the potentially large amount of Qualys host detection"
+ + " data being ingested, it can cause the execution time to surpass"
+ + " the default Function App timeout of five (5) minutes. Increase"
+ + " the default timeout duration to the maximum of ten (10)"
+ + " minutes, under the Consumption Plan, to allow more time for the"
+ + " Function App to execute.\n\n"
+ + "1. In the Function App, select the Function App Name and select"
+ + " the **App Service Editor** blade.\n"
+ + "2. Click **Go** to open the editor, then select the"
+ + " **host.json** file under the **wwwroot** directory.\n"
+ + "3. Add the line `\"functionTimeout\": \"00:10:00\",` above the"
+ + " `managedDependancy` line \n"
+ + "4. Ensure **SAVED** appears on the top right corner of the"
+ + " editor, then exit the editor.\n\n"
+ + "> NOTE: If a longer timeout duration is required, consider"
+ + " upgrading to an [App Service"
+ + " Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)")))),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CreateAPIPolling.json
+ */
+ /**
+ * Sample code: Creates or updates a APIPolling data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAAPIPollingDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) throws IOException {
+ manager
+ .dataConnectors()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "316ec55e-7138-4d63-ab18-90c8a60fd1c8",
+ new CodelessApiPollingDataConnector()
+ .withConnectorUiConfig(
+ new CodelessUiConnectorConfigProperties()
+ .withTitle("GitHub Enterprise Audit Log")
+ .withPublisher("GitHub")
+ .withDescriptionMarkdown(
+ "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.")
+ .withGraphQueriesTableName("GitHubAuditLogPolling_CL")
+ .withGraphQueries(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesGraphQueriesItem()
+ .withMetricName("Total events received")
+ .withLegend("GitHub audit log events")
+ .withBaseQuery("{{graphQueriesTableName}}")))
+ .withSampleQueries(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesSampleQueriesItem()
+ .withDescription("All logs")
+ .withQuery("{{graphQueriesTableName}}\n | take 10 ")))
+ .withDataTypes(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesDataTypesItem()
+ .withName("{{graphQueriesTableName}}")
+ .withLastDataReceivedQuery(
+ "{{graphQueriesTableName}}\n"
+ + " | summarize Time = max(TimeGenerated)\n"
+ + " | where isnotempty(Time)")))
+ .withConnectivityCriteria(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem()
+ .withType(ConnectivityType.fromString("SentinelKindsV2"))
+ .withValue(Arrays.asList())))
+ .withAvailability(new Availability().withStatus(AvailabilityStatus.ONE).withIsPreview(true))
+ .withPermissions(
+ new Permissions()
+ .withResourceProvider(
+ Arrays
+ .asList(
+ new PermissionsResourceProviderItem()
+ .withProvider(
+ ProviderName.MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES)
+ .withPermissionsDisplayText(
+ "read and write permissions are required.")
+ .withProviderDisplayName("Workspace")
+ .withScope(PermissionProviderScope.WORKSPACE)
+ .withRequiredPermissions(
+ new RequiredPermissions()
+ .withWrite(true)
+ .withRead(true)
+ .withDelete(true))))
+ .withCustoms(
+ Arrays
+ .asList(
+ new PermissionsCustomsItem()
+ .withName("GitHub API personal token Key")
+ .withDescription(
+ "You need access to GitHub personal token, the key should have"
+ + " 'admin:org' scope"))))
+ .withInstructionSteps(
+ Arrays
+ .asList(
+ new CodelessUiConnectorConfigPropertiesInstructionStepsItem()
+ .withTitle("Connect GitHub Enterprise Audit Log to Azure Sentinel")
+ .withDescription(
+ "Enable GitHub audit Logs. \n"
+ + " Follow"
+ + " [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)"
+ + " to create or find your personal key")
+ .withInstructions(
+ Arrays
+ .asList(
+ new InstructionStepsInstructionsItem()
+ .withParameters(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"enable\":\"true\",\"userRequestPlaceHoldersInput\":[{\"displayText\":\"Organization"
+ + " Name\",\"placeHolderName\":\"{{placeHolder1}}\",\"placeHolderValue\":\"\",\"requestObjectKey\":\"apiEndpoint\"}]}",
+ Object.class,
+ SerializerEncoding.JSON))
+ .withType(SettingType.fromString("APIKey")))))))
+ .withPollingConfig(
+ new CodelessConnectorPollingConfigProperties()
+ .withAuth(
+ new CodelessConnectorPollingAuthProperties()
+ .withAuthType("APIKey")
+ .withApiKeyName("Authorization")
+ .withApiKeyIdentifier("token"))
+ .withRequest(
+ new CodelessConnectorPollingRequestProperties()
+ .withApiEndpoint("https://api.github.com/organizations/{{placeHolder1}}/audit-log")
+ .withRateLimitQps(50)
+ .withQueryWindowInMin(15)
+ .withHttpMethod("Get")
+ .withQueryTimeFormat("yyyy-MM-ddTHH:mm:ssZ")
+ .withRetryCount(2)
+ .withTimeoutInSeconds(60)
+ .withHeaders(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"Accept\":\"application/json\",\"User-Agent\":\"Scuba\"}",
+ Object.class,
+ SerializerEncoding.JSON))
+ .withQueryParameters(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"phrase\":\"created:{_QueryWindowStartTime}..{_QueryWindowEndTime}\"}",
+ Object.class,
+ SerializerEncoding.JSON)))
+ .withPaging(
+ new CodelessConnectorPollingPagingProperties()
+ .withPagingType("LinkHeader")
+ .withPageSizeParaName("per_page"))
+ .withResponse(
+ new CodelessConnectorPollingResponseProperties()
+ .withEventsJsonPaths(Arrays.asList("$")))),
+ Context.NONE);
+ }
+}
+```
+
+### DataConnectors_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DataConnectors Delete. */
+public final class DataConnectorsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/DeleteGenericUI.json
+ */
+ /**
+ * Sample code: Delete a GenericUI data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAGenericUIDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .deleteWithResponse("myRg", "myWorkspace", "316ec55e-7138-4d63-ab18-90c8a60fd1c8", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json
+ */
+ /**
+ * Sample code: Delete an Office365 data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAnOffice365DataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .deleteWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/DeleteAPIPolling.json
+ */
+ /**
+ * Sample code: Delete a APIPolling data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAAPIPollingDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .deleteWithResponse("myRg", "myWorkspace", "316ec55e-7138-4d63-ab18-90c8a60fd1c8", Context.NONE);
+ }
+}
+```
+
+### DataConnectors_Disconnect
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DataConnectors Disconnect. */
+public final class DataConnectorsDisconnectSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/DisconnectAPIPolling.json
+ */
+ /**
+ * Sample code: Disconnect an APIPolling data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void disconnectAnAPIPollingDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .disconnectWithResponse("myRg", "myWorkspace", "316ec55e-7138-4d63-ab18-90c8a60fd1c8", Context.NONE);
+ }
+}
+```
+
+### DataConnectors_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DataConnectors Get. */
+public final class DataConnectorsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetGenericUI.json
+ */
+ /**
+ * Sample code: Get a GenericUI data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAGenericUIDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "316ec55e-7138-4d63-ab18-90c8a60fd1c8", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json
+ */
+ /**
+ * Sample code: Get a Office ATP data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAOfficeATPDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "3d3e955e-33eb-401d-89a7-251c81ddd660", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json
+ */
+ /**
+ * Sample code: Get a MCAS data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMCASDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "b96d014d-b5c2-4a01-9aba-a8058f629d42", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json
+ */
+ /**
+ * Sample code: Get a TI Taxii data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getATITaxiiDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "c39bb458-02a7-4b3f-b0c8-71a1d2692652", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json
+ */
+ /**
+ * Sample code: Get a MicrosoftThreatIntelligence data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMicrosoftThreatIntelligenceDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "c345bf40-8509-4ed2-b947-50cb773aaf04", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json
+ */
+ /**
+ * Sample code: Get a ASC data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAASCDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json
+ */
+ /**
+ * Sample code: Get a TI data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getATIDataConnector(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "c345bf40-8509-4ed2-b947-50cb773aaf04", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json
+ */
+ /**
+ * Sample code: Get an AwsCloudTrail data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnAwsCloudTrailDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "c345bf40-8509-4ed2-b947-50cb773aaf04", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json
+ */
+ /**
+ * Sample code: Get a MDATP data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMDATPDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "06b3ccb8-1384-4bcc-aec7-852f6d57161b", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json
+ */
+ /**
+ * Sample code: Get a MicrosoftThreatProtection data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMicrosoftThreatProtectionDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "c345bf40-8509-4ed2-b947-50cb773aaf04", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json
+ */
+ /**
+ * Sample code: Get an AAD data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnAADDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json
+ */
+ /**
+ * Sample code: Get a Office IRM data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAOfficeIRMDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "3d3e955e-33eb-401d-89a7-251c81ddd660", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json
+ */
+ /**
+ * Sample code: Get an AATP data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnAATPDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "07e42cb3-e658-4e90-801c-efa0f29d3d44", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetAPIPolling.json
+ */
+ /**
+ * Sample code: Get a APIPolling data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAAPIPollingDataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "316ec55e-7138-4d63-ab18-90c8a60fd1c8", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json
+ */
+ /**
+ * Sample code: Get a Dynamics365 data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getADynamics365DataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "c2541efb-c9a6-47fe-9501-87d1017d1512", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json
+ */
+ /**
+ * Sample code: Get an Office365 data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnOffice365DataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json
+ */
+ /**
+ * Sample code: Get an Aws S3 data connector.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnAwsS3DataConnector(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectors()
+ .getWithResponse("myRg", "myWorkspace", "afef3743-0c88-469c-84ff-ca2e87dc1e48", Context.NONE);
+ }
+}
+```
+
+### DataConnectors_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DataConnectors List. */
+public final class DataConnectorsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/GetDataConnectors.json
+ */
+ /**
+ * Sample code: Get all data connectors.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllDataConnectors(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.dataConnectors().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### DataConnectorsCheckRequirementsOperation_Post
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.AadCheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.AscCheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.Dynamics365CheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.McasCheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.MstiCheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.MtpCheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.OfficeAtpCheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.OfficeIrmCheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.TICheckRequirements;
+import com.azure.resourcemanager.securityinsights.models.TiTaxiiCheckRequirements;
+
+/** Samples for DataConnectorsCheckRequirementsOperation Post. */
+public final class DataConnectorsCheckRequirementsOperationPostSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json
+ */
+ /**
+ * Sample code: Check requirements for OfficeATP.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForOfficeATP(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new OfficeAtpCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json
+ */
+ /**
+ * Sample code: Check requirements for AAD.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForAAD(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new AadCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json
+ */
+ /**
+ * Sample code: Check requirements for Mcas.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForMcas(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new McasCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json
+ */
+ /**
+ * Sample code: Check requirements for Mdatp.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForMdatp(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new McasCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json
+ */
+ /**
+ * Sample code: Check requirements for AAD - no authorization.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForAADNoAuthorization(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new AadCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json
+ */
+ /**
+ * Sample code: Check requirements for ASC.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForASC(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse(
+ "myRg",
+ "myWorkspace",
+ new AscCheckRequirements().withSubscriptionId("c0688291-89d7-4bed-87a2-a7b1bff43f4c"),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json
+ */
+ /**
+ * Sample code: Check requirements for MicrosoftThreatProtection.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForMicrosoftThreatProtection(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new MtpCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json
+ */
+ /**
+ * Sample code: Check requirements for TI Taxii.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForTITaxii(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new TiTaxiiCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json
+ */
+ /**
+ * Sample code: Check requirements for OfficeIRM.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForOfficeIRM(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new OfficeIrmCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json
+ */
+ /**
+ * Sample code: Check requirements for MicrosoftThreatIntelligence.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForMicrosoftThreatIntelligence(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new MstiCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json
+ */
+ /**
+ * Sample code: Check requirements for Dynamics365.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForDynamics365(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new Dynamics365CheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json
+ */
+ /**
+ * Sample code: Check requirements for AAD - no license.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForAADNoLicense(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new AadCheckRequirements(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json
+ */
+ /**
+ * Sample code: Check requirements for TI.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void checkRequirementsForTI(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .dataConnectorsCheckRequirementsOperations()
+ .postWithResponse("myRg", "myWorkspace", new TICheckRequirements(), Context.NONE);
+ }
+}
+```
+
+### DomainWhois_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DomainWhois Get. */
+public final class DomainWhoisGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/enrichment/GetWhoisByDomainName.json
+ */
+ /**
+ * Sample code: Get whois information for a single domain name.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getWhoisInformationForASingleDomainName(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.domainWhois().getWithResponse("myRg", "microsoft.com", Context.NONE);
+ }
+}
+```
+
+### Entities_Expand
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.EntityExpandParameters;
+import java.time.OffsetDateTime;
+import java.util.UUID;
+
+/** Samples for Entities Expand. */
+public final class EntitiesExpandSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/expand/PostExpandEntity.json
+ */
+ /**
+ * Sample code: Expand an entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void expandAnEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entities()
+ .expandWithResponse(
+ "myRg",
+ "myWorkspace",
+ "e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ new EntityExpandParameters()
+ .withEndTime(OffsetDateTime.parse("2019-05-26T00:00:00.000Z"))
+ .withExpansionId(UUID.fromString("a77992f3-25e9-4d01-99a4-5ff606cc410a"))
+ .withStartTime(OffsetDateTime.parse("2019-04-25T00:00:00.000Z")),
+ Context.NONE);
+ }
+}
+```
+
+### Entities_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Entities Get. */
+public final class EntitiesGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetSubmissionMailEntityById.json
+ */
+ /**
+ * Sample code: Get a submissionMail entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getASubmissionMailEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetDnsEntityById.json
+ */
+ /**
+ * Sample code: Get a dns entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getADnsEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "f4e74920-f2c0-4412-a45f-66d94fdf01f8", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetFileHashEntityById.json
+ */
+ /**
+ * Sample code: Get a file hash entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAFileHashEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "ea359fa6-c1e5-f878-e105-6344f3e399a1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetIoTDeviceEntityById.json
+ */
+ /**
+ * Sample code: Get an IoT device entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnIoTDeviceEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetRegistryKeyEntityById.json
+ */
+ /**
+ * Sample code: Get a registry key entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getARegistryKeyEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetMailboxEntityById.json
+ */
+ /**
+ * Sample code: Get a mailbox entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMailboxEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetMalwareEntityById.json
+ */
+ /**
+ * Sample code: Get a malware entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMalwareEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "af378b21-b4aa-4fe7-bc70-13f8621a322f", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetSecurityAlertEntityById.json
+ */
+ /**
+ * Sample code: Get a security alert entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getASecurityAlertEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "4aa486e0-6f85-41af-99ea-7acdce7be6c8", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetIpEntityById.json
+ */
+ /**
+ * Sample code: Get an ip entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnIpEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetAccountEntityById.json
+ */
+ /**
+ * Sample code: Get an account entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnAccountEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetCloudApplicationEntityById.json
+ */
+ /**
+ * Sample code: Get a cloud application entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getACloudApplicationEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetFileEntityById.json
+ */
+ /**
+ * Sample code: Get a file entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAFileEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "af378b21-b4aa-4fe7-bc70-13f8621a322f", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetRegistryValueEntityById.json
+ */
+ /**
+ * Sample code: Get a registry value entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getARegistryValueEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "dc44bd11-b348-4d76-ad29-37bf7aa41356", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetUrlEntityById.json
+ */
+ /**
+ * Sample code: Get a url entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAUrlEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetMailClusterEntityById.json
+ */
+ /**
+ * Sample code: Get a mailCluster entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMailClusterEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetSecurityGroupEntityById.json
+ */
+ /**
+ * Sample code: Get a security group entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getASecurityGroupEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetMailMessageEntityById.json
+ */
+ /**
+ * Sample code: Get a mailMessage entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAMailMessageEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetAzureResourceEntityById.json
+ */
+ /**
+ * Sample code: Get an azure resource entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnAzureResourceEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetHostEntityById.json
+ */
+ /**
+ * Sample code: Get a host entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAHostEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "e1d3d618-e11f-478b-98e3-bb381539a8e1", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetProcessEntityById.json
+ */
+ /**
+ * Sample code: Get a process entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAProcessEntity(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().getWithResponse("myRg", "myWorkspace", "7264685c-038c-42c6-948c-38e14ef1fb98", Context.NONE);
+ }
+}
+```
+
+### Entities_GetInsights
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.EntityGetInsightsParameters;
+import java.time.OffsetDateTime;
+import java.util.Arrays;
+import java.util.UUID;
+
+/** Samples for Entities GetInsights. */
+public final class EntitiesGetInsightsSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/insights/PostGetInsights.json
+ */
+ /**
+ * Sample code: Entity Insight.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void entityInsight(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entities()
+ .getInsightsWithResponse(
+ "myRg",
+ "myWorkspace",
+ "e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ new EntityGetInsightsParameters()
+ .withStartTime(OffsetDateTime.parse("2021-09-01T00:00:00.000Z"))
+ .withEndTime(OffsetDateTime.parse("2021-10-01T00:00:00.000Z"))
+ .withAddDefaultExtendedTimeRange(false)
+ .withInsightQueryIds(Arrays.asList(UUID.fromString("cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4"))),
+ Context.NONE);
+ }
+}
+```
+
+### Entities_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Entities List. */
+public final class EntitiesListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetEntities.json
+ */
+ /**
+ * Sample code: Get all entities.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllEntities(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entities().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### Entities_Queries
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.EntityItemQueryKind;
+
+/** Samples for Entities Queries. */
+public final class EntitiesQueriesSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/GetQueries.json
+ */
+ /**
+ * Sample code: Get Entity Query.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getEntityQuery(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entities()
+ .queriesWithResponse(
+ "myRg",
+ "myWorkspace",
+ "e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ EntityItemQueryKind.INSIGHT,
+ Context.NONE);
+ }
+}
+```
+
+### EntitiesGetTimeline_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.EntityTimelineParameters;
+import java.time.OffsetDateTime;
+
+/** Samples for EntitiesGetTimeline List. */
+public final class EntitiesGetTimelineListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/timeline/PostTimelineEntity.json
+ */
+ /**
+ * Sample code: Entity timeline.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void entityTimeline(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entitiesGetTimelines()
+ .listWithResponse(
+ "myRg",
+ "myWorkspace",
+ "e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ new EntityTimelineParameters()
+ .withStartTime(OffsetDateTime.parse("2021-09-01T00:00:00.000Z"))
+ .withEndTime(OffsetDateTime.parse("2021-10-01T00:00:00.000Z"))
+ .withNumberOfBucket(4),
+ Context.NONE);
+ }
+}
+```
+
+### EntitiesRelations_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for EntitiesRelations List. */
+public final class EntitiesRelationsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/relations/GetAllEntityRelations.json
+ */
+ /**
+ * Sample code: Get all relations of an entity.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllRelationsOfAnEntity(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entitiesRelations()
+ .list("myRg", "myWorkspace", "afbd324f-6c48-459c-8710-8d1e1cd03812", null, null, null, null, Context.NONE);
+ }
+}
+```
+
+### EntityQueries_CreateOrUpdate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.ActivityCustomEntityQuery;
+import com.azure.resourcemanager.securityinsights.models.ActivityEntityQueriesPropertiesQueryDefinitions;
+import com.azure.resourcemanager.securityinsights.models.EntityType;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for EntityQueries CreateOrUpdate. */
+public final class EntityQueriesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entityQueries/CreateEntityQueryActivity.json
+ */
+ /**
+ * Sample code: Creates or updates an Activity entity query.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnActivityEntityQuery(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entityQueries()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "07da3cc8-c8ad-4710-a44e-334cdcb7882b",
+ new ActivityCustomEntityQuery()
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withTitle("An account was deleted on this host")
+ .withContent("On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'")
+ .withDescription("Account deleted on host")
+ .withQueryDefinitions(
+ new ActivityEntityQueriesPropertiesQueryDefinitions()
+ .withQuery(
+ "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string,"
+ + " v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\n"
+ + "SecurityEvent\n"
+ + "| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n"
+ + "// parsing for Host to handle variety of conventions coming from data\n"
+ + "| extend Host_HostName = case(\n"
+ + "Computer has '@', tostring(split(Computer, '@')[0]),\n"
+ + "Computer has '\\\\', tostring(split(Computer, '\\\\')[1]),\n"
+ + "Computer has '.', tostring(split(Computer, '.')[0]),\n"
+ + "Computer\n"
+ + ")\n"
+ + "| extend Host_NTDomain = case(\n"
+ + "Computer has '\\\\', tostring(split(Computer, '\\\\')[0]), \n"
+ + "Computer has '.', tostring(split(Computer, '.')[-2]), \n"
+ + "Computer\n"
+ + ")\n"
+ + "| extend Host_DnsDomain = case(\n"
+ + "Computer has '\\\\', tostring(split(Computer, '\\\\')[0]), \n"
+ + "Computer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \n"
+ + "Computer\n"
+ + ")\n"
+ + "| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \n"
+ + "or (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \n"
+ + "or v_Host_AzureID =~ _ResourceId \n"
+ + "or v_Host_OMSAgentID == SourceComputerId\n"
+ + "| project TimeGenerated, EventID, Activity, Computer, TargetAccount,"
+ + " TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid,"
+ + " _ResourceId, SourceComputerId\n"
+ + "| extend AddedBy = SubjectUserName\n"
+ + "// Future support for Activities\n"
+ + "| extend timestamp = TimeGenerated, HostCustomEntity = Computer,"
+ + " AccountCustomEntity = TargetAccount\n"
+ + "};\n"
+ + "GetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}',"
+ + " '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n"
+ + " \n"
+ + "| where EventID == 4726 "))
+ .withInputEntityType(EntityType.HOST)
+ .withRequiredInputFieldsSets(
+ Arrays
+ .asList(
+ Arrays.asList("Host_HostName", "Host_NTDomain"),
+ Arrays.asList("Host_HostName", "Host_DnsDomain"),
+ Arrays.asList("Host_AzureID"),
+ Arrays.asList("Host_OMSAgentID")))
+ .withEntitiesFilter(mapOf("Host_OsFamily", Arrays.asList("Windows")))
+ .withEnabled(true),
+ Context.NONE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### EntityQueries_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for EntityQueries Delete. */
+public final class EntityQueriesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entityQueries/DeleteEntityQuery.json
+ */
+ /**
+ * Sample code: Delete an entity query.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAnEntityQuery(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entityQueries()
+ .deleteWithResponse("myRg", "myWorkspace", "07da3cc8-c8ad-4710-a44e-334cdcb7882b", Context.NONE);
+ }
+}
+```
+
+### EntityQueries_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for EntityQueries Get. */
+public final class EntityQueriesGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entityQueries/GetActivityEntityQueryById.json
+ */
+ /**
+ * Sample code: Get an Activity entity query.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnActivityEntityQuery(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entityQueries()
+ .getWithResponse("myRg", "myWorkspace", "07da3cc8-c8ad-4710-a44e-334cdcb7882b", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json
+ */
+ /**
+ * Sample code: Get an Expansion entity query.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnExpansionEntityQuery(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entityQueries()
+ .getWithResponse("myRg", "myWorkspace", "07da3cc8-c8ad-4710-a44e-334cdcb7882b", Context.NONE);
+ }
+}
+```
+
+### EntityQueries_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.EntityQueriesKind;
+
+/** Samples for EntityQueries List. */
+public final class EntityQueriesListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entityQueries/GetEntityQueries.json
+ */
+ /**
+ * Sample code: Get all entity queries.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllEntityQueries(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entityQueries().list("myRg", "myWorkspace", EntityQueriesKind.EXPANSION, Context.NONE);
+ }
+}
+```
+
+### EntityQueryTemplates_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for EntityQueryTemplates Get. */
+public final class EntityQueryTemplatesGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json
+ */
+ /**
+ * Sample code: Get an Activity entity query template.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnActivityEntityQueryTemplate(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entityQueryTemplates()
+ .getWithResponse("myRg", "myWorkspace", "07da3cc8-c8ad-4710-a44e-334cdcb7882b", Context.NONE);
+ }
+}
+```
+
+### EntityQueryTemplates_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.Constant69;
+
+/** Samples for EntityQueryTemplates List. */
+public final class EntityQueryTemplatesListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json
+ */
+ /**
+ * Sample code: Get all entity query templates.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllEntityQueryTemplates(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.entityQueryTemplates().list("myRg", "myWorkspace", Constant69.ACTIVITY, Context.NONE);
+ }
+}
+```
+
+### EntityRelations_GetRelation
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for EntityRelations GetRelation. */
+public final class EntityRelationsGetRelationSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/entities/relations/GetEntityRelationByName.json
+ */
+ /**
+ * Sample code: Get an entity relation.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnEntityRelation(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .entityRelations()
+ .getRelationWithResponse(
+ "myRg",
+ "myWorkspace",
+ "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ Context.NONE);
+ }
+}
+```
+
+### IncidentComments_CreateOrUpdate
+
+```java
+/** Samples for IncidentComments CreateOrUpdate. */
+public final class IncidentCommentsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/comments/CreateIncidentComment.json
+ */
+ /**
+ * Sample code: Creates or updates an incident comment.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnIncidentComment(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentComments()
+ .define("4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014")
+ .withExistingIncident("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5")
+ .withMessage("Some message")
+ .create();
+ }
+}
+```
+
+### IncidentComments_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for IncidentComments Delete. */
+public final class IncidentCommentsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/comments/DeleteIncidentComment.json
+ */
+ /**
+ * Sample code: Delete the incident comment.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteTheIncidentComment(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentComments()
+ .deleteWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ Context.NONE);
+ }
+}
+```
+
+### IncidentComments_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for IncidentComments Get. */
+public final class IncidentCommentsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/comments/GetIncidentCommentById.json
+ */
+ /**
+ * Sample code: Get an incident comment.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnIncidentComment(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentComments()
+ .getWithResponse(
+ "myRg",
+ "myWorkspace",
+ "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ Context.NONE);
+ }
+}
+```
+
+### IncidentComments_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for IncidentComments List. */
+public final class IncidentCommentsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/comments/GetAllIncidentComments.json
+ */
+ /**
+ * Sample code: Get all incident comments.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllIncidentComments(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentComments()
+ .list("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", null, null, null, null, Context.NONE);
+ }
+}
+```
+
+### IncidentRelations_CreateOrUpdate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.RelationInner;
+
+/** Samples for IncidentRelations CreateOrUpdate. */
+public final class IncidentRelationsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/relations/CreateIncidentRelation.json
+ */
+ /**
+ * Sample code: Creates or updates an incident relation.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnIncidentRelation(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentRelations()
+ .createOrUpdateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ new RelationInner()
+ .withRelatedResourceId(
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096"),
+ Context.NONE);
+ }
+}
+```
+
+### IncidentRelations_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for IncidentRelations Delete. */
+public final class IncidentRelationsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/relations/DeleteIncidentRelation.json
+ */
+ /**
+ * Sample code: Delete the incident relation.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteTheIncidentRelation(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentRelations()
+ .deleteWithResponse(
+ "myRg",
+ "myWorkspace",
+ "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ Context.NONE);
+ }
+}
+```
+
+### IncidentRelations_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for IncidentRelations Get. */
+public final class IncidentRelationsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/relations/GetIncidentRelationByName.json
+ */
+ /**
+ * Sample code: Get an incident relation.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnIncidentRelation(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentRelations()
+ .getWithResponse(
+ "myRg",
+ "myWorkspace",
+ "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ Context.NONE);
+ }
+}
+```
+
+### IncidentRelations_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for IncidentRelations List. */
+public final class IncidentRelationsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/relations/GetAllIncidentRelations.json
+ */
+ /**
+ * Sample code: Get all incident relations.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllIncidentRelations(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidentRelations()
+ .list("myRg", "myWorkspace", "afbd324f-6c48-459c-8710-8d1e1cd03812", null, null, null, null, Context.NONE);
+ }
+}
+```
+
+### Incidents_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.securityinsights.models.IncidentClassification;
+import com.azure.resourcemanager.securityinsights.models.IncidentClassificationReason;
+import com.azure.resourcemanager.securityinsights.models.IncidentOwnerInfo;
+import com.azure.resourcemanager.securityinsights.models.IncidentSeverity;
+import com.azure.resourcemanager.securityinsights.models.IncidentStatus;
+import java.time.OffsetDateTime;
+import java.util.UUID;
+
+/** Samples for Incidents CreateOrUpdate. */
+public final class IncidentsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/CreateIncident.json
+ */
+ /**
+ * Sample code: Creates or updates an incident.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAnIncident(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidents()
+ .define("73e01a99-5cd7-4139-a149-9f2736ff2ab5")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withClassification(IncidentClassification.FALSE_POSITIVE)
+ .withClassificationComment("Not a malicious activity")
+ .withClassificationReason(IncidentClassificationReason.INCORRECT_ALERT_LOGIC)
+ .withDescription("This is a demo incident")
+ .withFirstActivityTimeUtc(OffsetDateTime.parse("2019-01-01T13:00:30Z"))
+ .withLastActivityTimeUtc(OffsetDateTime.parse("2019-01-01T13:05:30Z"))
+ .withOwner(new IncidentOwnerInfo().withObjectId(UUID.fromString("2046feea-040d-4a46-9e2b-91c2941bfa70")))
+ .withSeverity(IncidentSeverity.HIGH)
+ .withStatus(IncidentStatus.CLOSED)
+ .withTitle("My incident")
+ .create();
+ }
+}
+```
+
+### Incidents_CreateTeam
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.TeamProperties;
+
+/** Samples for Incidents CreateTeam. */
+public final class IncidentsCreateTeamSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/CreateTeam.json
+ */
+ /**
+ * Sample code: Creates incident teams group.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsIncidentTeamsGroup(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidents()
+ .createTeamWithResponse(
+ "ambawolvese5resourcegroup",
+ "AmbaE5WestCentralUS",
+ "69a30280-6a4c-4aa7-9af0-5d63f335d600",
+ new TeamProperties().withTeamName("Team name").withTeamDescription("Team description"),
+ Context.NONE);
+ }
+}
+```
+
+### Incidents_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Incidents Delete. */
+public final class IncidentsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/DeleteIncident.json
+ */
+ /**
+ * Sample code: Delete an incident.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAnIncident(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidents()
+ .deleteWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### Incidents_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Incidents Get. */
+public final class IncidentsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/GetIncidentById.json
+ */
+ /**
+ * Sample code: Get an incident.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnIncident(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidents()
+ .getWithResponse("myRg", "myWorkspace", "73e01a99-5cd7-4139-a149-9f2736ff2ab5", Context.NONE);
+ }
+}
+```
+
+### Incidents_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Incidents List. */
+public final class IncidentsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/GetIncidents.json
+ */
+ /**
+ * Sample code: Get all incidents.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllIncidents(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.incidents().list("myRg", "myWorkspace", null, "properties/createdTimeUtc desc", 1, null, Context.NONE);
+ }
+}
+```
+
+### Incidents_ListAlerts
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Incidents ListAlerts. */
+public final class IncidentsListAlertsSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/GetAllIncidentAlerts.json
+ */
+ /**
+ * Sample code: Get all incident alerts.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllIncidentAlerts(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidents()
+ .listAlertsWithResponse("myRg", "myWorkspace", "afbd324f-6c48-459c-8710-8d1e1cd03812", Context.NONE);
+ }
+}
+```
+
+### Incidents_ListBookmarks
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Incidents ListBookmarks. */
+public final class IncidentsListBookmarksSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/GetAllIncidentBookmarks.json
+ */
+ /**
+ * Sample code: Get all incident bookmarks.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllIncidentBookmarks(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidents()
+ .listBookmarksWithResponse("myRg", "myWorkspace", "afbd324f-6c48-459c-8710-8d1e1cd03812", Context.NONE);
+ }
+}
+```
+
+### Incidents_ListEntities
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Incidents ListEntities. */
+public final class IncidentsListEntitiesSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/incidents/entities/GetAllIncidentEntities.json
+ */
+ /**
+ * Sample code: Gets all incident related entities.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getsAllIncidentRelatedEntities(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .incidents()
+ .listEntitiesWithResponse("myRg", "myWorkspace", "afbd324f-6c48-459c-8710-8d1e1cd03812", Context.NONE);
+ }
+}
+```
+
+### IpGeodata_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for IpGeodata Get. */
+public final class IpGeodataGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/enrichment/GetGeodataByIp.json
+ */
+ /**
+ * Sample code: Get geodata for a single IP address.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getGeodataForASingleIPAddress(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.ipGeodatas().getWithResponse("myRg", "1.2.3.4", Context.NONE);
+ }
+}
+```
+
+### Metadata_Create
+
+```java
+import com.azure.resourcemanager.securityinsights.models.Kind;
+import com.azure.resourcemanager.securityinsights.models.MetadataAuthor;
+import com.azure.resourcemanager.securityinsights.models.MetadataCategories;
+import com.azure.resourcemanager.securityinsights.models.MetadataDependencies;
+import com.azure.resourcemanager.securityinsights.models.MetadataSource;
+import com.azure.resourcemanager.securityinsights.models.MetadataSupport;
+import com.azure.resourcemanager.securityinsights.models.Operator;
+import com.azure.resourcemanager.securityinsights.models.SourceKind;
+import com.azure.resourcemanager.securityinsights.models.SupportTier;
+import java.time.LocalDate;
+import java.util.Arrays;
+
+/** Samples for Metadata Create. */
+public final class MetadataCreateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/metadata/PutMetadata.json
+ */
+ /**
+ * Sample code: Create/update full metadata.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createUpdateFullMetadata(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .metadatas()
+ .define("metadataName")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withContentId("c00ee137-7475-47c8-9cce-ec6f0f1bedd0")
+ .withParentId(
+ "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName")
+ .withVersion("1.0.0.0")
+ .withKind(Kind.ANALYTICS_RULE)
+ .withSource(
+ new MetadataSource()
+ .withKind(SourceKind.SOLUTION)
+ .withName("Contoso Solution 1.0")
+ .withSourceId("b688a130-76f4-4a07-bf57-762222a3cadf"))
+ .withAuthor(new MetadataAuthor().withName("User Name").withEmail("email@microsoft.com"))
+ .withSupport(
+ new MetadataSupport()
+ .withTier(SupportTier.PARTNER)
+ .withName("Microsoft")
+ .withEmail("support@microsoft.com")
+ .withLink("https://support.microsoft.com/"))
+ .withDependencies(
+ new MetadataDependencies()
+ .withOperator(Operator.AND)
+ .withCriteria(
+ Arrays
+ .asList(
+ new MetadataDependencies()
+ .withOperator(Operator.OR)
+ .withCriteria(
+ Arrays
+ .asList(
+ new MetadataDependencies()
+ .withContentId("045d06d0-ee72-4794-aba4-cf5646e4c756")
+ .withKind(Kind.DATA_CONNECTOR)
+ .withName("Microsoft Defender for Endpoint"),
+ new MetadataDependencies()
+ .withContentId("dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d")
+ .withKind(Kind.DATA_CONNECTOR),
+ new MetadataDependencies()
+ .withContentId("de4dca9b-eb37-47d6-a56f-b8b06b261593")
+ .withKind(Kind.DATA_CONNECTOR)
+ .withVersion("2.0"))),
+ new MetadataDependencies()
+ .withContentId("31ee11cc-9989-4de8-b176-5e0ef5c4dbab")
+ .withKind(Kind.PLAYBOOK)
+ .withVersion("1.0"),
+ new MetadataDependencies()
+ .withContentId("21ba424a-9438-4444-953a-7059539a7a1b")
+ .withKind(Kind.PARSER))))
+ .withCategories(
+ new MetadataCategories()
+ .withDomains(Arrays.asList("Application", "Security – Insider Threat"))
+ .withVerticals(Arrays.asList("Healthcare")))
+ .withProviders(Arrays.asList("Amazon", "Microsoft"))
+ .withFirstPublishDate(LocalDate.parse("2021-05-18"))
+ .withLastPublishDate(LocalDate.parse("2021-05-18"))
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/metadata/PutMetadataMinimal.json
+ */
+ /**
+ * Sample code: Create/update minimal metadata.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createUpdateMinimalMetadata(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .metadatas()
+ .define("metadataName")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withContentId("c00ee137-7475-47c8-9cce-ec6f0f1bedd0")
+ .withParentId(
+ "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName")
+ .withKind(Kind.ANALYTICS_RULE)
+ .create();
+ }
+}
+```
+
+### Metadata_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Metadata Delete. */
+public final class MetadataDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/metadata/DeleteMetadata.json
+ */
+ /**
+ * Sample code: Delete metadata.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteMetadata(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.metadatas().deleteWithResponse("myRg", "myWorkspace", "metadataName", Context.NONE);
+ }
+}
+```
+
+### Metadata_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Metadata Get. */
+public final class MetadataGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/metadata/GetMetadata.json
+ */
+ /**
+ * Sample code: Get single metadata by name.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getSingleMetadataByName(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.metadatas().getWithResponse("myRg", "myWorkspace", "metadataName", Context.NONE);
+ }
+}
+```
+
+### Metadata_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Metadata List. */
+public final class MetadataListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/metadata/GetAllMetadata.json
+ */
+ /**
+ * Sample code: Get all metadata.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllMetadata(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.metadatas().list("myRg", "myWorkspace", null, null, null, null, Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/metadata/GetAllMetadataOData.json
+ */
+ /**
+ * Sample code: Get all metadata with OData filter/orderby/skip/top.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllMetadataWithODataFilterOrderbySkipTop(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.metadatas().list("myRg", "myWorkspace", null, null, null, null, Context.NONE);
+ }
+}
+```
+
+### Metadata_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.MetadataAuthor;
+import com.azure.resourcemanager.securityinsights.models.MetadataModel;
+
+/** Samples for Metadata Update. */
+public final class MetadataUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/metadata/PatchMetadata.json
+ */
+ /**
+ * Sample code: Update metadata.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void updateMetadata(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ MetadataModel resource =
+ manager.metadatas().getWithResponse("myRg", "myWorkspace", "metadataName", Context.NONE).getValue();
+ resource
+ .update()
+ .withAuthor(new MetadataAuthor().withName("User Name").withEmail("email@microsoft.com"))
+ .apply();
+ }
+}
+```
+
+### OfficeConsents_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for OfficeConsents Delete. */
+public final class OfficeConsentsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/officeConsents/DeleteOfficeConsents.json
+ */
+ /**
+ * Sample code: Delete an office consent.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAnOfficeConsent(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .officeConsents()
+ .deleteWithResponse("myRg", "myWorkspace", "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", Context.NONE);
+ }
+}
+```
+
+### OfficeConsents_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for OfficeConsents Get. */
+public final class OfficeConsentsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/officeConsents/GetOfficeConsentsById.json
+ */
+ /**
+ * Sample code: Get an office consent.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAnOfficeConsent(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .officeConsents()
+ .getWithResponse("myRg", "myWorkspace", "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", Context.NONE);
+ }
+}
+```
+
+### OfficeConsents_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for OfficeConsents List. */
+public final class OfficeConsentsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/officeConsents/GetOfficeConsents.json
+ */
+ /**
+ * Sample code: Get all office consents.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllOfficeConsents(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.officeConsents().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### ProductSettings_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ProductSettings Delete. */
+public final class ProductSettingsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/settings/DeleteEyesOnSetting.json
+ */
+ /**
+ * Sample code: Delete EyesOn settings.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteEyesOnSettings(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.productSettings().deleteWithResponse("myRg", "myWorkspace", "EyesOn", Context.NONE);
+ }
+}
+```
+
+### ProductSettings_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ProductSettings Get. */
+public final class ProductSettingsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/settings/GetEyesOnSetting.json
+ */
+ /**
+ * Sample code: Get EyesOn settings.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getEyesOnSettings(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.productSettings().getWithResponse("myRg", "myWorkspace", "EyesOn", Context.NONE);
+ }
+}
+```
+
+### ProductSettings_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ProductSettings List. */
+public final class ProductSettingsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/settings/GetAllSettings.json
+ */
+ /**
+ * Sample code: Get all settings.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllSettings(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.productSettings().listWithResponse("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### ProductSettings_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.EyesOn;
+
+/** Samples for ProductSettings Update. */
+public final class ProductSettingsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/settings/UpdateEyesOnSetting.json
+ */
+ /**
+ * Sample code: Update EyesOn settings.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void updateEyesOnSettings(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .productSettings()
+ .updateWithResponse(
+ "myRg",
+ "myWorkspace",
+ "EyesOn",
+ new EyesOn().withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\""),
+ Context.NONE);
+ }
+}
+```
+
+### SentinelOnboardingStates_Create
+
+```java
+/** Samples for SentinelOnboardingStates Create. */
+public final class SentinelOnboardingStatesCreateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json
+ */
+ /**
+ * Sample code: Create Sentinel onboarding state.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createSentinelOnboardingState(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .sentinelOnboardingStates()
+ .define("default")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withCustomerManagedKey(false)
+ .create();
+ }
+}
+```
+
+### SentinelOnboardingStates_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SentinelOnboardingStates Delete. */
+public final class SentinelOnboardingStatesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json
+ */
+ /**
+ * Sample code: Delete Sentinel onboarding state.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteSentinelOnboardingState(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.sentinelOnboardingStates().deleteWithResponse("myRg", "myWorkspace", "default", Context.NONE);
+ }
+}
+```
+
+### SentinelOnboardingStates_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SentinelOnboardingStates Get. */
+public final class SentinelOnboardingStatesGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json
+ */
+ /**
+ * Sample code: Get Sentinel onboarding state.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getSentinelOnboardingState(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.sentinelOnboardingStates().getWithResponse("myRg", "myWorkspace", "default", Context.NONE);
+ }
+}
+```
+
+### SentinelOnboardingStates_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SentinelOnboardingStates List. */
+public final class SentinelOnboardingStatesListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json
+ */
+ /**
+ * Sample code: Get all Sentinel onboarding states.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllSentinelOnboardingStates(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.sentinelOnboardingStates().listWithResponse("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### SourceControl_ListRepositories
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.RepoType;
+
+/** Samples for SourceControl ListRepositories. */
+public final class SourceControlListRepositoriesSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/repositories/GetRepositories.json
+ */
+ /**
+ * Sample code: Get repository list.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getRepositoryList(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.sourceControls().listRepositories("myRg", "myWorkspace", RepoType.GITHUB, Context.NONE);
+ }
+}
+```
+
+### SourceControlsOperation_Create
+
+```java
+import com.azure.resourcemanager.securityinsights.models.ContentPathMap;
+import com.azure.resourcemanager.securityinsights.models.ContentType;
+import com.azure.resourcemanager.securityinsights.models.RepoType;
+import com.azure.resourcemanager.securityinsights.models.Repository;
+import java.util.Arrays;
+
+/** Samples for SourceControlsOperation Create. */
+public final class SourceControlsOperationCreateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/sourcecontrols/CreateSourceControl.json
+ */
+ /**
+ * Sample code: Creates a source control.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsASourceControl(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .sourceControlsOperations()
+ .define("789e0c1f-4a3d-43ad-809c-e713b677b04a")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withDisplayName("My Source Control")
+ .withDescription("This is a source control")
+ .withRepoType(RepoType.GITHUB)
+ .withContentTypes(Arrays.asList(ContentType.fromString("AnalyticRules"), ContentType.WORKBOOK))
+ .withRepository(
+ new Repository()
+ .withUrl("https://github.com/user/repo")
+ .withBranch("master")
+ .withDisplayUrl("https://github.com/user/repo")
+ .withPathMapping(
+ Arrays
+ .asList(
+ new ContentPathMap()
+ .withContentType(ContentType.fromString("AnalyticRules"))
+ .withPath("path/to/rules"),
+ new ContentPathMap()
+ .withContentType(ContentType.WORKBOOK)
+ .withPath("path/to/workbooks"))))
+ .create();
+ }
+}
+```
+
+### SourceControlsOperation_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SourceControlsOperation Delete. */
+public final class SourceControlsOperationDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/sourcecontrols/DeleteSourceControl.json
+ */
+ /**
+ * Sample code: Delete a source control.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteASourceControl(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .sourceControlsOperations()
+ .deleteWithResponse("myRg", "myWorkspace", "789e0c1f-4a3d-43ad-809c-e713b677b04a", Context.NONE);
+ }
+}
+```
+
+### SourceControlsOperation_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SourceControlsOperation Get. */
+public final class SourceControlsOperationGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/sourcecontrols/GetSourceControlById.json
+ */
+ /**
+ * Sample code: Get a source control.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getASourceControl(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .sourceControlsOperations()
+ .getWithResponse("myRg", "myWorkspace", "789e0c1f-4a3d-43ad-809c-e713b677b04a", Context.NONE);
+ }
+}
+```
+
+### SourceControlsOperation_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SourceControlsOperation List. */
+public final class SourceControlsOperationListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/sourcecontrols/GetSourceControls.json
+ */
+ /**
+ * Sample code: Get all source controls.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllSourceControls(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.sourceControlsOperations().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicator_AppendTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceAppendTags;
+import java.util.Arrays;
+
+/** Samples for ThreatIntelligenceIndicator AppendTags. */
+public final class ThreatIntelligenceIndicatorAppendTagsSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json
+ */
+ /**
+ * Sample code: Append tags to a threat intelligence indicator.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void appendTagsToAThreatIntelligenceIndicator(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicators()
+ .appendTagsWithResponse(
+ "myRg",
+ "myWorkspace",
+ "d9cd6f0b-96b9-3984-17cd-a779d1e15a93",
+ new ThreatIntelligenceAppendTags().withThreatIntelligenceTags(Arrays.asList("tag1", "tag2")),
+ Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicator_Create
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceIndicatorModelForRequestBody;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceResourceKindEnum;
+import java.util.Arrays;
+
+/** Samples for ThreatIntelligenceIndicator Create. */
+public final class ThreatIntelligenceIndicatorCreateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json
+ */
+ /**
+ * Sample code: Update a threat Intelligence indicator.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void updateAThreatIntelligenceIndicator(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicators()
+ .createWithResponse(
+ "myRg",
+ "myWorkspace",
+ "d9cd6f0b-96b9-3984-17cd-a779d1e15a93",
+ new ThreatIntelligenceIndicatorModelForRequestBody()
+ .withKind(ThreatIntelligenceResourceKindEnum.INDICATOR)
+ .withThreatIntelligenceTags(Arrays.asList("new schema"))
+ .withSource("Azure Sentinel")
+ .withDisplayName("new schema")
+ .withDescription("debugging indicators")
+ .withPattern("[url:value = 'https://www.contoso.com']")
+ .withPatternType("url")
+ .withKillChainPhases(Arrays.asList())
+ .withCreatedByRef("contoso@contoso.com")
+ .withExternalReferences(Arrays.asList())
+ .withGranularMarkings(Arrays.asList())
+ .withLabels(Arrays.asList())
+ .withRevoked(false)
+ .withConfidence(78)
+ .withThreatTypes(Arrays.asList("compromised"))
+ .withValidFrom("2020-04-15T17:44:00.114052Z")
+ .withValidUntil("")
+ .withModified(""),
+ Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicator_CreateIndicator
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceIndicatorModelForRequestBody;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceResourceKindEnum;
+import java.util.Arrays;
+
+/** Samples for ThreatIntelligenceIndicator CreateIndicator. */
+public final class ThreatIntelligenceIndicatorCreateIndicatorSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/CreateThreatIntelligence.json
+ */
+ /**
+ * Sample code: Create a new Threat Intelligence.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createANewThreatIntelligence(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicators()
+ .createIndicatorWithResponse(
+ "myRg",
+ "myWorkspace",
+ new ThreatIntelligenceIndicatorModelForRequestBody()
+ .withKind(ThreatIntelligenceResourceKindEnum.INDICATOR)
+ .withThreatIntelligenceTags(Arrays.asList("new schema"))
+ .withSource("Azure Sentinel")
+ .withDisplayName("new schema")
+ .withDescription("debugging indicators")
+ .withPattern("[url:value = 'https://www.contoso.com']")
+ .withPatternType("url")
+ .withKillChainPhases(Arrays.asList())
+ .withCreatedByRef("contoso@contoso.com")
+ .withExternalReferences(Arrays.asList())
+ .withGranularMarkings(Arrays.asList())
+ .withLabels(Arrays.asList())
+ .withRevoked(false)
+ .withConfidence(78)
+ .withThreatTypes(Arrays.asList("compromised"))
+ .withValidFrom("2021-09-15T17:44:00.114052Z")
+ .withValidUntil("")
+ .withModified(""),
+ Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicator_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ThreatIntelligenceIndicator Delete. */
+public final class ThreatIntelligenceIndicatorDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json
+ */
+ /**
+ * Sample code: Delete a threat intelligence indicator.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAThreatIntelligenceIndicator(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicators()
+ .deleteWithResponse("myRg", "myWorkspace", "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicator_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ThreatIntelligenceIndicator Get. */
+public final class ThreatIntelligenceIndicatorGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json
+ */
+ /**
+ * Sample code: View a threat intelligence indicator by name.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void viewAThreatIntelligenceIndicatorByName(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicators()
+ .getWithResponse("myRg", "myWorkspace", "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicator_QueryIndicators
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceFilteringCriteria;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceSortingCriteria;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceSortingCriteriaEnum;
+import java.util.Arrays;
+
+/** Samples for ThreatIntelligenceIndicator QueryIndicators. */
+public final class ThreatIntelligenceIndicatorQueryIndicatorsSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/QueryThreatIntelligence.json
+ */
+ /**
+ * Sample code: Query threat intelligence indicators as per filtering criteria.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void queryThreatIntelligenceIndicatorsAsPerFilteringCriteria(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicators()
+ .queryIndicators(
+ "myRg",
+ "myWorkspace",
+ new ThreatIntelligenceFilteringCriteria()
+ .withPageSize(100)
+ .withMinConfidence(25)
+ .withMaxConfidence(80)
+ .withMinValidUntil("2021-04-05T17:44:00.114052Z")
+ .withMaxValidUntil("2021-04-25T17:44:00.114052Z")
+ .withSortBy(
+ Arrays
+ .asList(
+ new ThreatIntelligenceSortingCriteria()
+ .withItemKey("lastUpdatedTimeUtc")
+ .withSortOrder(ThreatIntelligenceSortingCriteriaEnum.DESCENDING)))
+ .withSources(Arrays.asList("Azure Sentinel")),
+ Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicator_ReplaceTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceIndicatorModelForRequestBody;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceResourceKindEnum;
+import java.util.Arrays;
+
+/** Samples for ThreatIntelligenceIndicator ReplaceTags. */
+public final class ThreatIntelligenceIndicatorReplaceTagsSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json
+ */
+ /**
+ * Sample code: Replace tags to a Threat Intelligence.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void replaceTagsToAThreatIntelligence(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicators()
+ .replaceTagsWithResponse(
+ "myRg",
+ "myWorkspace",
+ "d9cd6f0b-96b9-3984-17cd-a779d1e15a93",
+ new ThreatIntelligenceIndicatorModelForRequestBody()
+ .withKind(ThreatIntelligenceResourceKindEnum.INDICATOR)
+ .withEtag("\"0000262c-0000-0800-0000-5e9767060000\"")
+ .withThreatIntelligenceTags(Arrays.asList("patching tags")),
+ Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicatorMetrics_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ThreatIntelligenceIndicatorMetrics List. */
+public final class ThreatIntelligenceIndicatorMetricsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json
+ */
+ /**
+ * Sample code: Get threat intelligence indicators metrics.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getThreatIntelligenceIndicatorsMetrics(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.threatIntelligenceIndicatorMetrics().listWithResponse("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
+### ThreatIntelligenceIndicatorsOperation_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ThreatIntelligenceIndicatorsOperation List. */
+public final class ThreatIntelligenceIndicatorsOperationListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/threatintelligence/GetThreatIntelligence.json
+ */
+ /**
+ * Sample code: Get all threat intelligence indicators.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllThreatIntelligenceIndicators(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .threatIntelligenceIndicatorsOperations()
+ .list("myRg", "myWorkspace", null, null, null, null, Context.NONE);
+ }
+}
+```
+
+### WatchlistItems_CreateOrUpdate
+
+```java
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerEncoding;
+import java.io.IOException;
+
+/** Samples for WatchlistItems CreateOrUpdate. */
+public final class WatchlistItemsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/CreateWatchlistItem.json
+ */
+ /**
+ * Sample code: Creates or updates a watchlist item.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAWatchlistItem(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) throws IOException {
+ manager
+ .watchlistItems()
+ .define("82ba292c-dc97-4dfc-969d-d4dd9e666842")
+ .withExistingWatchlist("myRg", "myWorkspace", "highValueAsset")
+ .withEtag("0300bf09-0000-0000-0000-5c37296e0000")
+ .withItemsKeyValue(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"Business tier\":\"10.0.2.0/24\",\"Data tier\":\"10.0.2.0/24\",\"Gateway"
+ + " subnet\":\"10.0.255.224/27\",\"Private DMZ in\":\"10.0.0.0/27\",\"Public DMZ"
+ + " out\":\"10.0.0.96/27\",\"Web Tier\":\"10.0.1.0/24\"}",
+ Object.class,
+ SerializerEncoding.JSON))
+ .create();
+ }
+}
+```
+
+### WatchlistItems_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for WatchlistItems Delete. */
+public final class WatchlistItemsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/DeleteWatchlistItem.json
+ */
+ /**
+ * Sample code: Delete a watchlist Item.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAWatchlistItem(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .watchlistItems()
+ .deleteWithResponse(
+ "myRg", "myWorkspace", "highValueAsset", "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", Context.NONE);
+ }
+}
+```
+
+### WatchlistItems_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for WatchlistItems Get. */
+public final class WatchlistItemsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/GetWatchlistItemById.json
+ */
+ /**
+ * Sample code: Get a watchlist item.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAWatchlistItem(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .watchlistItems()
+ .getWithResponse(
+ "myRg", "myWorkspace", "highValueAsset", "3f8901fe-63d9-4875-9ad5-9fb3b8105797", Context.NONE);
+ }
+}
+```
+
+### WatchlistItems_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for WatchlistItems List. */
+public final class WatchlistItemsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/GetWatchlistItems.json
+ */
+ /**
+ * Sample code: Get all watchlist Items.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllWatchlistItems(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.watchlistItems().list("myRg", "myWorkspace", "highValueAsset", Context.NONE);
+ }
+}
+```
+
+### Watchlists_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.securityinsights.models.Source;
+
+/** Samples for Watchlists CreateOrUpdate. */
+public final class WatchlistsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json
+ */
+ /**
+ * Sample code: Creates or updates a watchlist and bulk creates watchlist items.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAWatchlistAndBulkCreatesWatchlistItems(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .watchlists()
+ .define("highValueAsset")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withDisplayName("High Value Assets Watchlist")
+ .withProvider("Microsoft")
+ .withSource(Source.LOCAL_FILE)
+ .withDescription("Watchlist from CSV content")
+ .withNumberOfLinesToSkip(1)
+ .withRawContent("This line will be skipped\nheader1,header2\nvalue1,value2")
+ .withItemsSearchKey("header1")
+ .withContentType("text/csv")
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/CreateWatchlist.json
+ */
+ /**
+ * Sample code: Creates or updates a watchlist.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void createsOrUpdatesAWatchlist(
+ com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager
+ .watchlists()
+ .define("highValueAsset")
+ .withExistingWorkspace("myRg", "myWorkspace")
+ .withEtag("\"0300bf09-0000-0000-0000-5c37296e0000\"")
+ .withDisplayName("High Value Assets Watchlist")
+ .withProvider("Microsoft")
+ .withSource(Source.LOCAL_FILE)
+ .withDescription("Watchlist from CSV content")
+ .withItemsSearchKey("header1")
+ .create();
+ }
+}
+```
+
+### Watchlists_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Watchlists Delete. */
+public final class WatchlistsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/DeleteWatchlist.json
+ */
+ /**
+ * Sample code: Delete a watchlist.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void deleteAWatchlist(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.watchlists().deleteWithResponse("myRg", "myWorkspace", "highValueAsset", Context.NONE);
+ }
+}
+```
+
+### Watchlists_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Watchlists Get. */
+public final class WatchlistsGetSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/GetWatchlistByAlias.json
+ */
+ /**
+ * Sample code: Get a watchlist.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAWatchlist(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.watchlists().getWithResponse("myRg", "myWorkspace", "highValueAsset", Context.NONE);
+ }
+}
+```
+
+### Watchlists_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Watchlists List. */
+public final class WatchlistsListSamples {
+ /*
+ * x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-09-01-preview/examples/watchlists/GetWatchlists.json
+ */
+ /**
+ * Sample code: Get all watchlists.
+ *
+ * @param manager Entry point to SecurityInsightsManager.
+ */
+ public static void getAllWatchlists(com.azure.resourcemanager.securityinsights.SecurityInsightsManager manager) {
+ manager.watchlists().list("myRg", "myWorkspace", Context.NONE);
+ }
+}
+```
+
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/pom.xml b/sdk/securityinsights/azure-resourcemanager-securityinsights/pom.xml
new file mode 100644
index 000000000000..daef37e39edc
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/pom.xml
@@ -0,0 +1,81 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-securityinsights
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for SecurityInsights Management
+ This package contains Microsoft Azure SDK for SecurityInsights Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider. Package tag package-preview-2021-09.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+ true
+ false
+
+
+
+
+
+ com.azure
+ azure-core
+ 1.24.0
+
+
+ com.azure
+ azure-core-management
+ 1.5.0
+
+
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.14.6
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/SecurityInsightsManager.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/SecurityInsightsManager.java
new file mode 100644
index 000000000000..278e6696e8f0
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/SecurityInsightsManager.java
@@ -0,0 +1,625 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.HttpPipelinePosition;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.fluent.SecurityInsights;
+import com.azure.resourcemanager.securityinsights.implementation.ActionsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.AlertRuleTemplatesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.AlertRulesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.AutomationRulesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.BookmarkOperationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.BookmarkRelationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.BookmarksImpl;
+import com.azure.resourcemanager.securityinsights.implementation.DataConnectorsCheckRequirementsOperationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.DataConnectorsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.DomainWhoisImpl;
+import com.azure.resourcemanager.securityinsights.implementation.EntitiesGetTimelinesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.EntitiesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.EntitiesRelationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.EntityQueriesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.EntityQueryTemplatesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.EntityRelationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.IncidentCommentsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.IncidentRelationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.IncidentsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.IpGeodatasImpl;
+import com.azure.resourcemanager.securityinsights.implementation.MetadatasImpl;
+import com.azure.resourcemanager.securityinsights.implementation.OfficeConsentsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.OperationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.ProductSettingsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.SecurityInsightsBuilder;
+import com.azure.resourcemanager.securityinsights.implementation.SentinelOnboardingStatesImpl;
+import com.azure.resourcemanager.securityinsights.implementation.SourceControlsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.SourceControlsOperationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.ThreatIntelligenceIndicatorMetricsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.ThreatIntelligenceIndicatorsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.ThreatIntelligenceIndicatorsOperationsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.WatchlistItemsImpl;
+import com.azure.resourcemanager.securityinsights.implementation.WatchlistsImpl;
+import com.azure.resourcemanager.securityinsights.models.Actions;
+import com.azure.resourcemanager.securityinsights.models.AlertRuleTemplates;
+import com.azure.resourcemanager.securityinsights.models.AlertRules;
+import com.azure.resourcemanager.securityinsights.models.AutomationRules;
+import com.azure.resourcemanager.securityinsights.models.BookmarkOperations;
+import com.azure.resourcemanager.securityinsights.models.BookmarkRelations;
+import com.azure.resourcemanager.securityinsights.models.Bookmarks;
+import com.azure.resourcemanager.securityinsights.models.DataConnectors;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorsCheckRequirementsOperations;
+import com.azure.resourcemanager.securityinsights.models.DomainWhois;
+import com.azure.resourcemanager.securityinsights.models.Entities;
+import com.azure.resourcemanager.securityinsights.models.EntitiesGetTimelines;
+import com.azure.resourcemanager.securityinsights.models.EntitiesRelations;
+import com.azure.resourcemanager.securityinsights.models.EntityQueries;
+import com.azure.resourcemanager.securityinsights.models.EntityQueryTemplates;
+import com.azure.resourcemanager.securityinsights.models.EntityRelations;
+import com.azure.resourcemanager.securityinsights.models.IncidentComments;
+import com.azure.resourcemanager.securityinsights.models.IncidentRelations;
+import com.azure.resourcemanager.securityinsights.models.Incidents;
+import com.azure.resourcemanager.securityinsights.models.IpGeodatas;
+import com.azure.resourcemanager.securityinsights.models.Metadatas;
+import com.azure.resourcemanager.securityinsights.models.OfficeConsents;
+import com.azure.resourcemanager.securityinsights.models.Operations;
+import com.azure.resourcemanager.securityinsights.models.ProductSettings;
+import com.azure.resourcemanager.securityinsights.models.SentinelOnboardingStates;
+import com.azure.resourcemanager.securityinsights.models.SourceControls;
+import com.azure.resourcemanager.securityinsights.models.SourceControlsOperations;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceIndicatorMetrics;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceIndicators;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceIndicatorsOperations;
+import com.azure.resourcemanager.securityinsights.models.WatchlistItems;
+import com.azure.resourcemanager.securityinsights.models.Watchlists;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * Entry point to SecurityInsightsManager. API spec for Microsoft.SecurityInsights (Azure Security Insights) resource
+ * provider.
+ */
+public final class SecurityInsightsManager {
+ private AlertRules alertRules;
+
+ private Actions actions;
+
+ private AlertRuleTemplates alertRuleTemplates;
+
+ private AutomationRules automationRules;
+
+ private Bookmarks bookmarks;
+
+ private BookmarkRelations bookmarkRelations;
+
+ private BookmarkOperations bookmarkOperations;
+
+ private IpGeodatas ipGeodatas;
+
+ private DomainWhois domainWhois;
+
+ private EntityQueries entityQueries;
+
+ private Entities entities;
+
+ private EntitiesGetTimelines entitiesGetTimelines;
+
+ private EntitiesRelations entitiesRelations;
+
+ private EntityRelations entityRelations;
+
+ private Incidents incidents;
+
+ private IncidentComments incidentComments;
+
+ private IncidentRelations incidentRelations;
+
+ private Metadatas metadatas;
+
+ private SentinelOnboardingStates sentinelOnboardingStates;
+
+ private ProductSettings productSettings;
+
+ private SourceControls sourceControls;
+
+ private SourceControlsOperations sourceControlsOperations;
+
+ private Watchlists watchlists;
+
+ private WatchlistItems watchlistItems;
+
+ private DataConnectors dataConnectors;
+
+ private DataConnectorsCheckRequirementsOperations dataConnectorsCheckRequirementsOperations;
+
+ private ThreatIntelligenceIndicators threatIntelligenceIndicators;
+
+ private ThreatIntelligenceIndicatorsOperations threatIntelligenceIndicatorsOperations;
+
+ private ThreatIntelligenceIndicatorMetrics threatIntelligenceIndicatorMetrics;
+
+ private Operations operations;
+
+ private OfficeConsents officeConsents;
+
+ private EntityQueryTemplates entityQueryTemplates;
+
+ private final SecurityInsights clientObject;
+
+ private SecurityInsightsManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new SecurityInsightsBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of SecurityInsights service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the SecurityInsights service API instance.
+ */
+ public static SecurityInsightsManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create SecurityInsightsManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new SecurityInsightsManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of SecurityInsights service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the SecurityInsights service API instance.
+ */
+ public SecurityInsightsManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.securityinsights")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new SecurityInsightsManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of AlertRules. */
+ public AlertRules alertRules() {
+ if (this.alertRules == null) {
+ this.alertRules = new AlertRulesImpl(clientObject.getAlertRules(), this);
+ }
+ return alertRules;
+ }
+
+ /** @return Resource collection API of Actions. */
+ public Actions actions() {
+ if (this.actions == null) {
+ this.actions = new ActionsImpl(clientObject.getActions(), this);
+ }
+ return actions;
+ }
+
+ /** @return Resource collection API of AlertRuleTemplates. */
+ public AlertRuleTemplates alertRuleTemplates() {
+ if (this.alertRuleTemplates == null) {
+ this.alertRuleTemplates = new AlertRuleTemplatesImpl(clientObject.getAlertRuleTemplates(), this);
+ }
+ return alertRuleTemplates;
+ }
+
+ /** @return Resource collection API of AutomationRules. */
+ public AutomationRules automationRules() {
+ if (this.automationRules == null) {
+ this.automationRules = new AutomationRulesImpl(clientObject.getAutomationRules(), this);
+ }
+ return automationRules;
+ }
+
+ /** @return Resource collection API of Bookmarks. */
+ public Bookmarks bookmarks() {
+ if (this.bookmarks == null) {
+ this.bookmarks = new BookmarksImpl(clientObject.getBookmarks(), this);
+ }
+ return bookmarks;
+ }
+
+ /** @return Resource collection API of BookmarkRelations. */
+ public BookmarkRelations bookmarkRelations() {
+ if (this.bookmarkRelations == null) {
+ this.bookmarkRelations = new BookmarkRelationsImpl(clientObject.getBookmarkRelations(), this);
+ }
+ return bookmarkRelations;
+ }
+
+ /** @return Resource collection API of BookmarkOperations. */
+ public BookmarkOperations bookmarkOperations() {
+ if (this.bookmarkOperations == null) {
+ this.bookmarkOperations = new BookmarkOperationsImpl(clientObject.getBookmarkOperations(), this);
+ }
+ return bookmarkOperations;
+ }
+
+ /** @return Resource collection API of IpGeodatas. */
+ public IpGeodatas ipGeodatas() {
+ if (this.ipGeodatas == null) {
+ this.ipGeodatas = new IpGeodatasImpl(clientObject.getIpGeodatas(), this);
+ }
+ return ipGeodatas;
+ }
+
+ /** @return Resource collection API of DomainWhois. */
+ public DomainWhois domainWhois() {
+ if (this.domainWhois == null) {
+ this.domainWhois = new DomainWhoisImpl(clientObject.getDomainWhois(), this);
+ }
+ return domainWhois;
+ }
+
+ /** @return Resource collection API of EntityQueries. */
+ public EntityQueries entityQueries() {
+ if (this.entityQueries == null) {
+ this.entityQueries = new EntityQueriesImpl(clientObject.getEntityQueries(), this);
+ }
+ return entityQueries;
+ }
+
+ /** @return Resource collection API of Entities. */
+ public Entities entities() {
+ if (this.entities == null) {
+ this.entities = new EntitiesImpl(clientObject.getEntities(), this);
+ }
+ return entities;
+ }
+
+ /** @return Resource collection API of EntitiesGetTimelines. */
+ public EntitiesGetTimelines entitiesGetTimelines() {
+ if (this.entitiesGetTimelines == null) {
+ this.entitiesGetTimelines = new EntitiesGetTimelinesImpl(clientObject.getEntitiesGetTimelines(), this);
+ }
+ return entitiesGetTimelines;
+ }
+
+ /** @return Resource collection API of EntitiesRelations. */
+ public EntitiesRelations entitiesRelations() {
+ if (this.entitiesRelations == null) {
+ this.entitiesRelations = new EntitiesRelationsImpl(clientObject.getEntitiesRelations(), this);
+ }
+ return entitiesRelations;
+ }
+
+ /** @return Resource collection API of EntityRelations. */
+ public EntityRelations entityRelations() {
+ if (this.entityRelations == null) {
+ this.entityRelations = new EntityRelationsImpl(clientObject.getEntityRelations(), this);
+ }
+ return entityRelations;
+ }
+
+ /** @return Resource collection API of Incidents. */
+ public Incidents incidents() {
+ if (this.incidents == null) {
+ this.incidents = new IncidentsImpl(clientObject.getIncidents(), this);
+ }
+ return incidents;
+ }
+
+ /** @return Resource collection API of IncidentComments. */
+ public IncidentComments incidentComments() {
+ if (this.incidentComments == null) {
+ this.incidentComments = new IncidentCommentsImpl(clientObject.getIncidentComments(), this);
+ }
+ return incidentComments;
+ }
+
+ /** @return Resource collection API of IncidentRelations. */
+ public IncidentRelations incidentRelations() {
+ if (this.incidentRelations == null) {
+ this.incidentRelations = new IncidentRelationsImpl(clientObject.getIncidentRelations(), this);
+ }
+ return incidentRelations;
+ }
+
+ /** @return Resource collection API of Metadatas. */
+ public Metadatas metadatas() {
+ if (this.metadatas == null) {
+ this.metadatas = new MetadatasImpl(clientObject.getMetadatas(), this);
+ }
+ return metadatas;
+ }
+
+ /** @return Resource collection API of SentinelOnboardingStates. */
+ public SentinelOnboardingStates sentinelOnboardingStates() {
+ if (this.sentinelOnboardingStates == null) {
+ this.sentinelOnboardingStates =
+ new SentinelOnboardingStatesImpl(clientObject.getSentinelOnboardingStates(), this);
+ }
+ return sentinelOnboardingStates;
+ }
+
+ /** @return Resource collection API of ProductSettings. */
+ public ProductSettings productSettings() {
+ if (this.productSettings == null) {
+ this.productSettings = new ProductSettingsImpl(clientObject.getProductSettings(), this);
+ }
+ return productSettings;
+ }
+
+ /** @return Resource collection API of SourceControls. */
+ public SourceControls sourceControls() {
+ if (this.sourceControls == null) {
+ this.sourceControls = new SourceControlsImpl(clientObject.getSourceControls(), this);
+ }
+ return sourceControls;
+ }
+
+ /** @return Resource collection API of SourceControlsOperations. */
+ public SourceControlsOperations sourceControlsOperations() {
+ if (this.sourceControlsOperations == null) {
+ this.sourceControlsOperations =
+ new SourceControlsOperationsImpl(clientObject.getSourceControlsOperations(), this);
+ }
+ return sourceControlsOperations;
+ }
+
+ /** @return Resource collection API of Watchlists. */
+ public Watchlists watchlists() {
+ if (this.watchlists == null) {
+ this.watchlists = new WatchlistsImpl(clientObject.getWatchlists(), this);
+ }
+ return watchlists;
+ }
+
+ /** @return Resource collection API of WatchlistItems. */
+ public WatchlistItems watchlistItems() {
+ if (this.watchlistItems == null) {
+ this.watchlistItems = new WatchlistItemsImpl(clientObject.getWatchlistItems(), this);
+ }
+ return watchlistItems;
+ }
+
+ /** @return Resource collection API of DataConnectors. */
+ public DataConnectors dataConnectors() {
+ if (this.dataConnectors == null) {
+ this.dataConnectors = new DataConnectorsImpl(clientObject.getDataConnectors(), this);
+ }
+ return dataConnectors;
+ }
+
+ /** @return Resource collection API of DataConnectorsCheckRequirementsOperations. */
+ public DataConnectorsCheckRequirementsOperations dataConnectorsCheckRequirementsOperations() {
+ if (this.dataConnectorsCheckRequirementsOperations == null) {
+ this.dataConnectorsCheckRequirementsOperations =
+ new DataConnectorsCheckRequirementsOperationsImpl(
+ clientObject.getDataConnectorsCheckRequirementsOperations(), this);
+ }
+ return dataConnectorsCheckRequirementsOperations;
+ }
+
+ /** @return Resource collection API of ThreatIntelligenceIndicators. */
+ public ThreatIntelligenceIndicators threatIntelligenceIndicators() {
+ if (this.threatIntelligenceIndicators == null) {
+ this.threatIntelligenceIndicators =
+ new ThreatIntelligenceIndicatorsImpl(clientObject.getThreatIntelligenceIndicators(), this);
+ }
+ return threatIntelligenceIndicators;
+ }
+
+ /** @return Resource collection API of ThreatIntelligenceIndicatorsOperations. */
+ public ThreatIntelligenceIndicatorsOperations threatIntelligenceIndicatorsOperations() {
+ if (this.threatIntelligenceIndicatorsOperations == null) {
+ this.threatIntelligenceIndicatorsOperations =
+ new ThreatIntelligenceIndicatorsOperationsImpl(
+ clientObject.getThreatIntelligenceIndicatorsOperations(), this);
+ }
+ return threatIntelligenceIndicatorsOperations;
+ }
+
+ /** @return Resource collection API of ThreatIntelligenceIndicatorMetrics. */
+ public ThreatIntelligenceIndicatorMetrics threatIntelligenceIndicatorMetrics() {
+ if (this.threatIntelligenceIndicatorMetrics == null) {
+ this.threatIntelligenceIndicatorMetrics =
+ new ThreatIntelligenceIndicatorMetricsImpl(clientObject.getThreatIntelligenceIndicatorMetrics(), this);
+ }
+ return threatIntelligenceIndicatorMetrics;
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of OfficeConsents. */
+ public OfficeConsents officeConsents() {
+ if (this.officeConsents == null) {
+ this.officeConsents = new OfficeConsentsImpl(clientObject.getOfficeConsents(), this);
+ }
+ return officeConsents;
+ }
+
+ /** @return Resource collection API of EntityQueryTemplates. */
+ public EntityQueryTemplates entityQueryTemplates() {
+ if (this.entityQueryTemplates == null) {
+ this.entityQueryTemplates = new EntityQueryTemplatesImpl(clientObject.getEntityQueryTemplates(), this);
+ }
+ return entityQueryTemplates;
+ }
+
+ /**
+ * @return Wrapped service client SecurityInsights providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ */
+ public SecurityInsights serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ActionsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ActionsClient.java
new file mode 100644
index 000000000000..da2168fd8f3d
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ActionsClient.java
@@ -0,0 +1,149 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.ActionResponseInner;
+import com.azure.resourcemanager.securityinsights.models.ActionRequest;
+
+/** An instance of this class provides access to all the operations defined in ActionsClient. */
+public interface ActionsClient {
+ /**
+ * Gets all actions of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all actions of alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAlertRule(String resourceGroupName, String workspaceName, String ruleId);
+
+ /**
+ * Gets all actions of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all actions of alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAlertRule(
+ String resourceGroupName, String workspaceName, String ruleId, Context context);
+
+ /**
+ * Gets the action of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param actionId Action ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the action of alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActionResponseInner get(String resourceGroupName, String workspaceName, String ruleId, String actionId);
+
+ /**
+ * Gets the action of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param actionId Action ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the action of alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String ruleId, String actionId, Context context);
+
+ /**
+ * Creates or updates the action of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param actionId Action ID.
+ * @param action The action.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return action for alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActionResponseInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String ruleId, String actionId, ActionRequest action);
+
+ /**
+ * Creates or updates the action of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param actionId Action ID.
+ * @param action The action.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return action for alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String ruleId,
+ String actionId,
+ ActionRequest action,
+ Context context);
+
+ /**
+ * Delete the action of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param actionId Action ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String ruleId, String actionId);
+
+ /**
+ * Delete the action of alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param actionId Action ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String ruleId, String actionId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AlertRuleTemplatesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AlertRuleTemplatesClient.java
new file mode 100644
index 000000000000..51ed485e1fbc
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AlertRuleTemplatesClient.java
@@ -0,0 +1,72 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.AlertRuleTemplateInner;
+
+/** An instance of this class provides access to all the operations defined in AlertRuleTemplatesClient. */
+public interface AlertRuleTemplatesClient {
+ /**
+ * Gets all alert rule templates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all alert rule templates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all alert rule templates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all alert rule templates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets the alert rule template.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param alertRuleTemplateId Alert rule template ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule template.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertRuleTemplateInner get(String resourceGroupName, String workspaceName, String alertRuleTemplateId);
+
+ /**
+ * Gets the alert rule template.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param alertRuleTemplateId Alert rule template ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule template.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String alertRuleTemplateId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AlertRulesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AlertRulesClient.java
new file mode 100644
index 000000000000..62111057e2ca
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AlertRulesClient.java
@@ -0,0 +1,133 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.AlertRuleInner;
+
+/** An instance of this class provides access to all the operations defined in AlertRulesClient. */
+public interface AlertRulesClient {
+ /**
+ * Gets all alert rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all alert rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all alert rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all alert rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets the alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertRuleInner get(String resourceGroupName, String workspaceName, String ruleId);
+
+ /**
+ * Gets the alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String ruleId, Context context);
+
+ /**
+ * Creates or updates the alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param alertRule The alert rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertRuleInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String ruleId, AlertRuleInner alertRule);
+
+ /**
+ * Creates or updates the alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param alertRule The alert rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String workspaceName, String ruleId, AlertRuleInner alertRule, Context context);
+
+ /**
+ * Delete the alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String ruleId);
+
+ /**
+ * Delete the alert rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param ruleId Alert rule ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String workspaceName, String ruleId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AutomationRulesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AutomationRulesClient.java
new file mode 100644
index 000000000000..9f7dfc343346
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/AutomationRulesClient.java
@@ -0,0 +1,138 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.AutomationRuleInner;
+
+/** An instance of this class provides access to all the operations defined in AutomationRulesClient. */
+public interface AutomationRulesClient {
+ /**
+ * Gets all automation rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all automation rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all automation rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all automation rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets the automation rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param automationRuleId Automation rule ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the automation rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutomationRuleInner get(String resourceGroupName, String workspaceName, String automationRuleId);
+
+ /**
+ * Gets the automation rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param automationRuleId Automation rule ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the automation rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String automationRuleId, Context context);
+
+ /**
+ * Creates or updates the automation rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param automationRuleId Automation rule ID.
+ * @param automationRule The automation rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents an automation rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutomationRuleInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String automationRuleId, AutomationRuleInner automationRule);
+
+ /**
+ * Creates or updates the automation rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param automationRuleId Automation rule ID.
+ * @param automationRule The automation rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents an automation rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String automationRuleId,
+ AutomationRuleInner automationRule,
+ Context context);
+
+ /**
+ * Delete the automation rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param automationRuleId Automation rule ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String automationRuleId);
+
+ /**
+ * Delete the automation rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param automationRuleId Automation rule ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String automationRuleId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarkOperationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarkOperationsClient.java
new file mode 100644
index 000000000000..3990b655bda7
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarkOperationsClient.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.BookmarkExpandResponseInner;
+import com.azure.resourcemanager.securityinsights.models.BookmarkExpandParameters;
+
+/** An instance of this class provides access to all the operations defined in BookmarkOperationsClient. */
+public interface BookmarkOperationsClient {
+ /**
+ * Expand an bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param parameters The parameters required to execute an expand operation on the given bookmark.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the entity expansion result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookmarkExpandResponseInner expand(
+ String resourceGroupName, String workspaceName, String bookmarkId, BookmarkExpandParameters parameters);
+
+ /**
+ * Expand an bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param parameters The parameters required to execute an expand operation on the given bookmark.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the entity expansion result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response expandWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String bookmarkId,
+ BookmarkExpandParameters parameters,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarkRelationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarkRelationsClient.java
new file mode 100644
index 000000000000..342609056f32
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarkRelationsClient.java
@@ -0,0 +1,161 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.RelationInner;
+
+/** An instance of this class provides access to all the operations defined in BookmarkRelationsClient. */
+public interface BookmarkRelationsClient {
+ /**
+ * Gets all bookmark relations.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all bookmark relations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, String bookmarkId);
+
+ /**
+ * Gets all bookmark relations.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param filter Filters the results, based on a Boolean condition. Optional.
+ * @param orderby Sorts the results. Optional.
+ * @param top Returns only the first n results. Optional.
+ * @param skipToken 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all bookmark relations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ String workspaceName,
+ String bookmarkId,
+ String filter,
+ String orderby,
+ Integer top,
+ String skipToken,
+ Context context);
+
+ /**
+ * Gets a bookmark relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param relationName Relation Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a bookmark relation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RelationInner get(String resourceGroupName, String workspaceName, String bookmarkId, String relationName);
+
+ /**
+ * Gets a bookmark relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param relationName Relation Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a bookmark relation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String bookmarkId, String relationName, Context context);
+
+ /**
+ * Creates the bookmark relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param relationName Relation Name.
+ * @param relation The relation model.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a relation between two resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RelationInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String bookmarkId, String relationName, RelationInner relation);
+
+ /**
+ * Creates the bookmark relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param relationName Relation Name.
+ * @param relation The relation model.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a relation between two resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String bookmarkId,
+ String relationName,
+ RelationInner relation,
+ Context context);
+
+ /**
+ * Delete the bookmark relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param relationName Relation Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String bookmarkId, String relationName);
+
+ /**
+ * Delete the bookmark relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param relationName Relation Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String bookmarkId, String relationName, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarksClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarksClient.java
new file mode 100644
index 000000000000..e39bc994fc12
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/BookmarksClient.java
@@ -0,0 +1,134 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.BookmarkInner;
+
+/** An instance of this class provides access to all the operations defined in BookmarksClient. */
+public interface BookmarksClient {
+ /**
+ * Gets all bookmarks.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all bookmarks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all bookmarks.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all bookmarks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets a bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a bookmark.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookmarkInner get(String resourceGroupName, String workspaceName, String bookmarkId);
+
+ /**
+ * Gets a bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a bookmark.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String bookmarkId, Context context);
+
+ /**
+ * Creates or updates the bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param bookmark The bookmark.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a bookmark in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookmarkInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String bookmarkId, BookmarkInner bookmark);
+
+ /**
+ * Creates or updates the bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param bookmark The bookmark.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a bookmark in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String workspaceName, String bookmarkId, BookmarkInner bookmark, Context context);
+
+ /**
+ * Delete the bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String bookmarkId);
+
+ /**
+ * Delete the bookmark.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param bookmarkId Bookmark ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String bookmarkId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DataConnectorsCheckRequirementsOperationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DataConnectorsCheckRequirementsOperationsClient.java
new file mode 100644
index 000000000000..a98aa56ff1ba
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DataConnectorsCheckRequirementsOperationsClient.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.DataConnectorRequirementsStateInner;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorsCheckRequirements;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DataConnectorsCheckRequirementsOperationsClient.
+ */
+public interface DataConnectorsCheckRequirementsOperationsClient {
+ /**
+ * Get requirements state for a data connector type.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorsCheckRequirements The parameters for requirements check message.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return requirements state for a data connector type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectorRequirementsStateInner post(
+ String resourceGroupName,
+ String workspaceName,
+ DataConnectorsCheckRequirements dataConnectorsCheckRequirements);
+
+ /**
+ * Get requirements state for a data connector type.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorsCheckRequirements The parameters for requirements check message.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return requirements state for a data connector type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response postWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ DataConnectorsCheckRequirements dataConnectorsCheckRequirements,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DataConnectorsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DataConnectorsClient.java
new file mode 100644
index 000000000000..9707fd6a8b76
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DataConnectorsClient.java
@@ -0,0 +1,204 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.DataConnectorInner;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorConnectBody;
+
+/** An instance of this class provides access to all the operations defined in DataConnectorsClient. */
+public interface DataConnectorsClient {
+ /**
+ * Gets all data connectors.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all data connectors.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all data connectors.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all data connectors.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets a data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a data connector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectorInner get(String resourceGroupName, String workspaceName, String dataConnectorId);
+
+ /**
+ * Gets a data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a data connector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String dataConnectorId, Context context);
+
+ /**
+ * Creates or updates the data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @param dataConnector The data connector.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data connector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectorInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String dataConnectorId, DataConnectorInner dataConnector);
+
+ /**
+ * Creates or updates the data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @param dataConnector The data connector.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data connector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String dataConnectorId,
+ DataConnectorInner dataConnector,
+ Context context);
+
+ /**
+ * Delete the data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String dataConnectorId);
+
+ /**
+ * Delete the data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String dataConnectorId, Context context);
+
+ /**
+ * Connects a data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @param connectBody The data connector.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void connect(
+ String resourceGroupName, String workspaceName, String dataConnectorId, DataConnectorConnectBody connectBody);
+
+ /**
+ * Connects a data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @param connectBody The data connector.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response connectWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String dataConnectorId,
+ DataConnectorConnectBody connectBody,
+ Context context);
+
+ /**
+ * Disconnect a data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void disconnect(String resourceGroupName, String workspaceName, String dataConnectorId);
+
+ /**
+ * Disconnect a data connector.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param dataConnectorId Connector ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response disconnectWithResponse(
+ String resourceGroupName, String workspaceName, String dataConnectorId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DomainWhoisClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DomainWhoisClient.java
new file mode 100644
index 000000000000..adb76edf2f2e
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/DomainWhoisClient.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.EnrichmentDomainWhoisInner;
+
+/** An instance of this class provides access to all the operations defined in DomainWhoisClient. */
+public interface DomainWhoisClient {
+ /**
+ * Get whois information for a single domain name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param domain Domain name to be enriched.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return whois information for a single domain name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnrichmentDomainWhoisInner get(String resourceGroupName, String domain);
+
+ /**
+ * Get whois information for a single domain name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param domain Domain name to be enriched.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return whois information for a single domain name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String domain, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesClient.java
new file mode 100644
index 000000000000..da3d59821bf0
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesClient.java
@@ -0,0 +1,185 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.EntityExpandResponseInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.EntityGetInsightsResponseInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.EntityInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.GetQueriesResponseInner;
+import com.azure.resourcemanager.securityinsights.models.EntityExpandParameters;
+import com.azure.resourcemanager.securityinsights.models.EntityGetInsightsParameters;
+import com.azure.resourcemanager.securityinsights.models.EntityItemQueryKind;
+
+/** An instance of this class provides access to all the operations defined in EntitiesClient. */
+public interface EntitiesClient {
+ /**
+ * Gets all entities.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all entities.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all entities.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all entities.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EntityInner get(String resourceGroupName, String workspaceName, String entityId);
+
+ /**
+ * Gets an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String entityId, Context context);
+
+ /**
+ * Expands an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param parameters The parameters required to execute an expand operation on the given entity.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the entity expansion result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EntityExpandResponseInner expand(
+ String resourceGroupName, String workspaceName, String entityId, EntityExpandParameters parameters);
+
+ /**
+ * Expands an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param parameters The parameters required to execute an expand operation on the given entity.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the entity expansion result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response expandWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String entityId,
+ EntityExpandParameters parameters,
+ Context context);
+
+ /**
+ * Get Insights and Activities for an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param kind The Kind parameter for queries.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return insights and Activities for an entity.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GetQueriesResponseInner queries(
+ String resourceGroupName, String workspaceName, String entityId, EntityItemQueryKind kind);
+
+ /**
+ * Get Insights and Activities for an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param kind The Kind parameter for queries.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return insights and Activities for an entity.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response queriesWithResponse(
+ String resourceGroupName, String workspaceName, String entityId, EntityItemQueryKind kind, Context context);
+
+ /**
+ * Execute Insights for an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param parameters The parameters required to execute insights on the given entity.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Get Insights result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EntityGetInsightsResponseInner getInsights(
+ String resourceGroupName, String workspaceName, String entityId, EntityGetInsightsParameters parameters);
+
+ /**
+ * Execute Insights for an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param parameters The parameters required to execute insights on the given entity.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Get Insights result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getInsightsWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String entityId,
+ EntityGetInsightsParameters parameters,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesGetTimelinesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesGetTimelinesClient.java
new file mode 100644
index 000000000000..02d19b27ed21
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesGetTimelinesClient.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.EntityTimelineResponseInner;
+import com.azure.resourcemanager.securityinsights.models.EntityTimelineParameters;
+
+/** An instance of this class provides access to all the operations defined in EntitiesGetTimelinesClient. */
+public interface EntitiesGetTimelinesClient {
+ /**
+ * Timeline for an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param parameters The parameters required to execute an timeline operation on the given entity.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the entity timeline result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EntityTimelineResponseInner list(
+ String resourceGroupName, String workspaceName, String entityId, EntityTimelineParameters parameters);
+
+ /**
+ * Timeline for an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param parameters The parameters required to execute an timeline operation on the given entity.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the entity timeline result operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String entityId,
+ EntityTimelineParameters parameters,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesRelationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesRelationsClient.java
new file mode 100644
index 000000000000..87e689d8d2ac
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntitiesRelationsClient.java
@@ -0,0 +1,57 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.RelationInner;
+
+/** An instance of this class provides access to all the operations defined in EntitiesRelationsClient. */
+public interface EntitiesRelationsClient {
+ /**
+ * Gets all relations of an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all relations of an entity.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, String entityId);
+
+ /**
+ * Gets all relations of an entity.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param filter Filters the results, based on a Boolean condition. Optional.
+ * @param orderby Sorts the results. Optional.
+ * @param top Returns only the first n results. Optional.
+ * @param skipToken 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all relations of an entity.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ String workspaceName,
+ String entityId,
+ String filter,
+ String orderby,
+ Integer top,
+ String skipToken,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityQueriesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityQueriesClient.java
new file mode 100644
index 000000000000..ccdda823e5a6
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityQueriesClient.java
@@ -0,0 +1,142 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.EntityQueryInner;
+import com.azure.resourcemanager.securityinsights.models.CustomEntityQuery;
+import com.azure.resourcemanager.securityinsights.models.EntityQueriesKind;
+
+/** An instance of this class provides access to all the operations defined in EntityQueriesClient. */
+public interface EntityQueriesClient {
+ /**
+ * Gets all entity queries.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all entity queries.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all entity queries.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kind The entity query kind we want to fetch.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all entity queries.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String workspaceName, EntityQueriesKind kind, Context context);
+
+ /**
+ * Gets an entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryId entity query ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EntityQueryInner get(String resourceGroupName, String workspaceName, String entityQueryId);
+
+ /**
+ * Gets an entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryId entity query ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String entityQueryId, Context context);
+
+ /**
+ * Creates or updates the entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryId entity query ID.
+ * @param entityQuery The entity query we want to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specific entity query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EntityQueryInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String entityQueryId, CustomEntityQuery entityQuery);
+
+ /**
+ * Creates or updates the entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryId entity query ID.
+ * @param entityQuery The entity query we want to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return specific entity query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String entityQueryId,
+ CustomEntityQuery entityQuery,
+ Context context);
+
+ /**
+ * Delete the entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryId entity query ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String entityQueryId);
+
+ /**
+ * Delete the entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryId entity query ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String entityQueryId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityQueryTemplatesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityQueryTemplatesClient.java
new file mode 100644
index 000000000000..eb7e2034c46f
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityQueryTemplatesClient.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.EntityQueryTemplateInner;
+import com.azure.resourcemanager.securityinsights.models.Constant69;
+
+/** An instance of this class provides access to all the operations defined in EntityQueryTemplatesClient. */
+public interface EntityQueryTemplatesClient {
+ /**
+ * Gets all entity query templates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all entity query templates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all entity query templates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kind The entity template query kind we want to fetch.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all entity query templates.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String workspaceName, Constant69 kind, Context context);
+
+ /**
+ * Gets an entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryTemplateId entity query template ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EntityQueryTemplateInner get(String resourceGroupName, String workspaceName, String entityQueryTemplateId);
+
+ /**
+ * Gets an entity query.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityQueryTemplateId entity query template ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String entityQueryTemplateId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityRelationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityRelationsClient.java
new file mode 100644
index 000000000000..7b97f17e69b7
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/EntityRelationsClient.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.RelationInner;
+
+/** An instance of this class provides access to all the operations defined in EntityRelationsClient. */
+public interface EntityRelationsClient {
+ /**
+ * Gets an entity relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param relationName Relation Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity relation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RelationInner getRelation(String resourceGroupName, String workspaceName, String entityId, String relationName);
+
+ /**
+ * Gets an entity relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param entityId entity ID.
+ * @param relationName Relation Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an entity relation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getRelationWithResponse(
+ String resourceGroupName, String workspaceName, String entityId, String relationName, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentCommentsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentCommentsClient.java
new file mode 100644
index 000000000000..6f378c19e397
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentCommentsClient.java
@@ -0,0 +1,166 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.IncidentCommentInner;
+
+/** An instance of this class provides access to all the operations defined in IncidentCommentsClient. */
+public interface IncidentCommentsClient {
+ /**
+ * Gets all incident comments.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident comments.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, String incidentId);
+
+ /**
+ * Gets all incident comments.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param filter Filters the results, based on a Boolean condition. Optional.
+ * @param orderby Sorts the results. Optional.
+ * @param top Returns only the first n results. Optional.
+ * @param skipToken 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident comments.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ String workspaceName,
+ String incidentId,
+ String filter,
+ String orderby,
+ Integer top,
+ String skipToken,
+ Context context);
+
+ /**
+ * Gets an incident comment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incidentCommentId Incident comment ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident comment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentCommentInner get(
+ String resourceGroupName, String workspaceName, String incidentId, String incidentCommentId);
+
+ /**
+ * Gets an incident comment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incidentCommentId Incident comment ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident comment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, String incidentCommentId, Context context);
+
+ /**
+ * Creates or updates the incident comment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incidentCommentId Incident comment ID.
+ * @param incidentComment The incident comment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents an incident comment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentCommentInner createOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String incidentId,
+ String incidentCommentId,
+ IncidentCommentInner incidentComment);
+
+ /**
+ * Creates or updates the incident comment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incidentCommentId Incident comment ID.
+ * @param incidentComment The incident comment.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents an incident comment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String incidentId,
+ String incidentCommentId,
+ IncidentCommentInner incidentComment,
+ Context context);
+
+ /**
+ * Delete the incident comment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incidentCommentId Incident comment ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String incidentId, String incidentCommentId);
+
+ /**
+ * Delete the incident comment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incidentCommentId Incident comment ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, String incidentCommentId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentRelationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentRelationsClient.java
new file mode 100644
index 000000000000..7f2a7b005386
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentRelationsClient.java
@@ -0,0 +1,161 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.RelationInner;
+
+/** An instance of this class provides access to all the operations defined in IncidentRelationsClient. */
+public interface IncidentRelationsClient {
+ /**
+ * Gets all incident relations.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident relations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, String incidentId);
+
+ /**
+ * Gets all incident relations.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param filter Filters the results, based on a Boolean condition. Optional.
+ * @param orderby Sorts the results. Optional.
+ * @param top Returns only the first n results. Optional.
+ * @param skipToken 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident relations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ String workspaceName,
+ String incidentId,
+ String filter,
+ String orderby,
+ Integer top,
+ String skipToken,
+ Context context);
+
+ /**
+ * Gets an incident relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param relationName Relation Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident relation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RelationInner get(String resourceGroupName, String workspaceName, String incidentId, String relationName);
+
+ /**
+ * Gets an incident relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param relationName Relation Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident relation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, String relationName, Context context);
+
+ /**
+ * Creates or updates the incident relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param relationName Relation Name.
+ * @param relation The relation model.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a relation between two resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RelationInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String incidentId, String relationName, RelationInner relation);
+
+ /**
+ * Creates or updates the incident relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param relationName Relation Name.
+ * @param relation The relation model.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a relation between two resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String incidentId,
+ String relationName,
+ RelationInner relation,
+ Context context);
+
+ /**
+ * Delete the incident relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param relationName Relation Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String incidentId, String relationName);
+
+ /**
+ * Delete the incident relation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param relationName Relation Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, String relationName, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentsClient.java
new file mode 100644
index 000000000000..57e5a7d13438
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IncidentsClient.java
@@ -0,0 +1,279 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.IncidentAlertListInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.IncidentBookmarkListInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.IncidentEntitiesResponseInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.IncidentInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.TeamInformationInner;
+import com.azure.resourcemanager.securityinsights.models.TeamProperties;
+
+/** An instance of this class provides access to all the operations defined in IncidentsClient. */
+public interface IncidentsClient {
+ /**
+ * Gets all incidents.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incidents.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all incidents.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param filter Filters the results, based on a Boolean condition. Optional.
+ * @param orderby Sorts the results. Optional.
+ * @param top Returns only the first n results. Optional.
+ * @param skipToken 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incidents.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ String workspaceName,
+ String filter,
+ String orderby,
+ Integer top,
+ String skipToken,
+ Context context);
+
+ /**
+ * Gets an incident.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentInner get(String resourceGroupName, String workspaceName, String incidentId);
+
+ /**
+ * Gets an incident.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, Context context);
+
+ /**
+ * Creates or updates the incident.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incident The incident.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents an incident in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String incidentId, IncidentInner incident);
+
+ /**
+ * Creates or updates the incident.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param incident The incident.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents an incident in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, IncidentInner incident, Context context);
+
+ /**
+ * Delete the incident.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String incidentId);
+
+ /**
+ * Delete the incident.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, Context context);
+
+ /**
+ * Creates a Microsoft team to investigate the incident by sharing information and insights between participants.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param teamProperties Team properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes team information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TeamInformationInner createTeam(
+ String resourceGroupName, String workspaceName, String incidentId, TeamProperties teamProperties);
+
+ /**
+ * Creates a Microsoft team to investigate the incident by sharing information and insights between participants.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param teamProperties Team properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes team information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createTeamWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String incidentId,
+ TeamProperties teamProperties,
+ Context context);
+
+ /**
+ * Gets all incident alerts.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident alerts.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentAlertListInner listAlerts(String resourceGroupName, String workspaceName, String incidentId);
+
+ /**
+ * Gets all incident alerts.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident alerts.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listAlertsWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, Context context);
+
+ /**
+ * Gets all incident bookmarks.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident bookmarks.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentBookmarkListInner listBookmarks(String resourceGroupName, String workspaceName, String incidentId);
+
+ /**
+ * Gets all incident bookmarks.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident bookmarks.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listBookmarksWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, Context context);
+
+ /**
+ * Gets all incident related entities.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident related entities.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentEntitiesResponseInner listEntities(String resourceGroupName, String workspaceName, String incidentId);
+
+ /**
+ * Gets all incident related entities.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param incidentId Incident ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all incident related entities.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listEntitiesWithResponse(
+ String resourceGroupName, String workspaceName, String incidentId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IpGeodatasClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IpGeodatasClient.java
new file mode 100644
index 000000000000..7149b8d6e56b
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/IpGeodatasClient.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.EnrichmentIpGeodataInner;
+
+/** An instance of this class provides access to all the operations defined in IpGeodatasClient. */
+public interface IpGeodatasClient {
+ /**
+ * Get geodata for a single IP address.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param ipAddress IP address (v4 or v6) to be enriched.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return geodata for a single IP address.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnrichmentIpGeodataInner get(String resourceGroupName, String ipAddress);
+
+ /**
+ * Get geodata for a single IP address.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param ipAddress IP address (v4 or v6) to be enriched.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return geodata for a single IP address.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String ipAddress, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/MetadatasClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/MetadatasClient.java
new file mode 100644
index 000000000000..eb8b02afc249
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/MetadatasClient.java
@@ -0,0 +1,188 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.MetadataModelInner;
+import com.azure.resourcemanager.securityinsights.models.MetadataPatch;
+
+/** An instance of this class provides access to all the operations defined in MetadatasClient. */
+public interface MetadatasClient {
+ /**
+ * List of all metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the metadata.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * List of all metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param filter Filters the results, based on a Boolean condition. Optional.
+ * @param orderby Sorts the results. Optional.
+ * @param top Returns only the first n results. Optional.
+ * @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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the metadata.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ String workspaceName,
+ String filter,
+ String orderby,
+ Integer top,
+ Integer skip,
+ Context context);
+
+ /**
+ * Get a Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Metadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataModelInner get(String resourceGroupName, String workspaceName, String metadataName);
+
+ /**
+ * Get a Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Metadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String metadataName, Context context);
+
+ /**
+ * Delete a Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String metadataName);
+
+ /**
+ * Delete a Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String metadataName, Context context);
+
+ /**
+ * Create a Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @param metadata Metadata resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return metadata resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataModelInner create(
+ String resourceGroupName, String workspaceName, String metadataName, MetadataModelInner metadata);
+
+ /**
+ * Create a Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @param metadata Metadata resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return metadata resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String metadataName,
+ MetadataModelInner metadata,
+ Context context);
+
+ /**
+ * Update an existing Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @param metadataPatch Partial metadata request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return metadata resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataModelInner update(
+ String resourceGroupName, String workspaceName, String metadataName, MetadataPatch metadataPatch);
+
+ /**
+ * Update an existing Metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param metadataName The Metadata name.
+ * @param metadataPatch Partial metadata request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return metadata resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String metadataName,
+ MetadataPatch metadataPatch,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/OfficeConsentsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/OfficeConsentsClient.java
new file mode 100644
index 000000000000..06937ee03715
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/OfficeConsentsClient.java
@@ -0,0 +1,101 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.OfficeConsentInner;
+
+/** An instance of this class provides access to all the operations defined in OfficeConsentsClient. */
+public interface OfficeConsentsClient {
+ /**
+ * Gets all office365 consents.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all office365 consents.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all office365 consents.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all office365 consents.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets an office365 consent.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param consentId consent ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an office365 consent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OfficeConsentInner get(String resourceGroupName, String workspaceName, String consentId);
+
+ /**
+ * Gets an office365 consent.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param consentId consent ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an office365 consent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String consentId, Context context);
+
+ /**
+ * Delete the office365 consent.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param consentId consent ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String consentId);
+
+ /**
+ * Delete the office365 consent.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param consentId consent ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String consentId, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/OperationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/OperationsClient.java
new file mode 100644
index 000000000000..86e89630ed8a
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Lists all operations available Azure Security Insights Resource Provider.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return lists the operations available in the SecurityInsights RP.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all operations available Azure Security Insights Resource Provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return lists the operations available in the SecurityInsights RP.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ProductSettingsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ProductSettingsClient.java
new file mode 100644
index 000000000000..c8c2c3f84c35
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ProductSettingsClient.java
@@ -0,0 +1,133 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.SettingListInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.SettingsInner;
+
+/** An instance of this class provides access to all the operations defined in ProductSettingsClient. */
+public interface ProductSettingsClient {
+ /**
+ * List of all the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SettingListInner list(String resourceGroupName, String workspaceName);
+
+ /**
+ * List of all the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets a setting.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param settingsName The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SettingsInner get(String resourceGroupName, String workspaceName, String settingsName);
+
+ /**
+ * Gets a setting.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param settingsName The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String settingsName, Context context);
+
+ /**
+ * Delete setting of the product.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param settingsName The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String settingsName);
+
+ /**
+ * Delete setting of the product.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param settingsName The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String settingsName, Context context);
+
+ /**
+ * Updates setting.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param settingsName The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
+ * @param settings The setting.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SettingsInner update(String resourceGroupName, String workspaceName, String settingsName, SettingsInner settings);
+
+ /**
+ * Updates setting.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param settingsName The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
+ * @param settings The setting.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String workspaceName, String settingsName, SettingsInner settings, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SecurityInsights.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SecurityInsights.java
new file mode 100644
index 000000000000..05ffac3147e8
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SecurityInsights.java
@@ -0,0 +1,270 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for SecurityInsights class. */
+public interface SecurityInsights {
+ /**
+ * Gets The ID of the target subscription.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the AlertRulesClient object to access its operations.
+ *
+ * @return the AlertRulesClient object.
+ */
+ AlertRulesClient getAlertRules();
+
+ /**
+ * Gets the ActionsClient object to access its operations.
+ *
+ * @return the ActionsClient object.
+ */
+ ActionsClient getActions();
+
+ /**
+ * Gets the AlertRuleTemplatesClient object to access its operations.
+ *
+ * @return the AlertRuleTemplatesClient object.
+ */
+ AlertRuleTemplatesClient getAlertRuleTemplates();
+
+ /**
+ * Gets the AutomationRulesClient object to access its operations.
+ *
+ * @return the AutomationRulesClient object.
+ */
+ AutomationRulesClient getAutomationRules();
+
+ /**
+ * Gets the BookmarksClient object to access its operations.
+ *
+ * @return the BookmarksClient object.
+ */
+ BookmarksClient getBookmarks();
+
+ /**
+ * Gets the BookmarkRelationsClient object to access its operations.
+ *
+ * @return the BookmarkRelationsClient object.
+ */
+ BookmarkRelationsClient getBookmarkRelations();
+
+ /**
+ * Gets the BookmarkOperationsClient object to access its operations.
+ *
+ * @return the BookmarkOperationsClient object.
+ */
+ BookmarkOperationsClient getBookmarkOperations();
+
+ /**
+ * Gets the IpGeodatasClient object to access its operations.
+ *
+ * @return the IpGeodatasClient object.
+ */
+ IpGeodatasClient getIpGeodatas();
+
+ /**
+ * Gets the DomainWhoisClient object to access its operations.
+ *
+ * @return the DomainWhoisClient object.
+ */
+ DomainWhoisClient getDomainWhois();
+
+ /**
+ * Gets the EntityQueriesClient object to access its operations.
+ *
+ * @return the EntityQueriesClient object.
+ */
+ EntityQueriesClient getEntityQueries();
+
+ /**
+ * Gets the EntitiesClient object to access its operations.
+ *
+ * @return the EntitiesClient object.
+ */
+ EntitiesClient getEntities();
+
+ /**
+ * Gets the EntitiesGetTimelinesClient object to access its operations.
+ *
+ * @return the EntitiesGetTimelinesClient object.
+ */
+ EntitiesGetTimelinesClient getEntitiesGetTimelines();
+
+ /**
+ * Gets the EntitiesRelationsClient object to access its operations.
+ *
+ * @return the EntitiesRelationsClient object.
+ */
+ EntitiesRelationsClient getEntitiesRelations();
+
+ /**
+ * Gets the EntityRelationsClient object to access its operations.
+ *
+ * @return the EntityRelationsClient object.
+ */
+ EntityRelationsClient getEntityRelations();
+
+ /**
+ * Gets the IncidentsClient object to access its operations.
+ *
+ * @return the IncidentsClient object.
+ */
+ IncidentsClient getIncidents();
+
+ /**
+ * Gets the IncidentCommentsClient object to access its operations.
+ *
+ * @return the IncidentCommentsClient object.
+ */
+ IncidentCommentsClient getIncidentComments();
+
+ /**
+ * Gets the IncidentRelationsClient object to access its operations.
+ *
+ * @return the IncidentRelationsClient object.
+ */
+ IncidentRelationsClient getIncidentRelations();
+
+ /**
+ * Gets the MetadatasClient object to access its operations.
+ *
+ * @return the MetadatasClient object.
+ */
+ MetadatasClient getMetadatas();
+
+ /**
+ * Gets the SentinelOnboardingStatesClient object to access its operations.
+ *
+ * @return the SentinelOnboardingStatesClient object.
+ */
+ SentinelOnboardingStatesClient getSentinelOnboardingStates();
+
+ /**
+ * Gets the ProductSettingsClient object to access its operations.
+ *
+ * @return the ProductSettingsClient object.
+ */
+ ProductSettingsClient getProductSettings();
+
+ /**
+ * Gets the SourceControlsClient object to access its operations.
+ *
+ * @return the SourceControlsClient object.
+ */
+ SourceControlsClient getSourceControls();
+
+ /**
+ * Gets the SourceControlsOperationsClient object to access its operations.
+ *
+ * @return the SourceControlsOperationsClient object.
+ */
+ SourceControlsOperationsClient getSourceControlsOperations();
+
+ /**
+ * Gets the WatchlistsClient object to access its operations.
+ *
+ * @return the WatchlistsClient object.
+ */
+ WatchlistsClient getWatchlists();
+
+ /**
+ * Gets the WatchlistItemsClient object to access its operations.
+ *
+ * @return the WatchlistItemsClient object.
+ */
+ WatchlistItemsClient getWatchlistItems();
+
+ /**
+ * Gets the DataConnectorsClient object to access its operations.
+ *
+ * @return the DataConnectorsClient object.
+ */
+ DataConnectorsClient getDataConnectors();
+
+ /**
+ * Gets the DataConnectorsCheckRequirementsOperationsClient object to access its operations.
+ *
+ * @return the DataConnectorsCheckRequirementsOperationsClient object.
+ */
+ DataConnectorsCheckRequirementsOperationsClient getDataConnectorsCheckRequirementsOperations();
+
+ /**
+ * Gets the ThreatIntelligenceIndicatorsClient object to access its operations.
+ *
+ * @return the ThreatIntelligenceIndicatorsClient object.
+ */
+ ThreatIntelligenceIndicatorsClient getThreatIntelligenceIndicators();
+
+ /**
+ * Gets the ThreatIntelligenceIndicatorsOperationsClient object to access its operations.
+ *
+ * @return the ThreatIntelligenceIndicatorsOperationsClient object.
+ */
+ ThreatIntelligenceIndicatorsOperationsClient getThreatIntelligenceIndicatorsOperations();
+
+ /**
+ * Gets the ThreatIntelligenceIndicatorMetricsClient object to access its operations.
+ *
+ * @return the ThreatIntelligenceIndicatorMetricsClient object.
+ */
+ ThreatIntelligenceIndicatorMetricsClient getThreatIntelligenceIndicatorMetrics();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the OfficeConsentsClient object to access its operations.
+ *
+ * @return the OfficeConsentsClient object.
+ */
+ OfficeConsentsClient getOfficeConsents();
+
+ /**
+ * Gets the EntityQueryTemplatesClient object to access its operations.
+ *
+ * @return the EntityQueryTemplatesClient object.
+ */
+ EntityQueryTemplatesClient getEntityQueryTemplates();
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SentinelOnboardingStatesClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SentinelOnboardingStatesClient.java
new file mode 100644
index 000000000000..2e15da69662c
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SentinelOnboardingStatesClient.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.SentinelOnboardingStateInner;
+import com.azure.resourcemanager.securityinsights.fluent.models.SentinelOnboardingStatesListInner;
+
+/** An instance of this class provides access to all the operations defined in SentinelOnboardingStatesClient. */
+public interface SentinelOnboardingStatesClient {
+ /**
+ * Get Sentinel onboarding state.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sentinelOnboardingStateName The Sentinel onboarding state name. Supports - default.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sentinel onboarding state.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SentinelOnboardingStateInner get(
+ String resourceGroupName, String workspaceName, String sentinelOnboardingStateName);
+
+ /**
+ * Get Sentinel onboarding state.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sentinelOnboardingStateName The Sentinel onboarding state name. Supports - default.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sentinel onboarding state.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String sentinelOnboardingStateName, Context context);
+
+ /**
+ * Create Sentinel onboarding state.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sentinelOnboardingStateName The Sentinel onboarding state name. Supports - default.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sentinel onboarding state.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SentinelOnboardingStateInner create(
+ String resourceGroupName, String workspaceName, String sentinelOnboardingStateName);
+
+ /**
+ * Create Sentinel onboarding state.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sentinelOnboardingStateName The Sentinel onboarding state name. Supports - default.
+ * @param sentinelOnboardingStateParameter The Sentinel onboarding state parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sentinel onboarding state.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String sentinelOnboardingStateName,
+ SentinelOnboardingStateInner sentinelOnboardingStateParameter,
+ Context context);
+
+ /**
+ * Delete Sentinel onboarding state.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sentinelOnboardingStateName The Sentinel onboarding state name. Supports - default.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String sentinelOnboardingStateName);
+
+ /**
+ * Delete Sentinel onboarding state.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sentinelOnboardingStateName The Sentinel onboarding state name. Supports - default.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String sentinelOnboardingStateName, Context context);
+
+ /**
+ * Gets all Sentinel onboarding states.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all Sentinel onboarding states.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SentinelOnboardingStatesListInner list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all Sentinel onboarding states.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all Sentinel onboarding states.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String workspaceName, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SourceControlsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SourceControlsClient.java
new file mode 100644
index 000000000000..0f8de1a7b52e
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SourceControlsClient.java
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.RepoInner;
+import com.azure.resourcemanager.securityinsights.models.RepoType;
+
+/** An instance of this class provides access to all the operations defined in SourceControlsClient. */
+public interface SourceControlsClient {
+ /**
+ * Gets a list of repositories metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param repoType The repo type.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of repositories metadata.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listRepositories(String resourceGroupName, String workspaceName, RepoType repoType);
+
+ /**
+ * Gets a list of repositories metadata.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param repoType The repo type.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of repositories metadata.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listRepositories(
+ String resourceGroupName, String workspaceName, RepoType repoType, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SourceControlsOperationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SourceControlsOperationsClient.java
new file mode 100644
index 000000000000..01f83fcc3cd3
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/SourceControlsOperationsClient.java
@@ -0,0 +1,138 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.SourceControlInner;
+
+/** An instance of this class provides access to all the operations defined in SourceControlsOperationsClient. */
+public interface SourceControlsOperationsClient {
+ /**
+ * Gets all source controls, without source control items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all source controls, without source control items.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all source controls, without source control items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all source controls, without source control items.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets a source control byt its identifier.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sourceControlId Source control Id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a source control byt its identifier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SourceControlInner get(String resourceGroupName, String workspaceName, String sourceControlId);
+
+ /**
+ * Gets a source control byt its identifier.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sourceControlId Source control Id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a source control byt its identifier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String sourceControlId, Context context);
+
+ /**
+ * Delete a source control.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sourceControlId Source control Id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String sourceControlId);
+
+ /**
+ * Delete a source control.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sourceControlId Source control Id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String sourceControlId, Context context);
+
+ /**
+ * Creates a source control.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sourceControlId Source control Id.
+ * @param sourceControl The SourceControl.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a SourceControl in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SourceControlInner create(
+ String resourceGroupName, String workspaceName, String sourceControlId, SourceControlInner sourceControl);
+
+ /**
+ * Creates a source control.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param sourceControlId Source control Id.
+ * @param sourceControl The SourceControl.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a SourceControl in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String sourceControlId,
+ SourceControlInner sourceControl,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorMetricsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorMetricsClient.java
new file mode 100644
index 000000000000..18655c1b0123
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorMetricsClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.ThreatIntelligenceMetricsListInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ThreatIntelligenceIndicatorMetricsClient.
+ */
+public interface ThreatIntelligenceIndicatorMetricsClient {
+ /**
+ * Get threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThreatIntelligenceMetricsListInner list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Get threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String workspaceName, Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorsClient.java
new file mode 100644
index 000000000000..acccf7cd9041
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorsClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.ThreatIntelligenceInformationInner;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceAppendTags;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceFilteringCriteria;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceIndicatorModelForRequestBody;
+
+/** An instance of this class provides access to all the operations defined in ThreatIntelligenceIndicatorsClient. */
+public interface ThreatIntelligenceIndicatorsClient {
+ /**
+ * Create a new threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param threatIntelligenceProperties Properties of threat intelligence indicators to create and update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThreatIntelligenceInformationInner createIndicator(
+ String resourceGroupName,
+ String workspaceName,
+ ThreatIntelligenceIndicatorModelForRequestBody threatIntelligenceProperties);
+
+ /**
+ * Create a new threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param threatIntelligenceProperties Properties of threat intelligence indicators to create and update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createIndicatorWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ ThreatIntelligenceIndicatorModelForRequestBody threatIntelligenceProperties,
+ Context context);
+
+ /**
+ * View a threat intelligence indicator by name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThreatIntelligenceInformationInner get(String resourceGroupName, String workspaceName, String name);
+
+ /**
+ * View a threat intelligence indicator by name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String name, Context context);
+
+ /**
+ * Update a threat Intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param threatIntelligenceProperties Properties of threat intelligence indicators to create and update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThreatIntelligenceInformationInner create(
+ String resourceGroupName,
+ String workspaceName,
+ String name,
+ ThreatIntelligenceIndicatorModelForRequestBody threatIntelligenceProperties);
+
+ /**
+ * Update a threat Intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param threatIntelligenceProperties Properties of threat intelligence indicators to create and update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String name,
+ ThreatIntelligenceIndicatorModelForRequestBody threatIntelligenceProperties,
+ Context context);
+
+ /**
+ * Delete a threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String name);
+
+ /**
+ * Delete a threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String workspaceName, String name, Context context);
+
+ /**
+ * Query threat intelligence indicators as per filtering criteria.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param threatIntelligenceFilteringCriteria Filtering criteria for querying threat intelligence indicators.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the threat intelligence information objects.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable queryIndicators(
+ String resourceGroupName,
+ String workspaceName,
+ ThreatIntelligenceFilteringCriteria threatIntelligenceFilteringCriteria);
+
+ /**
+ * Query threat intelligence indicators as per filtering criteria.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param threatIntelligenceFilteringCriteria Filtering criteria for querying threat intelligence indicators.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the threat intelligence information objects.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable queryIndicators(
+ String resourceGroupName,
+ String workspaceName,
+ ThreatIntelligenceFilteringCriteria threatIntelligenceFilteringCriteria,
+ Context context);
+
+ /**
+ * Append tags to a threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param threatIntelligenceAppendTags The threat intelligence append tags request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void appendTags(
+ String resourceGroupName,
+ String workspaceName,
+ String name,
+ ThreatIntelligenceAppendTags threatIntelligenceAppendTags);
+
+ /**
+ * Append tags to a threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param threatIntelligenceAppendTags The threat intelligence append tags request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response appendTagsWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String name,
+ ThreatIntelligenceAppendTags threatIntelligenceAppendTags,
+ Context context);
+
+ /**
+ * Replace tags added to a threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param threatIntelligenceReplaceTags Tags in the threat intelligence indicator to be replaced.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThreatIntelligenceInformationInner replaceTags(
+ String resourceGroupName,
+ String workspaceName,
+ String name,
+ ThreatIntelligenceIndicatorModelForRequestBody threatIntelligenceReplaceTags);
+
+ /**
+ * Replace tags added to a threat intelligence indicator.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param name Threat intelligence indicator name field.
+ * @param threatIntelligenceReplaceTags Tags in the threat intelligence indicator to be replaced.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return threat intelligence information object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response replaceTagsWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String name,
+ ThreatIntelligenceIndicatorModelForRequestBody threatIntelligenceReplaceTags,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorsOperationsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorsOperationsClient.java
new file mode 100644
index 000000000000..cd5635505a22
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/ThreatIntelligenceIndicatorsOperationsClient.java
@@ -0,0 +1,57 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.ThreatIntelligenceInformationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ThreatIntelligenceIndicatorsOperationsClient.
+ */
+public interface ThreatIntelligenceIndicatorsOperationsClient {
+ /**
+ * Get all threat intelligence indicators.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all threat intelligence indicators.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Get all threat intelligence indicators.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param filter Filters the results, based on a Boolean condition. Optional.
+ * @param orderby Sorts the results. Optional.
+ * @param top Returns only the first n results. Optional.
+ * @param skipToken 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all threat intelligence indicators.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ String workspaceName,
+ String filter,
+ String orderby,
+ Integer top,
+ String skipToken,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/WatchlistItemsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/WatchlistItemsClient.java
new file mode 100644
index 000000000000..1664ef974f36
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/WatchlistItemsClient.java
@@ -0,0 +1,153 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.WatchlistItemInner;
+
+/** An instance of this class provides access to all the operations defined in WatchlistItemsClient. */
+public interface WatchlistItemsClient {
+ /**
+ * Gets all watchlist Items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all watchlist Items.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, String watchlistAlias);
+
+ /**
+ * Gets all watchlist Items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all watchlist Items.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String workspaceName, String watchlistAlias, Context context);
+
+ /**
+ * Gets a watchlist, without its watchlist items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlistItemId Watchlist Item Id (GUID).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a watchlist, without its watchlist items.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WatchlistItemInner get(
+ String resourceGroupName, String workspaceName, String watchlistAlias, String watchlistItemId);
+
+ /**
+ * Gets a watchlist, without its watchlist items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlistItemId Watchlist Item Id (GUID).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a watchlist, without its watchlist items.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String watchlistAlias, String watchlistItemId, Context context);
+
+ /**
+ * Delete a watchlist item.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlistItemId Watchlist Item Id (GUID).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String watchlistAlias, String watchlistItemId);
+
+ /**
+ * Delete a watchlist item.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlistItemId Watchlist Item Id (GUID).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String watchlistAlias, String watchlistItemId, Context context);
+
+ /**
+ * Creates or updates a watchlist item.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlistItemId Watchlist Item Id (GUID).
+ * @param watchlistItem The watchlist item.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a Watchlist item in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WatchlistItemInner createOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String watchlistAlias,
+ String watchlistItemId,
+ WatchlistItemInner watchlistItem);
+
+ /**
+ * Creates or updates a watchlist item.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlistItemId Watchlist Item Id (GUID).
+ * @param watchlistItem The watchlist item.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a Watchlist item in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String watchlistAlias,
+ String watchlistItemId,
+ WatchlistItemInner watchlistItem,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/WatchlistsClient.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/WatchlistsClient.java
new file mode 100644
index 000000000000..f636028204bc
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/WatchlistsClient.java
@@ -0,0 +1,140 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.securityinsights.fluent.models.WatchlistInner;
+
+/** An instance of this class provides access to all the operations defined in WatchlistsClient. */
+public interface WatchlistsClient {
+ /**
+ * Gets all watchlists, without watchlist items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all watchlists, without watchlist items.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName);
+
+ /**
+ * Gets all watchlists, without watchlist items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all watchlists, without watchlist items.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets a watchlist, without its watchlist items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a watchlist, without its watchlist items.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WatchlistInner get(String resourceGroupName, String workspaceName, String watchlistAlias);
+
+ /**
+ * Gets a watchlist, without its watchlist items.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a watchlist, without its watchlist items.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String watchlistAlias, Context context);
+
+ /**
+ * Delete a watchlist.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String watchlistAlias);
+
+ /**
+ * Delete a watchlist.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String workspaceName, String watchlistAlias, Context context);
+
+ /**
+ * Creates or updates 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 rawContent and contentType properties.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlist The watchlist.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a Watchlist in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WatchlistInner createOrUpdate(
+ String resourceGroupName, String workspaceName, String watchlistAlias, WatchlistInner watchlist);
+
+ /**
+ * Creates or updates 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 rawContent and contentType properties.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param watchlistAlias Watchlist Alias.
+ * @param watchlist The watchlist.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a Watchlist in Azure Security Insights.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String watchlistAlias,
+ WatchlistInner watchlist,
+ Context context);
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AadCheckRequirementsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AadCheckRequirementsProperties.java
new file mode 100644
index 000000000000..c2c7dd1915a6
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AadCheckRequirementsProperties.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/** AAD (Azure Active Directory) requirements check properties. */
+@Fluent
+public final class AadCheckRequirementsProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AadCheckRequirementsProperties.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public AadCheckRequirementsProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AadDataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AadDataConnectorProperties.java
new file mode 100644
index 000000000000..9b1df541da98
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AadDataConnectorProperties.java
@@ -0,0 +1,64 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertsDataTypeOfDataConnector;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** AAD (Azure Active Directory) data connector properties. */
+@Fluent
+public final class AadDataConnectorProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AadDataConnectorProperties.class);
+
+ /*
+ * The available data types for the connector.
+ */
+ @JsonProperty(value = "dataTypes")
+ private AlertsDataTypeOfDataConnector dataTypes;
+
+ /**
+ * Get the dataTypes property: The available data types for the connector.
+ *
+ * @return the dataTypes value.
+ */
+ public AlertsDataTypeOfDataConnector dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: The available data types for the connector.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the AadDataConnectorProperties object itself.
+ */
+ public AadDataConnectorProperties withDataTypes(AlertsDataTypeOfDataConnector dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AadDataConnectorProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (dataTypes() != null) {
+ dataTypes().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AatpCheckRequirementsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AatpCheckRequirementsProperties.java
new file mode 100644
index 000000000000..322132d7bc14
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AatpCheckRequirementsProperties.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/** AATP (Azure Advanced Threat Protection) requirements check properties. */
+@Fluent
+public final class AatpCheckRequirementsProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AatpCheckRequirementsProperties.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public AatpCheckRequirementsProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AatpDataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AatpDataConnectorProperties.java
new file mode 100644
index 000000000000..f60cdbc90c2f
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AatpDataConnectorProperties.java
@@ -0,0 +1,64 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertsDataTypeOfDataConnector;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** AATP (Azure Advanced Threat Protection) data connector properties. */
+@Fluent
+public final class AatpDataConnectorProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AatpDataConnectorProperties.class);
+
+ /*
+ * The available data types for the connector.
+ */
+ @JsonProperty(value = "dataTypes")
+ private AlertsDataTypeOfDataConnector dataTypes;
+
+ /**
+ * Get the dataTypes property: The available data types for the connector.
+ *
+ * @return the dataTypes value.
+ */
+ public AlertsDataTypeOfDataConnector dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: The available data types for the connector.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the AatpDataConnectorProperties object itself.
+ */
+ public AatpDataConnectorProperties withDataTypes(AlertsDataTypeOfDataConnector dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AatpDataConnectorProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (dataTypes() != null) {
+ dataTypes().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AccountEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AccountEntityProperties.java
new file mode 100644
index 000000000000..ef2d56b41c7e
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AccountEntityProperties.java
@@ -0,0 +1,218 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.UUID;
+
+/** Account entity property bag. */
+@Immutable
+public final class AccountEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccountEntityProperties.class);
+
+ /*
+ * The Azure Active Directory tenant id.
+ */
+ @JsonProperty(value = "aadTenantId", access = JsonProperty.Access.WRITE_ONLY)
+ private String aadTenantId;
+
+ /*
+ * The Azure Active Directory user id.
+ */
+ @JsonProperty(value = "aadUserId", access = JsonProperty.Access.WRITE_ONLY)
+ private String aadUserId;
+
+ /*
+ * The name of the account. This field should hold only the name without
+ * any domain added to it, i.e. administrator.
+ */
+ @JsonProperty(value = "accountName", access = JsonProperty.Access.WRITE_ONLY)
+ private String accountName;
+
+ /*
+ * The display name of the account.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /*
+ * The Host entity id that contains the account in case it is a local
+ * account (not domain joined)
+ */
+ @JsonProperty(value = "hostEntityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostEntityId;
+
+ /*
+ * Determines whether this is a domain account.
+ */
+ @JsonProperty(value = "isDomainJoined", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDomainJoined;
+
+ /*
+ * The NetBIOS domain name as it appears in the alert format
+ * domain/username. Examples: NT AUTHORITY.
+ */
+ @JsonProperty(value = "ntDomain", access = JsonProperty.Access.WRITE_ONLY)
+ private String ntDomain;
+
+ /*
+ * The objectGUID attribute is a single-value attribute that is the unique
+ * identifier for the object, assigned by active directory.
+ */
+ @JsonProperty(value = "objectGuid", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID objectGuid;
+
+ /*
+ * The Azure Active Directory Passport User ID.
+ */
+ @JsonProperty(value = "puid", access = JsonProperty.Access.WRITE_ONLY)
+ private String puid;
+
+ /*
+ * The account security identifier, e.g. S-1-5-18.
+ */
+ @JsonProperty(value = "sid", access = JsonProperty.Access.WRITE_ONLY)
+ private String sid;
+
+ /*
+ * The user principal name suffix for the account, in some cases it is also
+ * the domain name. Examples: contoso.com.
+ */
+ @JsonProperty(value = "upnSuffix", access = JsonProperty.Access.WRITE_ONLY)
+ private String upnSuffix;
+
+ /*
+ * The fully qualified domain DNS name.
+ */
+ @JsonProperty(value = "dnsDomain", access = JsonProperty.Access.WRITE_ONLY)
+ private String dnsDomain;
+
+ /**
+ * Get the aadTenantId property: The Azure Active Directory tenant id.
+ *
+ * @return the aadTenantId value.
+ */
+ public String aadTenantId() {
+ return this.aadTenantId;
+ }
+
+ /**
+ * Get the aadUserId property: The Azure Active Directory user id.
+ *
+ * @return the aadUserId value.
+ */
+ public String aadUserId() {
+ return this.aadUserId;
+ }
+
+ /**
+ * Get the accountName property: The name of the account. This field should hold only the name without any domain
+ * added to it, i.e. administrator.
+ *
+ * @return the accountName value.
+ */
+ public String accountName() {
+ return this.accountName;
+ }
+
+ /**
+ * Get the displayName property: The display name of the account.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get the hostEntityId property: The Host entity id that contains the account in case it is a local account (not
+ * domain joined).
+ *
+ * @return the hostEntityId value.
+ */
+ public String hostEntityId() {
+ return this.hostEntityId;
+ }
+
+ /**
+ * Get the isDomainJoined property: Determines whether this is a domain account.
+ *
+ * @return the isDomainJoined value.
+ */
+ public Boolean isDomainJoined() {
+ return this.isDomainJoined;
+ }
+
+ /**
+ * Get the ntDomain property: The NetBIOS domain name as it appears in the alert format domain/username. Examples:
+ * NT AUTHORITY.
+ *
+ * @return the ntDomain value.
+ */
+ public String ntDomain() {
+ return this.ntDomain;
+ }
+
+ /**
+ * Get the objectGuid property: The objectGUID attribute is a single-value attribute that is the unique identifier
+ * for the object, assigned by active directory.
+ *
+ * @return the objectGuid value.
+ */
+ public UUID objectGuid() {
+ return this.objectGuid;
+ }
+
+ /**
+ * Get the puid property: The Azure Active Directory Passport User ID.
+ *
+ * @return the puid value.
+ */
+ public String puid() {
+ return this.puid;
+ }
+
+ /**
+ * Get the sid property: The account security identifier, e.g. S-1-5-18.
+ *
+ * @return the sid value.
+ */
+ public String sid() {
+ return this.sid;
+ }
+
+ /**
+ * Get the upnSuffix property: The user principal name suffix for the account, in some cases it is also the domain
+ * name. Examples: contoso.com.
+ *
+ * @return the upnSuffix value.
+ */
+ public String upnSuffix() {
+ return this.upnSuffix;
+ }
+
+ /**
+ * Get the dnsDomain property: The fully qualified domain DNS name.
+ *
+ * @return the dnsDomain value.
+ */
+ public String dnsDomain() {
+ return this.dnsDomain;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionRequestProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionRequestProperties.java
new file mode 100644
index 000000000000..7686ffdea6da
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionRequestProperties.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ActionPropertiesBase;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Action property bag. */
+@Fluent
+public final class ActionRequestProperties extends ActionPropertiesBase {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ActionRequestProperties.class);
+
+ /*
+ * Logic App Callback URL for this specific workflow.
+ */
+ @JsonProperty(value = "triggerUri", required = true)
+ private String triggerUri;
+
+ /**
+ * Get the triggerUri property: Logic App Callback URL for this specific workflow.
+ *
+ * @return the triggerUri value.
+ */
+ public String triggerUri() {
+ return this.triggerUri;
+ }
+
+ /**
+ * Set the triggerUri property: Logic App Callback URL for this specific workflow.
+ *
+ * @param triggerUri the triggerUri value to set.
+ * @return the ActionRequestProperties object itself.
+ */
+ public ActionRequestProperties withTriggerUri(String triggerUri) {
+ this.triggerUri = triggerUri;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ActionRequestProperties withLogicAppResourceId(String logicAppResourceId) {
+ super.withLogicAppResourceId(logicAppResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (triggerUri() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property triggerUri in model ActionRequestProperties"));
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionResponseInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionResponseInner.java
new file mode 100644
index 000000000000..fb8f86a0bcc6
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionResponseInner.java
@@ -0,0 +1,100 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Action for alert rule. */
+@Fluent
+public final class ActionResponseInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ActionResponseInner.class);
+
+ /*
+ * Action properties for get request
+ */
+ @JsonProperty(value = "properties")
+ private ActionResponseProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Action properties for get request.
+ *
+ * @return the innerProperties value.
+ */
+ private ActionResponseProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ActionResponseInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Get the workflowId property: The name of the logic app's workflow.
+ *
+ * @return the workflowId value.
+ */
+ public String workflowId() {
+ return this.innerProperties() == null ? null : this.innerProperties().workflowId();
+ }
+
+ /**
+ * Set the workflowId property: The name of the logic app's workflow.
+ *
+ * @param workflowId the workflowId value to set.
+ * @return the ActionResponseInner object itself.
+ */
+ public ActionResponseInner withWorkflowId(String workflowId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ActionResponseProperties();
+ }
+ this.innerProperties().withWorkflowId(workflowId);
+ return this;
+ }
+
+ /**
+ * Get the logicAppResourceId property: Logic App Resource Id,
+ * /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ *
+ * @return the logicAppResourceId value.
+ */
+ public String logicAppResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().logicAppResourceId();
+ }
+
+ /**
+ * Set the logicAppResourceId property: Logic App Resource Id,
+ * /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ *
+ * @param logicAppResourceId the logicAppResourceId value to set.
+ * @return the ActionResponseInner object itself.
+ */
+ public ActionResponseInner withLogicAppResourceId(String logicAppResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ActionResponseProperties();
+ }
+ this.innerProperties().withLogicAppResourceId(logicAppResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionResponseProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionResponseProperties.java
new file mode 100644
index 000000000000..093f13632019
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActionResponseProperties.java
@@ -0,0 +1,60 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ActionPropertiesBase;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Action property bag. */
+@Fluent
+public final class ActionResponseProperties extends ActionPropertiesBase {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ActionResponseProperties.class);
+
+ /*
+ * The name of the logic app's workflow.
+ */
+ @JsonProperty(value = "workflowId")
+ private String workflowId;
+
+ /**
+ * Get the workflowId property: The name of the logic app's workflow.
+ *
+ * @return the workflowId value.
+ */
+ public String workflowId() {
+ return this.workflowId;
+ }
+
+ /**
+ * Set the workflowId property: The name of the logic app's workflow.
+ *
+ * @param workflowId the workflowId value to set.
+ * @return the ActionResponseProperties object itself.
+ */
+ public ActionResponseProperties withWorkflowId(String workflowId) {
+ this.workflowId = workflowId;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ActionResponseProperties withLogicAppResourceId(String logicAppResourceId) {
+ super.withLogicAppResourceId(logicAppResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActivityEntityQueriesProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActivityEntityQueriesProperties.java
new file mode 100644
index 000000000000..4548c723fb1b
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActivityEntityQueriesProperties.java
@@ -0,0 +1,302 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ActivityEntityQueriesPropertiesQueryDefinitions;
+import com.azure.resourcemanager.securityinsights.models.EntityType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/** Describes activity entity query properties. */
+@Fluent
+public final class ActivityEntityQueriesProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ActivityEntityQueriesProperties.class);
+
+ /*
+ * The entity query title
+ */
+ @JsonProperty(value = "title")
+ private String title;
+
+ /*
+ * The entity query content to display in timeline
+ */
+ @JsonProperty(value = "content")
+ private String content;
+
+ /*
+ * The entity query description
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The Activity query definitions
+ */
+ @JsonProperty(value = "queryDefinitions")
+ private ActivityEntityQueriesPropertiesQueryDefinitions queryDefinitions;
+
+ /*
+ * The type of the query's source entity
+ */
+ @JsonProperty(value = "inputEntityType")
+ private EntityType inputEntityType;
+
+ /*
+ * List of the fields of the source entity that are required to run the
+ * query
+ */
+ @JsonProperty(value = "requiredInputFieldsSets")
+ private List> requiredInputFieldsSets;
+
+ /*
+ * The query applied only to entities matching to all filters
+ */
+ @JsonProperty(value = "entitiesFilter")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map> entitiesFilter;
+
+ /*
+ * The template id this activity was created from
+ */
+ @JsonProperty(value = "templateName")
+ private String templateName;
+
+ /*
+ * Determines whether this activity is enabled or disabled.
+ */
+ @JsonProperty(value = "enabled")
+ private Boolean enabled;
+
+ /*
+ * The time the activity was created
+ */
+ @JsonProperty(value = "createdTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdTimeUtc;
+
+ /*
+ * The last time the activity was updated
+ */
+ @JsonProperty(value = "lastModifiedTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedTimeUtc;
+
+ /**
+ * Get the title property: The entity query title.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: The entity query title.
+ *
+ * @param title the title value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Get the content property: The entity query content to display in timeline.
+ *
+ * @return the content value.
+ */
+ public String content() {
+ return this.content;
+ }
+
+ /**
+ * Set the content property: The entity query content to display in timeline.
+ *
+ * @param content the content value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withContent(String content) {
+ this.content = content;
+ return this;
+ }
+
+ /**
+ * Get the description property: The entity query description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The entity query description.
+ *
+ * @param description the description value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the queryDefinitions property: The Activity query definitions.
+ *
+ * @return the queryDefinitions value.
+ */
+ public ActivityEntityQueriesPropertiesQueryDefinitions queryDefinitions() {
+ return this.queryDefinitions;
+ }
+
+ /**
+ * Set the queryDefinitions property: The Activity query definitions.
+ *
+ * @param queryDefinitions the queryDefinitions value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withQueryDefinitions(
+ ActivityEntityQueriesPropertiesQueryDefinitions queryDefinitions) {
+ this.queryDefinitions = queryDefinitions;
+ return this;
+ }
+
+ /**
+ * Get the inputEntityType property: The type of the query's source entity.
+ *
+ * @return the inputEntityType value.
+ */
+ public EntityType inputEntityType() {
+ return this.inputEntityType;
+ }
+
+ /**
+ * Set the inputEntityType property: The type of the query's source entity.
+ *
+ * @param inputEntityType the inputEntityType value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withInputEntityType(EntityType inputEntityType) {
+ this.inputEntityType = inputEntityType;
+ return this;
+ }
+
+ /**
+ * Get the requiredInputFieldsSets property: List of the fields of the source entity that are required to run the
+ * query.
+ *
+ * @return the requiredInputFieldsSets value.
+ */
+ public List> requiredInputFieldsSets() {
+ return this.requiredInputFieldsSets;
+ }
+
+ /**
+ * Set the requiredInputFieldsSets property: List of the fields of the source entity that are required to run the
+ * query.
+ *
+ * @param requiredInputFieldsSets the requiredInputFieldsSets value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withRequiredInputFieldsSets(List> requiredInputFieldsSets) {
+ this.requiredInputFieldsSets = requiredInputFieldsSets;
+ return this;
+ }
+
+ /**
+ * Get the entitiesFilter property: The query applied only to entities matching to all filters.
+ *
+ * @return the entitiesFilter value.
+ */
+ public Map> entitiesFilter() {
+ return this.entitiesFilter;
+ }
+
+ /**
+ * Set the entitiesFilter property: The query applied only to entities matching to all filters.
+ *
+ * @param entitiesFilter the entitiesFilter value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withEntitiesFilter(Map> entitiesFilter) {
+ this.entitiesFilter = entitiesFilter;
+ return this;
+ }
+
+ /**
+ * Get the templateName property: The template id this activity was created from.
+ *
+ * @return the templateName value.
+ */
+ public String templateName() {
+ return this.templateName;
+ }
+
+ /**
+ * Set the templateName property: The template id this activity was created from.
+ *
+ * @param templateName the templateName value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withTemplateName(String templateName) {
+ this.templateName = templateName;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: Determines whether this activity is enabled or disabled.
+ *
+ * @return the enabled value.
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Determines whether this activity is enabled or disabled.
+ *
+ * @param enabled the enabled value to set.
+ * @return the ActivityEntityQueriesProperties object itself.
+ */
+ public ActivityEntityQueriesProperties withEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the createdTimeUtc property: The time the activity was created.
+ *
+ * @return the createdTimeUtc value.
+ */
+ public OffsetDateTime createdTimeUtc() {
+ return this.createdTimeUtc;
+ }
+
+ /**
+ * Get the lastModifiedTimeUtc property: The last time the activity was updated.
+ *
+ * @return the lastModifiedTimeUtc value.
+ */
+ public OffsetDateTime lastModifiedTimeUtc() {
+ return this.lastModifiedTimeUtc;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (queryDefinitions() != null) {
+ queryDefinitions().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActivityEntityQueryTemplateProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActivityEntityQueryTemplateProperties.java
new file mode 100644
index 000000000000..c12528576def
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ActivityEntityQueryTemplateProperties.java
@@ -0,0 +1,250 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ActivityEntityQueryTemplatePropertiesQueryDefinitions;
+import com.azure.resourcemanager.securityinsights.models.DataTypeDefinitions;
+import com.azure.resourcemanager.securityinsights.models.EntityType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Describes activity entity query properties. */
+@Fluent
+public final class ActivityEntityQueryTemplateProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ActivityEntityQueryTemplateProperties.class);
+
+ /*
+ * The entity query title
+ */
+ @JsonProperty(value = "title")
+ private String title;
+
+ /*
+ * The entity query content to display in timeline
+ */
+ @JsonProperty(value = "content")
+ private String content;
+
+ /*
+ * The entity query description
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The Activity query definitions
+ */
+ @JsonProperty(value = "queryDefinitions")
+ private ActivityEntityQueryTemplatePropertiesQueryDefinitions queryDefinitions;
+
+ /*
+ * List of required data types for the given entity query template
+ */
+ @JsonProperty(value = "dataTypes")
+ private List dataTypes;
+
+ /*
+ * The type of the query's source entity
+ */
+ @JsonProperty(value = "inputEntityType")
+ private EntityType inputEntityType;
+
+ /*
+ * List of the fields of the source entity that are required to run the
+ * query
+ */
+ @JsonProperty(value = "requiredInputFieldsSets")
+ private List> requiredInputFieldsSets;
+
+ /*
+ * The query applied only to entities matching to all filters
+ */
+ @JsonProperty(value = "entitiesFilter")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map> entitiesFilter;
+
+ /**
+ * Get the title property: The entity query title.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: The entity query title.
+ *
+ * @param title the title value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Get the content property: The entity query content to display in timeline.
+ *
+ * @return the content value.
+ */
+ public String content() {
+ return this.content;
+ }
+
+ /**
+ * Set the content property: The entity query content to display in timeline.
+ *
+ * @param content the content value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withContent(String content) {
+ this.content = content;
+ return this;
+ }
+
+ /**
+ * Get the description property: The entity query description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The entity query description.
+ *
+ * @param description the description value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the queryDefinitions property: The Activity query definitions.
+ *
+ * @return the queryDefinitions value.
+ */
+ public ActivityEntityQueryTemplatePropertiesQueryDefinitions queryDefinitions() {
+ return this.queryDefinitions;
+ }
+
+ /**
+ * Set the queryDefinitions property: The Activity query definitions.
+ *
+ * @param queryDefinitions the queryDefinitions value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withQueryDefinitions(
+ ActivityEntityQueryTemplatePropertiesQueryDefinitions queryDefinitions) {
+ this.queryDefinitions = queryDefinitions;
+ return this;
+ }
+
+ /**
+ * Get the dataTypes property: List of required data types for the given entity query template.
+ *
+ * @return the dataTypes value.
+ */
+ public List dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: List of required data types for the given entity query template.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withDataTypes(List dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /**
+ * Get the inputEntityType property: The type of the query's source entity.
+ *
+ * @return the inputEntityType value.
+ */
+ public EntityType inputEntityType() {
+ return this.inputEntityType;
+ }
+
+ /**
+ * Set the inputEntityType property: The type of the query's source entity.
+ *
+ * @param inputEntityType the inputEntityType value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withInputEntityType(EntityType inputEntityType) {
+ this.inputEntityType = inputEntityType;
+ return this;
+ }
+
+ /**
+ * Get the requiredInputFieldsSets property: List of the fields of the source entity that are required to run the
+ * query.
+ *
+ * @return the requiredInputFieldsSets value.
+ */
+ public List> requiredInputFieldsSets() {
+ return this.requiredInputFieldsSets;
+ }
+
+ /**
+ * Set the requiredInputFieldsSets property: List of the fields of the source entity that are required to run the
+ * query.
+ *
+ * @param requiredInputFieldsSets the requiredInputFieldsSets value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withRequiredInputFieldsSets(
+ List> requiredInputFieldsSets) {
+ this.requiredInputFieldsSets = requiredInputFieldsSets;
+ return this;
+ }
+
+ /**
+ * Get the entitiesFilter property: The query applied only to entities matching to all filters.
+ *
+ * @return the entitiesFilter value.
+ */
+ public Map> entitiesFilter() {
+ return this.entitiesFilter;
+ }
+
+ /**
+ * Set the entitiesFilter property: The query applied only to entities matching to all filters.
+ *
+ * @param entitiesFilter the entitiesFilter value to set.
+ * @return the ActivityEntityQueryTemplateProperties object itself.
+ */
+ public ActivityEntityQueryTemplateProperties withEntitiesFilter(Map> entitiesFilter) {
+ this.entitiesFilter = entitiesFilter;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (queryDefinitions() != null) {
+ queryDefinitions().validate();
+ }
+ if (dataTypes() != null) {
+ dataTypes().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AlertRuleInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AlertRuleInner.java
new file mode 100644
index 000000000000..523dd6d8394d
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AlertRuleInner.java
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.FusionAlertRule;
+import com.azure.resourcemanager.securityinsights.models.MLBehaviorAnalyticsAlertRule;
+import com.azure.resourcemanager.securityinsights.models.MicrosoftSecurityIncidentCreationAlertRule;
+import com.azure.resourcemanager.securityinsights.models.NrtAlertRule;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.azure.resourcemanager.securityinsights.models.ScheduledAlertRule;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceAlertRule;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Alert rule. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = AlertRuleInner.class)
+@JsonTypeName("AlertRule")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "MLBehaviorAnalytics", value = MLBehaviorAnalyticsAlertRule.class),
+ @JsonSubTypes.Type(name = "Fusion", value = FusionAlertRule.class),
+ @JsonSubTypes.Type(name = "ThreatIntelligence", value = ThreatIntelligenceAlertRule.class),
+ @JsonSubTypes.Type(
+ name = "MicrosoftSecurityIncidentCreation",
+ value = MicrosoftSecurityIncidentCreationAlertRule.class),
+ @JsonSubTypes.Type(name = "Scheduled", value = ScheduledAlertRule.class),
+ @JsonSubTypes.Type(name = "NRT", value = NrtAlertRule.class)
+})
+@Fluent
+public class AlertRuleInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AlertRuleInner.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public AlertRuleInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AlertRuleTemplateInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AlertRuleTemplateInner.java
new file mode 100644
index 000000000000..e9c422a5a546
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AlertRuleTemplateInner.java
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.FusionAlertRuleTemplate;
+import com.azure.resourcemanager.securityinsights.models.MLBehaviorAnalyticsAlertRuleTemplate;
+import com.azure.resourcemanager.securityinsights.models.MicrosoftSecurityIncidentCreationAlertRuleTemplate;
+import com.azure.resourcemanager.securityinsights.models.NrtAlertRuleTemplate;
+import com.azure.resourcemanager.securityinsights.models.ScheduledAlertRuleTemplate;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligenceAlertRuleTemplate;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Alert rule template. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = AlertRuleTemplateInner.class)
+@JsonTypeName("AlertRuleTemplate")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "MLBehaviorAnalytics", value = MLBehaviorAnalyticsAlertRuleTemplate.class),
+ @JsonSubTypes.Type(name = "Fusion", value = FusionAlertRuleTemplate.class),
+ @JsonSubTypes.Type(name = "ThreatIntelligence", value = ThreatIntelligenceAlertRuleTemplate.class),
+ @JsonSubTypes.Type(
+ name = "MicrosoftSecurityIncidentCreation",
+ value = MicrosoftSecurityIncidentCreationAlertRuleTemplate.class),
+ @JsonSubTypes.Type(name = "Scheduled", value = ScheduledAlertRuleTemplate.class),
+ @JsonSubTypes.Type(name = "NRT", value = NrtAlertRuleTemplate.class)
+})
+@Immutable
+public class AlertRuleTemplateInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AlertRuleTemplateInner.class);
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AnomaliesSettingsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AnomaliesSettingsProperties.java
new file mode 100644
index 000000000000..fbb77200af3d
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AnomaliesSettingsProperties.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Anomalies property bag. */
+@Immutable
+public final class AnomaliesSettingsProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AnomaliesSettingsProperties.class);
+
+ /*
+ * Determines whether the setting is enable or disabled.
+ */
+ @JsonProperty(value = "isEnabled", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isEnabled;
+
+ /**
+ * Get the isEnabled property: Determines whether the setting is enable or disabled.
+ *
+ * @return the isEnabled value.
+ */
+ public Boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ApiPollingParameters.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ApiPollingParameters.java
new file mode 100644
index 000000000000..f3c0f35cd01b
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ApiPollingParameters.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.CodelessConnectorPollingConfigProperties;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Represents Codeless API Polling data connector. */
+@Fluent
+public final class ApiPollingParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ApiPollingParameters.class);
+
+ /*
+ * Config to describe the instructions blade
+ */
+ @JsonProperty(value = "connectorUiConfig")
+ private CodelessUiConnectorConfigProperties connectorUiConfig;
+
+ /*
+ * Config to describe the polling instructions
+ */
+ @JsonProperty(value = "pollingConfig")
+ private CodelessConnectorPollingConfigProperties pollingConfig;
+
+ /**
+ * Get the connectorUiConfig property: Config to describe the instructions blade.
+ *
+ * @return the connectorUiConfig value.
+ */
+ public CodelessUiConnectorConfigProperties connectorUiConfig() {
+ return this.connectorUiConfig;
+ }
+
+ /**
+ * Set the connectorUiConfig property: Config to describe the instructions blade.
+ *
+ * @param connectorUiConfig the connectorUiConfig value to set.
+ * @return the ApiPollingParameters object itself.
+ */
+ public ApiPollingParameters withConnectorUiConfig(CodelessUiConnectorConfigProperties connectorUiConfig) {
+ this.connectorUiConfig = connectorUiConfig;
+ return this;
+ }
+
+ /**
+ * Get the pollingConfig property: Config to describe the polling instructions.
+ *
+ * @return the pollingConfig value.
+ */
+ public CodelessConnectorPollingConfigProperties pollingConfig() {
+ return this.pollingConfig;
+ }
+
+ /**
+ * Set the pollingConfig property: Config to describe the polling instructions.
+ *
+ * @param pollingConfig the pollingConfig value to set.
+ * @return the ApiPollingParameters object itself.
+ */
+ public ApiPollingParameters withPollingConfig(CodelessConnectorPollingConfigProperties pollingConfig) {
+ this.pollingConfig = pollingConfig;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (connectorUiConfig() != null) {
+ connectorUiConfig().validate();
+ }
+ if (pollingConfig() != null) {
+ pollingConfig().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AscCheckRequirementsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AscCheckRequirementsProperties.java
new file mode 100644
index 000000000000..9393a3854e0a
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AscCheckRequirementsProperties.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** ASC (Azure Security Center) requirements check properties. */
+@Fluent
+public final class AscCheckRequirementsProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AscCheckRequirementsProperties.class);
+
+ /*
+ * The subscription id to connect to, and get the data from.
+ */
+ @JsonProperty(value = "subscriptionId")
+ private String subscriptionId;
+
+ /**
+ * Get the subscriptionId property: The subscription id to connect to, and get the data from.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Set the subscriptionId property: The subscription id to connect to, and get the data from.
+ *
+ * @param subscriptionId the subscriptionId value to set.
+ * @return the AscCheckRequirementsProperties object itself.
+ */
+ public AscCheckRequirementsProperties withSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AscDataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AscDataConnectorProperties.java
new file mode 100644
index 000000000000..ef87905d4515
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AscDataConnectorProperties.java
@@ -0,0 +1,61 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertsDataTypeOfDataConnector;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorWithAlertsProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** ASC (Azure Security Center) data connector properties. */
+@Fluent
+public final class AscDataConnectorProperties extends DataConnectorWithAlertsProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AscDataConnectorProperties.class);
+
+ /*
+ * The subscription id to connect to, and get the data from.
+ */
+ @JsonProperty(value = "subscriptionId")
+ private String subscriptionId;
+
+ /**
+ * Get the subscriptionId property: The subscription id to connect to, and get the data from.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Set the subscriptionId property: The subscription id to connect to, and get the data from.
+ *
+ * @param subscriptionId the subscriptionId value to set.
+ * @return the AscDataConnectorProperties object itself.
+ */
+ public AscDataConnectorProperties withSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AscDataConnectorProperties withDataTypes(AlertsDataTypeOfDataConnector dataTypes) {
+ super.withDataTypes(dataTypes);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AutomationRuleInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AutomationRuleInner.java
new file mode 100644
index 000000000000..e10838758cf7
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AutomationRuleInner.java
@@ -0,0 +1,185 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleAction;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleTriggeringLogic;
+import com.azure.resourcemanager.securityinsights.models.ClientInfo;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Represents an automation rule. */
+@Fluent
+public final class AutomationRuleInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AutomationRuleInner.class);
+
+ /*
+ * Automation rule properties
+ */
+ @JsonProperty(value = "properties")
+ private AutomationRuleProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Automation rule properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AutomationRuleProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AutomationRuleInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The display name of the automation rule.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Set the displayName property: The display name of the automation rule.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AutomationRuleInner object itself.
+ */
+ public AutomationRuleInner withDisplayName(String displayName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AutomationRuleProperties();
+ }
+ this.innerProperties().withDisplayName(displayName);
+ return this;
+ }
+
+ /**
+ * Get the order property: The order of execution of the automation rule.
+ *
+ * @return the order value.
+ */
+ public Integer order() {
+ return this.innerProperties() == null ? null : this.innerProperties().order();
+ }
+
+ /**
+ * Set the order property: The order of execution of the automation rule.
+ *
+ * @param order the order value to set.
+ * @return the AutomationRuleInner object itself.
+ */
+ public AutomationRuleInner withOrder(Integer order) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AutomationRuleProperties();
+ }
+ this.innerProperties().withOrder(order);
+ return this;
+ }
+
+ /**
+ * Get the triggeringLogic property: The triggering logic of the automation rule.
+ *
+ * @return the triggeringLogic value.
+ */
+ public AutomationRuleTriggeringLogic triggeringLogic() {
+ return this.innerProperties() == null ? null : this.innerProperties().triggeringLogic();
+ }
+
+ /**
+ * Set the triggeringLogic property: The triggering logic of the automation rule.
+ *
+ * @param triggeringLogic the triggeringLogic value to set.
+ * @return the AutomationRuleInner object itself.
+ */
+ public AutomationRuleInner withTriggeringLogic(AutomationRuleTriggeringLogic triggeringLogic) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AutomationRuleProperties();
+ }
+ this.innerProperties().withTriggeringLogic(triggeringLogic);
+ return this;
+ }
+
+ /**
+ * Get the actions property: The actions to execute when the automation rule is triggered.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.innerProperties() == null ? null : this.innerProperties().actions();
+ }
+
+ /**
+ * Set the actions property: The actions to execute when the automation rule is triggered.
+ *
+ * @param actions the actions value to set.
+ * @return the AutomationRuleInner object itself.
+ */
+ public AutomationRuleInner withActions(List actions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AutomationRuleProperties();
+ }
+ this.innerProperties().withActions(actions);
+ return this;
+ }
+
+ /**
+ * Get the createdTimeUtc property: The time the automation rule was created.
+ *
+ * @return the createdTimeUtc value.
+ */
+ public OffsetDateTime createdTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdTimeUtc();
+ }
+
+ /**
+ * Get the lastModifiedTimeUtc property: The last time the automation rule was updated.
+ *
+ * @return the lastModifiedTimeUtc value.
+ */
+ public OffsetDateTime lastModifiedTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastModifiedTimeUtc();
+ }
+
+ /**
+ * Get the createdBy property: Describes the client that created the automation rule.
+ *
+ * @return the createdBy value.
+ */
+ public ClientInfo createdBy() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdBy();
+ }
+
+ /**
+ * Get the lastModifiedBy property: Describes the client that last updated the automation rule.
+ *
+ * @return the lastModifiedBy value.
+ */
+ public ClientInfo lastModifiedBy() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastModifiedBy();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AutomationRuleProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AutomationRuleProperties.java
new file mode 100644
index 000000000000..a6c625ec7505
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AutomationRuleProperties.java
@@ -0,0 +1,221 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleAction;
+import com.azure.resourcemanager.securityinsights.models.AutomationRuleTriggeringLogic;
+import com.azure.resourcemanager.securityinsights.models.ClientInfo;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Describes automation rule properties. */
+@Fluent
+public final class AutomationRuleProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AutomationRuleProperties.class);
+
+ /*
+ * The display name of the automation rule
+ */
+ @JsonProperty(value = "displayName", required = true)
+ private String displayName;
+
+ /*
+ * The order of execution of the automation rule
+ */
+ @JsonProperty(value = "order", required = true)
+ private int order;
+
+ /*
+ * The triggering logic of the automation rule
+ */
+ @JsonProperty(value = "triggeringLogic", required = true)
+ private AutomationRuleTriggeringLogic triggeringLogic;
+
+ /*
+ * The actions to execute when the automation rule is triggered
+ */
+ @JsonProperty(value = "actions", required = true)
+ private List actions;
+
+ /*
+ * The time the automation rule was created
+ */
+ @JsonProperty(value = "createdTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdTimeUtc;
+
+ /*
+ * The last time the automation rule was updated
+ */
+ @JsonProperty(value = "lastModifiedTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedTimeUtc;
+
+ /*
+ * Describes the client that created the automation rule
+ */
+ @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY)
+ private ClientInfo createdBy;
+
+ /*
+ * Describes the client that last updated the automation rule
+ */
+ @JsonProperty(value = "lastModifiedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private ClientInfo lastModifiedBy;
+
+ /**
+ * Get the displayName property: The display name of the automation rule.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The display name of the automation rule.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AutomationRuleProperties object itself.
+ */
+ public AutomationRuleProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the order property: The order of execution of the automation rule.
+ *
+ * @return the order value.
+ */
+ public int order() {
+ return this.order;
+ }
+
+ /**
+ * Set the order property: The order of execution of the automation rule.
+ *
+ * @param order the order value to set.
+ * @return the AutomationRuleProperties object itself.
+ */
+ public AutomationRuleProperties withOrder(int order) {
+ this.order = order;
+ return this;
+ }
+
+ /**
+ * Get the triggeringLogic property: The triggering logic of the automation rule.
+ *
+ * @return the triggeringLogic value.
+ */
+ public AutomationRuleTriggeringLogic triggeringLogic() {
+ return this.triggeringLogic;
+ }
+
+ /**
+ * Set the triggeringLogic property: The triggering logic of the automation rule.
+ *
+ * @param triggeringLogic the triggeringLogic value to set.
+ * @return the AutomationRuleProperties object itself.
+ */
+ public AutomationRuleProperties withTriggeringLogic(AutomationRuleTriggeringLogic triggeringLogic) {
+ this.triggeringLogic = triggeringLogic;
+ return this;
+ }
+
+ /**
+ * Get the actions property: The actions to execute when the automation rule is triggered.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: The actions to execute when the automation rule is triggered.
+ *
+ * @param actions the actions value to set.
+ * @return the AutomationRuleProperties object itself.
+ */
+ public AutomationRuleProperties withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Get the createdTimeUtc property: The time the automation rule was created.
+ *
+ * @return the createdTimeUtc value.
+ */
+ public OffsetDateTime createdTimeUtc() {
+ return this.createdTimeUtc;
+ }
+
+ /**
+ * Get the lastModifiedTimeUtc property: The last time the automation rule was updated.
+ *
+ * @return the lastModifiedTimeUtc value.
+ */
+ public OffsetDateTime lastModifiedTimeUtc() {
+ return this.lastModifiedTimeUtc;
+ }
+
+ /**
+ * Get the createdBy property: Describes the client that created the automation rule.
+ *
+ * @return the createdBy value.
+ */
+ public ClientInfo createdBy() {
+ return this.createdBy;
+ }
+
+ /**
+ * Get the lastModifiedBy property: Describes the client that last updated the automation rule.
+ *
+ * @return the lastModifiedBy value.
+ */
+ public ClientInfo lastModifiedBy() {
+ return this.lastModifiedBy;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (displayName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property displayName in model AutomationRuleProperties"));
+ }
+ if (triggeringLogic() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property triggeringLogic in model AutomationRuleProperties"));
+ } else {
+ triggeringLogic().validate();
+ }
+ if (actions() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property actions in model AutomationRuleProperties"));
+ } else {
+ actions().forEach(e -> e.validate());
+ }
+ if (createdBy() != null) {
+ createdBy().validate();
+ }
+ if (lastModifiedBy() != null) {
+ lastModifiedBy().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AwsCloudTrailDataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AwsCloudTrailDataConnectorProperties.java
new file mode 100644
index 000000000000..537c1e0f95d9
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AwsCloudTrailDataConnectorProperties.java
@@ -0,0 +1,88 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AwsCloudTrailDataConnectorDataTypes;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Amazon Web Services CloudTrail data connector properties. */
+@Fluent
+public final class AwsCloudTrailDataConnectorProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AwsCloudTrailDataConnectorProperties.class);
+
+ /*
+ * The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access
+ * the Aws account.
+ */
+ @JsonProperty(value = "awsRoleArn")
+ private String awsRoleArn;
+
+ /*
+ * The available data types for the connector.
+ */
+ @JsonProperty(value = "dataTypes", required = true)
+ private AwsCloudTrailDataConnectorDataTypes dataTypes;
+
+ /**
+ * Get the awsRoleArn property: The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws
+ * account.
+ *
+ * @return the awsRoleArn value.
+ */
+ public String awsRoleArn() {
+ return this.awsRoleArn;
+ }
+
+ /**
+ * Set the awsRoleArn property: The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws
+ * account.
+ *
+ * @param awsRoleArn the awsRoleArn value to set.
+ * @return the AwsCloudTrailDataConnectorProperties object itself.
+ */
+ public AwsCloudTrailDataConnectorProperties withAwsRoleArn(String awsRoleArn) {
+ this.awsRoleArn = awsRoleArn;
+ return this;
+ }
+
+ /**
+ * Get the dataTypes property: The available data types for the connector.
+ *
+ * @return the dataTypes value.
+ */
+ public AwsCloudTrailDataConnectorDataTypes dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: The available data types for the connector.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the AwsCloudTrailDataConnectorProperties object itself.
+ */
+ public AwsCloudTrailDataConnectorProperties withDataTypes(AwsCloudTrailDataConnectorDataTypes dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (dataTypes() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property dataTypes in model AwsCloudTrailDataConnectorProperties"));
+ } else {
+ dataTypes().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AwsS3DataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AwsS3DataConnectorProperties.java
new file mode 100644
index 000000000000..d65550f044fd
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AwsS3DataConnectorProperties.java
@@ -0,0 +1,156 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AwsS3DataConnectorDataTypes;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Amazon Web Services S3 data connector properties. */
+@Fluent
+public final class AwsS3DataConnectorProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AwsS3DataConnectorProperties.class);
+
+ /*
+ * The logs destination table name in LogAnalytics.
+ */
+ @JsonProperty(value = "destinationTable", required = true)
+ private String destinationTable;
+
+ /*
+ * The AWS sqs urls for the connector.
+ */
+ @JsonProperty(value = "sqsUrls", required = true)
+ private List sqsUrls;
+
+ /*
+ * The Aws Role Arn that is used to access the Aws account.
+ */
+ @JsonProperty(value = "roleArn", required = true)
+ private String roleArn;
+
+ /*
+ * The available data types for the connector.
+ */
+ @JsonProperty(value = "dataTypes", required = true)
+ private AwsS3DataConnectorDataTypes dataTypes;
+
+ /**
+ * Get the destinationTable property: The logs destination table name in LogAnalytics.
+ *
+ * @return the destinationTable value.
+ */
+ public String destinationTable() {
+ return this.destinationTable;
+ }
+
+ /**
+ * Set the destinationTable property: The logs destination table name in LogAnalytics.
+ *
+ * @param destinationTable the destinationTable value to set.
+ * @return the AwsS3DataConnectorProperties object itself.
+ */
+ public AwsS3DataConnectorProperties withDestinationTable(String destinationTable) {
+ this.destinationTable = destinationTable;
+ return this;
+ }
+
+ /**
+ * Get the sqsUrls property: The AWS sqs urls for the connector.
+ *
+ * @return the sqsUrls value.
+ */
+ public List sqsUrls() {
+ return this.sqsUrls;
+ }
+
+ /**
+ * Set the sqsUrls property: The AWS sqs urls for the connector.
+ *
+ * @param sqsUrls the sqsUrls value to set.
+ * @return the AwsS3DataConnectorProperties object itself.
+ */
+ public AwsS3DataConnectorProperties withSqsUrls(List sqsUrls) {
+ this.sqsUrls = sqsUrls;
+ return this;
+ }
+
+ /**
+ * Get the roleArn property: The Aws Role Arn that is used to access the Aws account.
+ *
+ * @return the roleArn value.
+ */
+ public String roleArn() {
+ return this.roleArn;
+ }
+
+ /**
+ * Set the roleArn property: The Aws Role Arn that is used to access the Aws account.
+ *
+ * @param roleArn the roleArn value to set.
+ * @return the AwsS3DataConnectorProperties object itself.
+ */
+ public AwsS3DataConnectorProperties withRoleArn(String roleArn) {
+ this.roleArn = roleArn;
+ return this;
+ }
+
+ /**
+ * Get the dataTypes property: The available data types for the connector.
+ *
+ * @return the dataTypes value.
+ */
+ public AwsS3DataConnectorDataTypes dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: The available data types for the connector.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the AwsS3DataConnectorProperties object itself.
+ */
+ public AwsS3DataConnectorProperties withDataTypes(AwsS3DataConnectorDataTypes dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (destinationTable() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property destinationTable in model AwsS3DataConnectorProperties"));
+ }
+ if (sqsUrls() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property sqsUrls in model AwsS3DataConnectorProperties"));
+ }
+ if (roleArn() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property roleArn in model AwsS3DataConnectorProperties"));
+ }
+ if (dataTypes() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property dataTypes in model AwsS3DataConnectorProperties"));
+ } else {
+ dataTypes().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AzureResourceEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AzureResourceEntityProperties.java
new file mode 100644
index 000000000000..c6a0301e253e
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/AzureResourceEntityProperties.java
@@ -0,0 +1,57 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** AzureResource entity property bag. */
+@Immutable
+public final class AzureResourceEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AzureResourceEntityProperties.class);
+
+ /*
+ * The azure resource id of the resource
+ */
+ @JsonProperty(value = "resourceId", access = JsonProperty.Access.WRITE_ONLY)
+ private String resourceId;
+
+ /*
+ * The subscription id of the resource
+ */
+ @JsonProperty(value = "subscriptionId", access = JsonProperty.Access.WRITE_ONLY)
+ private String subscriptionId;
+
+ /**
+ * Get the resourceId property: The azure resource id of the resource.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Get the subscriptionId property: The subscription id of the resource.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkExpandResponseInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkExpandResponseInner.java
new file mode 100644
index 000000000000..d66395d13aeb
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkExpandResponseInner.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.BookmarkExpandResponseValue;
+import com.azure.resourcemanager.securityinsights.models.ExpansionResultsMetadata;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The entity expansion result operation response. */
+@Fluent
+public final class BookmarkExpandResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(BookmarkExpandResponseInner.class);
+
+ /*
+ * The metadata from the expansion operation results.
+ */
+ @JsonProperty(value = "metaData")
+ private ExpansionResultsMetadata metadata;
+
+ /*
+ * The expansion result values.
+ */
+ @JsonProperty(value = "value")
+ private BookmarkExpandResponseValue value;
+
+ /**
+ * Get the metadata property: The metadata from the expansion operation results.
+ *
+ * @return the metadata value.
+ */
+ public ExpansionResultsMetadata metadata() {
+ return this.metadata;
+ }
+
+ /**
+ * Set the metadata property: The metadata from the expansion operation results.
+ *
+ * @param metadata the metadata value to set.
+ * @return the BookmarkExpandResponseInner object itself.
+ */
+ public BookmarkExpandResponseInner withMetadata(ExpansionResultsMetadata metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Get the value property: The expansion result values.
+ *
+ * @return the value value.
+ */
+ public BookmarkExpandResponseValue value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The expansion result values.
+ *
+ * @param value the value value to set.
+ * @return the BookmarkExpandResponseInner object itself.
+ */
+ public BookmarkExpandResponseInner withValue(BookmarkExpandResponseValue value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (metadata() != null) {
+ metadata().validate();
+ }
+ if (value() != null) {
+ value().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkInner.java
new file mode 100644
index 000000000000..31ebe211aed2
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkInner.java
@@ -0,0 +1,355 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.IncidentInfo;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.azure.resourcemanager.securityinsights.models.UserInfo;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Represents a bookmark in Azure Security Insights. */
+@Fluent
+public final class BookmarkInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(BookmarkInner.class);
+
+ /*
+ * Bookmark properties
+ */
+ @JsonProperty(value = "properties")
+ private BookmarkProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Bookmark properties.
+ *
+ * @return the innerProperties value.
+ */
+ private BookmarkProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public BookmarkInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Get the created property: The time the bookmark was created.
+ *
+ * @return the created value.
+ */
+ public OffsetDateTime created() {
+ return this.innerProperties() == null ? null : this.innerProperties().created();
+ }
+
+ /**
+ * Set the created property: The time the bookmark was created.
+ *
+ * @param created the created value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withCreated(OffsetDateTime created) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withCreated(created);
+ return this;
+ }
+
+ /**
+ * Get the createdBy property: Describes a user that created the bookmark.
+ *
+ * @return the createdBy value.
+ */
+ public UserInfo createdBy() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdBy();
+ }
+
+ /**
+ * Set the createdBy property: Describes a user that created the bookmark.
+ *
+ * @param createdBy the createdBy value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withCreatedBy(UserInfo createdBy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withCreatedBy(createdBy);
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The display name of the bookmark.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Set the displayName property: The display name of the bookmark.
+ *
+ * @param displayName the displayName value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withDisplayName(String displayName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withDisplayName(displayName);
+ return this;
+ }
+
+ /**
+ * Get the labels property: List of labels relevant to this bookmark.
+ *
+ * @return the labels value.
+ */
+ public List labels() {
+ return this.innerProperties() == null ? null : this.innerProperties().labels();
+ }
+
+ /**
+ * Set the labels property: List of labels relevant to this bookmark.
+ *
+ * @param labels the labels value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withLabels(List labels) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withLabels(labels);
+ return this;
+ }
+
+ /**
+ * Get the notes property: The notes of the bookmark.
+ *
+ * @return the notes value.
+ */
+ public String notes() {
+ return this.innerProperties() == null ? null : this.innerProperties().notes();
+ }
+
+ /**
+ * Set the notes property: The notes of the bookmark.
+ *
+ * @param notes the notes value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withNotes(String notes) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withNotes(notes);
+ return this;
+ }
+
+ /**
+ * Get the query property: The query of the bookmark.
+ *
+ * @return the query value.
+ */
+ public String query() {
+ return this.innerProperties() == null ? null : this.innerProperties().query();
+ }
+
+ /**
+ * Set the query property: The query of the bookmark.
+ *
+ * @param query the query value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withQuery(String query) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withQuery(query);
+ return this;
+ }
+
+ /**
+ * Get the queryResult property: The query result of the bookmark.
+ *
+ * @return the queryResult value.
+ */
+ public String queryResult() {
+ return this.innerProperties() == null ? null : this.innerProperties().queryResult();
+ }
+
+ /**
+ * Set the queryResult property: The query result of the bookmark.
+ *
+ * @param queryResult the queryResult value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withQueryResult(String queryResult) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withQueryResult(queryResult);
+ return this;
+ }
+
+ /**
+ * Get the updated property: The last time the bookmark was updated.
+ *
+ * @return the updated value.
+ */
+ public OffsetDateTime updated() {
+ return this.innerProperties() == null ? null : this.innerProperties().updated();
+ }
+
+ /**
+ * Set the updated property: The last time the bookmark was updated.
+ *
+ * @param updated the updated value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withUpdated(OffsetDateTime updated) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withUpdated(updated);
+ return this;
+ }
+
+ /**
+ * Get the updatedBy property: Describes a user that updated the bookmark.
+ *
+ * @return the updatedBy value.
+ */
+ public UserInfo updatedBy() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedBy();
+ }
+
+ /**
+ * Set the updatedBy property: Describes a user that updated the bookmark.
+ *
+ * @param updatedBy the updatedBy value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withUpdatedBy(UserInfo updatedBy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withUpdatedBy(updatedBy);
+ return this;
+ }
+
+ /**
+ * Get the eventTime property: The bookmark event time.
+ *
+ * @return the eventTime value.
+ */
+ public OffsetDateTime eventTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().eventTime();
+ }
+
+ /**
+ * Set the eventTime property: The bookmark event time.
+ *
+ * @param eventTime the eventTime value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withEventTime(OffsetDateTime eventTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withEventTime(eventTime);
+ return this;
+ }
+
+ /**
+ * Get the queryStartTime property: The start time for the query.
+ *
+ * @return the queryStartTime value.
+ */
+ public OffsetDateTime queryStartTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().queryStartTime();
+ }
+
+ /**
+ * Set the queryStartTime property: The start time for the query.
+ *
+ * @param queryStartTime the queryStartTime value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withQueryStartTime(OffsetDateTime queryStartTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withQueryStartTime(queryStartTime);
+ return this;
+ }
+
+ /**
+ * Get the queryEndTime property: The end time for the query.
+ *
+ * @return the queryEndTime value.
+ */
+ public OffsetDateTime queryEndTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().queryEndTime();
+ }
+
+ /**
+ * Set the queryEndTime property: The end time for the query.
+ *
+ * @param queryEndTime the queryEndTime value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withQueryEndTime(OffsetDateTime queryEndTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withQueryEndTime(queryEndTime);
+ return this;
+ }
+
+ /**
+ * Get the incidentInfo property: Describes an incident that relates to bookmark.
+ *
+ * @return the incidentInfo value.
+ */
+ public IncidentInfo incidentInfo() {
+ return this.innerProperties() == null ? null : this.innerProperties().incidentInfo();
+ }
+
+ /**
+ * Set the incidentInfo property: Describes an incident that relates to bookmark.
+ *
+ * @param incidentInfo the incidentInfo value to set.
+ * @return the BookmarkInner object itself.
+ */
+ public BookmarkInner withIncidentInfo(IncidentInfo incidentInfo) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new BookmarkProperties();
+ }
+ this.innerProperties().withIncidentInfo(incidentInfo);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkProperties.java
new file mode 100644
index 000000000000..3af22d683f78
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/BookmarkProperties.java
@@ -0,0 +1,385 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.IncidentInfo;
+import com.azure.resourcemanager.securityinsights.models.UserInfo;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Describes bookmark properties. */
+@Fluent
+public final class BookmarkProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(BookmarkProperties.class);
+
+ /*
+ * The time the bookmark was created
+ */
+ @JsonProperty(value = "created")
+ private OffsetDateTime created;
+
+ /*
+ * Describes a user that created the bookmark
+ */
+ @JsonProperty(value = "createdBy")
+ private UserInfo createdBy;
+
+ /*
+ * The display name of the bookmark
+ */
+ @JsonProperty(value = "displayName", required = true)
+ private String displayName;
+
+ /*
+ * List of labels relevant to this bookmark
+ */
+ @JsonProperty(value = "labels")
+ private List labels;
+
+ /*
+ * The notes of the bookmark
+ */
+ @JsonProperty(value = "notes")
+ private String notes;
+
+ /*
+ * The query of the bookmark.
+ */
+ @JsonProperty(value = "query", required = true)
+ private String query;
+
+ /*
+ * The query result of the bookmark.
+ */
+ @JsonProperty(value = "queryResult")
+ private String queryResult;
+
+ /*
+ * The last time the bookmark was updated
+ */
+ @JsonProperty(value = "updated")
+ private OffsetDateTime updated;
+
+ /*
+ * Describes a user that updated the bookmark
+ */
+ @JsonProperty(value = "updatedBy")
+ private UserInfo updatedBy;
+
+ /*
+ * The bookmark event time
+ */
+ @JsonProperty(value = "eventTime")
+ private OffsetDateTime eventTime;
+
+ /*
+ * The start time for the query
+ */
+ @JsonProperty(value = "queryStartTime")
+ private OffsetDateTime queryStartTime;
+
+ /*
+ * The end time for the query
+ */
+ @JsonProperty(value = "queryEndTime")
+ private OffsetDateTime queryEndTime;
+
+ /*
+ * Describes an incident that relates to bookmark
+ */
+ @JsonProperty(value = "incidentInfo")
+ private IncidentInfo incidentInfo;
+
+ /**
+ * Get the created property: The time the bookmark was created.
+ *
+ * @return the created value.
+ */
+ public OffsetDateTime created() {
+ return this.created;
+ }
+
+ /**
+ * Set the created property: The time the bookmark was created.
+ *
+ * @param created the created value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withCreated(OffsetDateTime created) {
+ this.created = created;
+ return this;
+ }
+
+ /**
+ * Get the createdBy property: Describes a user that created the bookmark.
+ *
+ * @return the createdBy value.
+ */
+ public UserInfo createdBy() {
+ return this.createdBy;
+ }
+
+ /**
+ * Set the createdBy property: Describes a user that created the bookmark.
+ *
+ * @param createdBy the createdBy value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withCreatedBy(UserInfo createdBy) {
+ this.createdBy = createdBy;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The display name of the bookmark.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The display name of the bookmark.
+ *
+ * @param displayName the displayName value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the labels property: List of labels relevant to this bookmark.
+ *
+ * @return the labels value.
+ */
+ public List labels() {
+ return this.labels;
+ }
+
+ /**
+ * Set the labels property: List of labels relevant to this bookmark.
+ *
+ * @param labels the labels value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withLabels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+
+ /**
+ * Get the notes property: The notes of the bookmark.
+ *
+ * @return the notes value.
+ */
+ public String notes() {
+ return this.notes;
+ }
+
+ /**
+ * Set the notes property: The notes of the bookmark.
+ *
+ * @param notes the notes value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withNotes(String notes) {
+ this.notes = notes;
+ return this;
+ }
+
+ /**
+ * Get the query property: The query of the bookmark.
+ *
+ * @return the query value.
+ */
+ public String query() {
+ return this.query;
+ }
+
+ /**
+ * Set the query property: The query of the bookmark.
+ *
+ * @param query the query value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withQuery(String query) {
+ this.query = query;
+ return this;
+ }
+
+ /**
+ * Get the queryResult property: The query result of the bookmark.
+ *
+ * @return the queryResult value.
+ */
+ public String queryResult() {
+ return this.queryResult;
+ }
+
+ /**
+ * Set the queryResult property: The query result of the bookmark.
+ *
+ * @param queryResult the queryResult value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withQueryResult(String queryResult) {
+ this.queryResult = queryResult;
+ return this;
+ }
+
+ /**
+ * Get the updated property: The last time the bookmark was updated.
+ *
+ * @return the updated value.
+ */
+ public OffsetDateTime updated() {
+ return this.updated;
+ }
+
+ /**
+ * Set the updated property: The last time the bookmark was updated.
+ *
+ * @param updated the updated value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withUpdated(OffsetDateTime updated) {
+ this.updated = updated;
+ return this;
+ }
+
+ /**
+ * Get the updatedBy property: Describes a user that updated the bookmark.
+ *
+ * @return the updatedBy value.
+ */
+ public UserInfo updatedBy() {
+ return this.updatedBy;
+ }
+
+ /**
+ * Set the updatedBy property: Describes a user that updated the bookmark.
+ *
+ * @param updatedBy the updatedBy value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withUpdatedBy(UserInfo updatedBy) {
+ this.updatedBy = updatedBy;
+ return this;
+ }
+
+ /**
+ * Get the eventTime property: The bookmark event time.
+ *
+ * @return the eventTime value.
+ */
+ public OffsetDateTime eventTime() {
+ return this.eventTime;
+ }
+
+ /**
+ * Set the eventTime property: The bookmark event time.
+ *
+ * @param eventTime the eventTime value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withEventTime(OffsetDateTime eventTime) {
+ this.eventTime = eventTime;
+ return this;
+ }
+
+ /**
+ * Get the queryStartTime property: The start time for the query.
+ *
+ * @return the queryStartTime value.
+ */
+ public OffsetDateTime queryStartTime() {
+ return this.queryStartTime;
+ }
+
+ /**
+ * Set the queryStartTime property: The start time for the query.
+ *
+ * @param queryStartTime the queryStartTime value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withQueryStartTime(OffsetDateTime queryStartTime) {
+ this.queryStartTime = queryStartTime;
+ return this;
+ }
+
+ /**
+ * Get the queryEndTime property: The end time for the query.
+ *
+ * @return the queryEndTime value.
+ */
+ public OffsetDateTime queryEndTime() {
+ return this.queryEndTime;
+ }
+
+ /**
+ * Set the queryEndTime property: The end time for the query.
+ *
+ * @param queryEndTime the queryEndTime value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withQueryEndTime(OffsetDateTime queryEndTime) {
+ this.queryEndTime = queryEndTime;
+ return this;
+ }
+
+ /**
+ * Get the incidentInfo property: Describes an incident that relates to bookmark.
+ *
+ * @return the incidentInfo value.
+ */
+ public IncidentInfo incidentInfo() {
+ return this.incidentInfo;
+ }
+
+ /**
+ * Set the incidentInfo property: Describes an incident that relates to bookmark.
+ *
+ * @param incidentInfo the incidentInfo value to set.
+ * @return the BookmarkProperties object itself.
+ */
+ public BookmarkProperties withIncidentInfo(IncidentInfo incidentInfo) {
+ this.incidentInfo = incidentInfo;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (createdBy() != null) {
+ createdBy().validate();
+ }
+ if (displayName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property displayName in model BookmarkProperties"));
+ }
+ if (query() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property query in model BookmarkProperties"));
+ }
+ if (updatedBy() != null) {
+ updatedBy().validate();
+ }
+ if (incidentInfo() != null) {
+ incidentInfo().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/CloudApplicationEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/CloudApplicationEntityProperties.java
new file mode 100644
index 000000000000..d037691c6a96
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/CloudApplicationEntityProperties.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** CloudApplication entity property bag. */
+@Immutable
+public final class CloudApplicationEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CloudApplicationEntityProperties.class);
+
+ /*
+ * The technical identifier of the application.
+ */
+ @JsonProperty(value = "appId", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer appId;
+
+ /*
+ * The name of the related cloud application.
+ */
+ @JsonProperty(value = "appName", access = JsonProperty.Access.WRITE_ONLY)
+ private String appName;
+
+ /*
+ * The user defined instance name of the cloud application. It is often
+ * used to distinguish between several applications of the same type that a
+ * customer has.
+ */
+ @JsonProperty(value = "instanceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String instanceName;
+
+ /**
+ * Get the appId property: The technical identifier of the application.
+ *
+ * @return the appId value.
+ */
+ public Integer appId() {
+ return this.appId;
+ }
+
+ /**
+ * Get the appName property: The name of the related cloud application.
+ *
+ * @return the appName value.
+ */
+ public String appName() {
+ return this.appName;
+ }
+
+ /**
+ * Get the instanceName property: The user defined instance name of the cloud application. It is often used to
+ * distinguish between several applications of the same type that a customer has.
+ *
+ * @return the instanceName value.
+ */
+ public String instanceName() {
+ return this.instanceName;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/CodelessParameters.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/CodelessParameters.java
new file mode 100644
index 000000000000..6ebc547ca30f
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/CodelessParameters.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiConnectorConfigProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Represents Codeless UI data connector. */
+@Fluent
+public final class CodelessParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CodelessParameters.class);
+
+ /*
+ * Config to describe the instructions blade
+ */
+ @JsonProperty(value = "connectorUiConfig")
+ private CodelessUiConnectorConfigProperties connectorUiConfig;
+
+ /**
+ * Get the connectorUiConfig property: Config to describe the instructions blade.
+ *
+ * @return the connectorUiConfig value.
+ */
+ public CodelessUiConnectorConfigProperties connectorUiConfig() {
+ return this.connectorUiConfig;
+ }
+
+ /**
+ * Set the connectorUiConfig property: Config to describe the instructions blade.
+ *
+ * @param connectorUiConfig the connectorUiConfig value to set.
+ * @return the CodelessParameters object itself.
+ */
+ public CodelessParameters withConnectorUiConfig(CodelessUiConnectorConfigProperties connectorUiConfig) {
+ this.connectorUiConfig = connectorUiConfig;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (connectorUiConfig() != null) {
+ connectorUiConfig().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DataConnectorInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DataConnectorInner.java
new file mode 100644
index 000000000000..b5e7cfed64a3
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DataConnectorInner.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AadDataConnector;
+import com.azure.resourcemanager.securityinsights.models.AatpDataConnector;
+import com.azure.resourcemanager.securityinsights.models.AscDataConnector;
+import com.azure.resourcemanager.securityinsights.models.AwsCloudTrailDataConnector;
+import com.azure.resourcemanager.securityinsights.models.AwsS3DataConnector;
+import com.azure.resourcemanager.securityinsights.models.CodelessApiPollingDataConnector;
+import com.azure.resourcemanager.securityinsights.models.CodelessUiDataConnector;
+import com.azure.resourcemanager.securityinsights.models.Dynamics365DataConnector;
+import com.azure.resourcemanager.securityinsights.models.McasDataConnector;
+import com.azure.resourcemanager.securityinsights.models.MdatpDataConnector;
+import com.azure.resourcemanager.securityinsights.models.MstiDataConnector;
+import com.azure.resourcemanager.securityinsights.models.MtpDataConnector;
+import com.azure.resourcemanager.securityinsights.models.OfficeAtpDataConnector;
+import com.azure.resourcemanager.securityinsights.models.OfficeDataConnector;
+import com.azure.resourcemanager.securityinsights.models.OfficeIrmDataConnector;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.azure.resourcemanager.securityinsights.models.TIDataConnector;
+import com.azure.resourcemanager.securityinsights.models.TiTaxiiDataConnector;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Data connector. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = DataConnectorInner.class)
+@JsonTypeName("DataConnector")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "AzureActiveDirectory", value = AadDataConnector.class),
+ @JsonSubTypes.Type(name = "MicrosoftThreatIntelligence", value = MstiDataConnector.class),
+ @JsonSubTypes.Type(name = "MicrosoftThreatProtection", value = MtpDataConnector.class),
+ @JsonSubTypes.Type(name = "AzureAdvancedThreatProtection", value = AatpDataConnector.class),
+ @JsonSubTypes.Type(name = "AzureSecurityCenter", value = AscDataConnector.class),
+ @JsonSubTypes.Type(name = "AmazonWebServicesCloudTrail", value = AwsCloudTrailDataConnector.class),
+ @JsonSubTypes.Type(name = "AmazonWebServicesS3", value = AwsS3DataConnector.class),
+ @JsonSubTypes.Type(name = "MicrosoftCloudAppSecurity", value = McasDataConnector.class),
+ @JsonSubTypes.Type(name = "Dynamics365", value = Dynamics365DataConnector.class),
+ @JsonSubTypes.Type(name = "OfficeATP", value = OfficeAtpDataConnector.class),
+ @JsonSubTypes.Type(name = "OfficeIRM", value = OfficeIrmDataConnector.class),
+ @JsonSubTypes.Type(name = "MicrosoftDefenderAdvancedThreatProtection", value = MdatpDataConnector.class),
+ @JsonSubTypes.Type(name = "Office365", value = OfficeDataConnector.class),
+ @JsonSubTypes.Type(name = "ThreatIntelligence", value = TIDataConnector.class),
+ @JsonSubTypes.Type(name = "ThreatIntelligenceTaxii", value = TiTaxiiDataConnector.class),
+ @JsonSubTypes.Type(name = "GenericUI", value = CodelessUiDataConnector.class),
+ @JsonSubTypes.Type(name = "APIPolling", value = CodelessApiPollingDataConnector.class)
+})
+@Fluent
+public class DataConnectorInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataConnectorInner.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public DataConnectorInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DataConnectorRequirementsStateInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DataConnectorRequirementsStateInner.java
new file mode 100644
index 000000000000..3b8481e6604f
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DataConnectorRequirementsStateInner.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorAuthorizationState;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorLicenseState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Data connector requirements status. */
+@Fluent
+public final class DataConnectorRequirementsStateInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataConnectorRequirementsStateInner.class);
+
+ /*
+ * Authorization state for this connector
+ */
+ @JsonProperty(value = "authorizationState")
+ private DataConnectorAuthorizationState authorizationState;
+
+ /*
+ * License state for this connector
+ */
+ @JsonProperty(value = "licenseState")
+ private DataConnectorLicenseState licenseState;
+
+ /**
+ * Get the authorizationState property: Authorization state for this connector.
+ *
+ * @return the authorizationState value.
+ */
+ public DataConnectorAuthorizationState authorizationState() {
+ return this.authorizationState;
+ }
+
+ /**
+ * Set the authorizationState property: Authorization state for this connector.
+ *
+ * @param authorizationState the authorizationState value to set.
+ * @return the DataConnectorRequirementsStateInner object itself.
+ */
+ public DataConnectorRequirementsStateInner withAuthorizationState(
+ DataConnectorAuthorizationState authorizationState) {
+ this.authorizationState = authorizationState;
+ return this;
+ }
+
+ /**
+ * Get the licenseState property: License state for this connector.
+ *
+ * @return the licenseState value.
+ */
+ public DataConnectorLicenseState licenseState() {
+ return this.licenseState;
+ }
+
+ /**
+ * Set the licenseState property: License state for this connector.
+ *
+ * @param licenseState the licenseState value to set.
+ * @return the DataConnectorRequirementsStateInner object itself.
+ */
+ public DataConnectorRequirementsStateInner withLicenseState(DataConnectorLicenseState licenseState) {
+ this.licenseState = licenseState;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DnsEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DnsEntityProperties.java
new file mode 100644
index 000000000000..a7f34eb0e838
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/DnsEntityProperties.java
@@ -0,0 +1,88 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Dns entity property bag. */
+@Immutable
+public final class DnsEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DnsEntityProperties.class);
+
+ /*
+ * An ip entity id for the dns server resolving the request
+ */
+ @JsonProperty(value = "dnsServerIpEntityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String dnsServerIpEntityId;
+
+ /*
+ * The name of the dns record associated with the alert
+ */
+ @JsonProperty(value = "domainName", access = JsonProperty.Access.WRITE_ONLY)
+ private String domainName;
+
+ /*
+ * An ip entity id for the dns request client
+ */
+ @JsonProperty(value = "hostIpAddressEntityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostIpAddressEntityId;
+
+ /*
+ * Ip entity identifiers for the resolved ip address.
+ */
+ @JsonProperty(value = "ipAddressEntityIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List ipAddressEntityIds;
+
+ /**
+ * Get the dnsServerIpEntityId property: An ip entity id for the dns server resolving the request.
+ *
+ * @return the dnsServerIpEntityId value.
+ */
+ public String dnsServerIpEntityId() {
+ return this.dnsServerIpEntityId;
+ }
+
+ /**
+ * Get the domainName property: The name of the dns record associated with the alert.
+ *
+ * @return the domainName value.
+ */
+ public String domainName() {
+ return this.domainName;
+ }
+
+ /**
+ * Get the hostIpAddressEntityId property: An ip entity id for the dns request client.
+ *
+ * @return the hostIpAddressEntityId value.
+ */
+ public String hostIpAddressEntityId() {
+ return this.hostIpAddressEntityId;
+ }
+
+ /**
+ * Get the ipAddressEntityIds property: Ip entity identifiers for the resolved ip address.
+ *
+ * @return the ipAddressEntityIds value.
+ */
+ public List ipAddressEntityIds() {
+ return this.ipAddressEntityIds;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/Dynamics365CheckRequirementsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/Dynamics365CheckRequirementsProperties.java
new file mode 100644
index 000000000000..03efa6fbcc05
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/Dynamics365CheckRequirementsProperties.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/** Dynamics365 requirements check properties. */
+@Fluent
+public final class Dynamics365CheckRequirementsProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(Dynamics365CheckRequirementsProperties.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public Dynamics365CheckRequirementsProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/Dynamics365DataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/Dynamics365DataConnectorProperties.java
new file mode 100644
index 000000000000..792da73f8e5b
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/Dynamics365DataConnectorProperties.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.azure.resourcemanager.securityinsights.models.Dynamics365DataConnectorDataTypes;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Dynamics365 data connector properties. */
+@Fluent
+public final class Dynamics365DataConnectorProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(Dynamics365DataConnectorProperties.class);
+
+ /*
+ * The available data types for the connector.
+ */
+ @JsonProperty(value = "dataTypes", required = true)
+ private Dynamics365DataConnectorDataTypes dataTypes;
+
+ /**
+ * Get the dataTypes property: The available data types for the connector.
+ *
+ * @return the dataTypes value.
+ */
+ public Dynamics365DataConnectorDataTypes dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: The available data types for the connector.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the Dynamics365DataConnectorProperties object itself.
+ */
+ public Dynamics365DataConnectorProperties withDataTypes(Dynamics365DataConnectorDataTypes dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Dynamics365DataConnectorProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (dataTypes() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property dataTypes in model Dynamics365DataConnectorProperties"));
+ } else {
+ dataTypes().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EnrichmentDomainWhoisInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EnrichmentDomainWhoisInner.java
new file mode 100644
index 000000000000..881013f2721a
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EnrichmentDomainWhoisInner.java
@@ -0,0 +1,185 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EnrichmentDomainWhoisDetails;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Whois information for a given domain and associated metadata. */
+@Fluent
+public final class EnrichmentDomainWhoisInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EnrichmentDomainWhoisInner.class);
+
+ /*
+ * The domain for this whois record
+ */
+ @JsonProperty(value = "domain")
+ private String domain;
+
+ /*
+ * The hostname of this registrar's whois server
+ */
+ @JsonProperty(value = "server")
+ private String server;
+
+ /*
+ * The timestamp at which this record was created
+ */
+ @JsonProperty(value = "created")
+ private OffsetDateTime created;
+
+ /*
+ * The timestamp at which this record was last updated
+ */
+ @JsonProperty(value = "updated")
+ private OffsetDateTime updated;
+
+ /*
+ * The timestamp at which this record will expire
+ */
+ @JsonProperty(value = "expires")
+ private OffsetDateTime expires;
+
+ /*
+ * The whois record for a given domain
+ */
+ @JsonProperty(value = "parsedWhois")
+ private EnrichmentDomainWhoisDetails parsedWhois;
+
+ /**
+ * Get the domain property: The domain for this whois record.
+ *
+ * @return the domain value.
+ */
+ public String domain() {
+ return this.domain;
+ }
+
+ /**
+ * Set the domain property: The domain for this whois record.
+ *
+ * @param domain the domain value to set.
+ * @return the EnrichmentDomainWhoisInner object itself.
+ */
+ public EnrichmentDomainWhoisInner withDomain(String domain) {
+ this.domain = domain;
+ return this;
+ }
+
+ /**
+ * Get the server property: The hostname of this registrar's whois server.
+ *
+ * @return the server value.
+ */
+ public String server() {
+ return this.server;
+ }
+
+ /**
+ * Set the server property: The hostname of this registrar's whois server.
+ *
+ * @param server the server value to set.
+ * @return the EnrichmentDomainWhoisInner object itself.
+ */
+ public EnrichmentDomainWhoisInner withServer(String server) {
+ this.server = server;
+ return this;
+ }
+
+ /**
+ * Get the created property: The timestamp at which this record was created.
+ *
+ * @return the created value.
+ */
+ public OffsetDateTime created() {
+ return this.created;
+ }
+
+ /**
+ * Set the created property: The timestamp at which this record was created.
+ *
+ * @param created the created value to set.
+ * @return the EnrichmentDomainWhoisInner object itself.
+ */
+ public EnrichmentDomainWhoisInner withCreated(OffsetDateTime created) {
+ this.created = created;
+ return this;
+ }
+
+ /**
+ * Get the updated property: The timestamp at which this record was last updated.
+ *
+ * @return the updated value.
+ */
+ public OffsetDateTime updated() {
+ return this.updated;
+ }
+
+ /**
+ * Set the updated property: The timestamp at which this record was last updated.
+ *
+ * @param updated the updated value to set.
+ * @return the EnrichmentDomainWhoisInner object itself.
+ */
+ public EnrichmentDomainWhoisInner withUpdated(OffsetDateTime updated) {
+ this.updated = updated;
+ return this;
+ }
+
+ /**
+ * Get the expires property: The timestamp at which this record will expire.
+ *
+ * @return the expires value.
+ */
+ public OffsetDateTime expires() {
+ return this.expires;
+ }
+
+ /**
+ * Set the expires property: The timestamp at which this record will expire.
+ *
+ * @param expires the expires value to set.
+ * @return the EnrichmentDomainWhoisInner object itself.
+ */
+ public EnrichmentDomainWhoisInner withExpires(OffsetDateTime expires) {
+ this.expires = expires;
+ return this;
+ }
+
+ /**
+ * Get the parsedWhois property: The whois record for a given domain.
+ *
+ * @return the parsedWhois value.
+ */
+ public EnrichmentDomainWhoisDetails parsedWhois() {
+ return this.parsedWhois;
+ }
+
+ /**
+ * Set the parsedWhois property: The whois record for a given domain.
+ *
+ * @param parsedWhois the parsedWhois value to set.
+ * @return the EnrichmentDomainWhoisInner object itself.
+ */
+ public EnrichmentDomainWhoisInner withParsedWhois(EnrichmentDomainWhoisDetails parsedWhois) {
+ this.parsedWhois = parsedWhois;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (parsedWhois() != null) {
+ parsedWhois().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EnrichmentIpGeodataInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EnrichmentIpGeodataInner.java
new file mode 100644
index 000000000000..26f8e1d135ad
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EnrichmentIpGeodataInner.java
@@ -0,0 +1,476 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Geodata information for a given IP address. */
+@Fluent
+public final class EnrichmentIpGeodataInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EnrichmentIpGeodataInner.class);
+
+ /*
+ * The autonomous system number associated with this IP address
+ */
+ @JsonProperty(value = "asn")
+ private String asn;
+
+ /*
+ * The name of the carrier for this IP address
+ */
+ @JsonProperty(value = "carrier")
+ private String carrier;
+
+ /*
+ * The city this IP address is located in
+ */
+ @JsonProperty(value = "city")
+ private String city;
+
+ /*
+ * A numeric rating of confidence that the value in the 'city' field is
+ * correct, on a scale of 0-100
+ */
+ @JsonProperty(value = "cityCf")
+ private Integer cityCf;
+
+ /*
+ * The continent this IP address is located on
+ */
+ @JsonProperty(value = "continent")
+ private String continent;
+
+ /*
+ * The county this IP address is located in
+ */
+ @JsonProperty(value = "country")
+ private String country;
+
+ /*
+ * A numeric rating of confidence that the value in the 'country' field is
+ * correct on a scale of 0-100
+ */
+ @JsonProperty(value = "countryCf")
+ private Integer countryCf;
+
+ /*
+ * The dotted-decimal or colon-separated string representation of the IP
+ * address
+ */
+ @JsonProperty(value = "ipAddr")
+ private String ipAddr;
+
+ /*
+ * A description of the connection type of this IP address
+ */
+ @JsonProperty(value = "ipRoutingType")
+ private String ipRoutingType;
+
+ /*
+ * The latitude of this IP address
+ */
+ @JsonProperty(value = "latitude")
+ private String latitude;
+
+ /*
+ * The longitude of this IP address
+ */
+ @JsonProperty(value = "longitude")
+ private String longitude;
+
+ /*
+ * The name of the organization for this IP address
+ */
+ @JsonProperty(value = "organization")
+ private String organization;
+
+ /*
+ * The type of the organization for this IP address
+ */
+ @JsonProperty(value = "organizationType")
+ private String organizationType;
+
+ /*
+ * The geographic region this IP address is located in
+ */
+ @JsonProperty(value = "region")
+ private String region;
+
+ /*
+ * The state this IP address is located in
+ */
+ @JsonProperty(value = "state")
+ private String state;
+
+ /*
+ * A numeric rating of confidence that the value in the 'state' field is
+ * correct on a scale of 0-100
+ */
+ @JsonProperty(value = "stateCf")
+ private Integer stateCf;
+
+ /*
+ * The abbreviated name for the state this IP address is located in
+ */
+ @JsonProperty(value = "stateCode")
+ private String stateCode;
+
+ /**
+ * Get the asn property: The autonomous system number associated with this IP address.
+ *
+ * @return the asn value.
+ */
+ public String asn() {
+ return this.asn;
+ }
+
+ /**
+ * Set the asn property: The autonomous system number associated with this IP address.
+ *
+ * @param asn the asn value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withAsn(String asn) {
+ this.asn = asn;
+ return this;
+ }
+
+ /**
+ * Get the carrier property: The name of the carrier for this IP address.
+ *
+ * @return the carrier value.
+ */
+ public String carrier() {
+ return this.carrier;
+ }
+
+ /**
+ * Set the carrier property: The name of the carrier for this IP address.
+ *
+ * @param carrier the carrier value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withCarrier(String carrier) {
+ this.carrier = carrier;
+ return this;
+ }
+
+ /**
+ * Get the city property: The city this IP address is located in.
+ *
+ * @return the city value.
+ */
+ public String city() {
+ return this.city;
+ }
+
+ /**
+ * Set the city property: The city this IP address is located in.
+ *
+ * @param city the city value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withCity(String city) {
+ this.city = city;
+ return this;
+ }
+
+ /**
+ * Get the cityCf property: A numeric rating of confidence that the value in the 'city' field is correct, on a scale
+ * of 0-100.
+ *
+ * @return the cityCf value.
+ */
+ public Integer cityCf() {
+ return this.cityCf;
+ }
+
+ /**
+ * Set the cityCf property: A numeric rating of confidence that the value in the 'city' field is correct, on a scale
+ * of 0-100.
+ *
+ * @param cityCf the cityCf value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withCityCf(Integer cityCf) {
+ this.cityCf = cityCf;
+ return this;
+ }
+
+ /**
+ * Get the continent property: The continent this IP address is located on.
+ *
+ * @return the continent value.
+ */
+ public String continent() {
+ return this.continent;
+ }
+
+ /**
+ * Set the continent property: The continent this IP address is located on.
+ *
+ * @param continent the continent value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withContinent(String continent) {
+ this.continent = continent;
+ return this;
+ }
+
+ /**
+ * Get the country property: The county this IP address is located in.
+ *
+ * @return the country value.
+ */
+ public String country() {
+ return this.country;
+ }
+
+ /**
+ * Set the country property: The county this IP address is located in.
+ *
+ * @param country the country value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withCountry(String country) {
+ this.country = country;
+ return this;
+ }
+
+ /**
+ * Get the countryCf property: A numeric rating of confidence that the value in the 'country' field is correct on a
+ * scale of 0-100.
+ *
+ * @return the countryCf value.
+ */
+ public Integer countryCf() {
+ return this.countryCf;
+ }
+
+ /**
+ * Set the countryCf property: A numeric rating of confidence that the value in the 'country' field is correct on a
+ * scale of 0-100.
+ *
+ * @param countryCf the countryCf value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withCountryCf(Integer countryCf) {
+ this.countryCf = countryCf;
+ return this;
+ }
+
+ /**
+ * Get the ipAddr property: The dotted-decimal or colon-separated string representation of the IP address.
+ *
+ * @return the ipAddr value.
+ */
+ public String ipAddr() {
+ return this.ipAddr;
+ }
+
+ /**
+ * Set the ipAddr property: The dotted-decimal or colon-separated string representation of the IP address.
+ *
+ * @param ipAddr the ipAddr value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withIpAddr(String ipAddr) {
+ this.ipAddr = ipAddr;
+ return this;
+ }
+
+ /**
+ * Get the ipRoutingType property: A description of the connection type of this IP address.
+ *
+ * @return the ipRoutingType value.
+ */
+ public String ipRoutingType() {
+ return this.ipRoutingType;
+ }
+
+ /**
+ * Set the ipRoutingType property: A description of the connection type of this IP address.
+ *
+ * @param ipRoutingType the ipRoutingType value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withIpRoutingType(String ipRoutingType) {
+ this.ipRoutingType = ipRoutingType;
+ return this;
+ }
+
+ /**
+ * Get the latitude property: The latitude of this IP address.
+ *
+ * @return the latitude value.
+ */
+ public String latitude() {
+ return this.latitude;
+ }
+
+ /**
+ * Set the latitude property: The latitude of this IP address.
+ *
+ * @param latitude the latitude value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withLatitude(String latitude) {
+ this.latitude = latitude;
+ return this;
+ }
+
+ /**
+ * Get the longitude property: The longitude of this IP address.
+ *
+ * @return the longitude value.
+ */
+ public String longitude() {
+ return this.longitude;
+ }
+
+ /**
+ * Set the longitude property: The longitude of this IP address.
+ *
+ * @param longitude the longitude value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withLongitude(String longitude) {
+ this.longitude = longitude;
+ return this;
+ }
+
+ /**
+ * Get the organization property: The name of the organization for this IP address.
+ *
+ * @return the organization value.
+ */
+ public String organization() {
+ return this.organization;
+ }
+
+ /**
+ * Set the organization property: The name of the organization for this IP address.
+ *
+ * @param organization the organization value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withOrganization(String organization) {
+ this.organization = organization;
+ return this;
+ }
+
+ /**
+ * Get the organizationType property: The type of the organization for this IP address.
+ *
+ * @return the organizationType value.
+ */
+ public String organizationType() {
+ return this.organizationType;
+ }
+
+ /**
+ * Set the organizationType property: The type of the organization for this IP address.
+ *
+ * @param organizationType the organizationType value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withOrganizationType(String organizationType) {
+ this.organizationType = organizationType;
+ return this;
+ }
+
+ /**
+ * Get the region property: The geographic region this IP address is located in.
+ *
+ * @return the region value.
+ */
+ public String region() {
+ return this.region;
+ }
+
+ /**
+ * Set the region property: The geographic region this IP address is located in.
+ *
+ * @param region the region value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withRegion(String region) {
+ this.region = region;
+ return this;
+ }
+
+ /**
+ * Get the state property: The state this IP address is located in.
+ *
+ * @return the state value.
+ */
+ public String state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: The state this IP address is located in.
+ *
+ * @param state the state value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withState(String state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the stateCf property: A numeric rating of confidence that the value in the 'state' field is correct on a
+ * scale of 0-100.
+ *
+ * @return the stateCf value.
+ */
+ public Integer stateCf() {
+ return this.stateCf;
+ }
+
+ /**
+ * Set the stateCf property: A numeric rating of confidence that the value in the 'state' field is correct on a
+ * scale of 0-100.
+ *
+ * @param stateCf the stateCf value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withStateCf(Integer stateCf) {
+ this.stateCf = stateCf;
+ return this;
+ }
+
+ /**
+ * Get the stateCode property: The abbreviated name for the state this IP address is located in.
+ *
+ * @return the stateCode value.
+ */
+ public String stateCode() {
+ return this.stateCode;
+ }
+
+ /**
+ * Set the stateCode property: The abbreviated name for the state this IP address is located in.
+ *
+ * @param stateCode the stateCode value to set.
+ * @return the EnrichmentIpGeodataInner object itself.
+ */
+ public EnrichmentIpGeodataInner withStateCode(String stateCode) {
+ this.stateCode = stateCode;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityAnalyticsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityAnalyticsProperties.java
new file mode 100644
index 000000000000..f75e85c31ec3
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityAnalyticsProperties.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** EntityAnalytics property bag. */
+@Immutable
+public final class EntityAnalyticsProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EntityAnalyticsProperties.class);
+
+ /*
+ * Determines whether the setting is enable or disabled.
+ */
+ @JsonProperty(value = "isEnabled", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isEnabled;
+
+ /**
+ * Get the isEnabled property: Determines whether the setting is enable or disabled.
+ *
+ * @return the isEnabled value.
+ */
+ public Boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityExpandResponseInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityExpandResponseInner.java
new file mode 100644
index 000000000000..a7c5592a106c
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityExpandResponseInner.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityExpandResponseValue;
+import com.azure.resourcemanager.securityinsights.models.ExpansionResultsMetadata;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The entity expansion result operation response. */
+@Fluent
+public final class EntityExpandResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EntityExpandResponseInner.class);
+
+ /*
+ * The metadata from the expansion operation results.
+ */
+ @JsonProperty(value = "metaData")
+ private ExpansionResultsMetadata metadata;
+
+ /*
+ * The expansion result values.
+ */
+ @JsonProperty(value = "value")
+ private EntityExpandResponseValue value;
+
+ /**
+ * Get the metadata property: The metadata from the expansion operation results.
+ *
+ * @return the metadata value.
+ */
+ public ExpansionResultsMetadata metadata() {
+ return this.metadata;
+ }
+
+ /**
+ * Set the metadata property: The metadata from the expansion operation results.
+ *
+ * @param metadata the metadata value to set.
+ * @return the EntityExpandResponseInner object itself.
+ */
+ public EntityExpandResponseInner withMetadata(ExpansionResultsMetadata metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Get the value property: The expansion result values.
+ *
+ * @return the value value.
+ */
+ public EntityExpandResponseValue value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The expansion result values.
+ *
+ * @param value the value value to set.
+ * @return the EntityExpandResponseInner object itself.
+ */
+ public EntityExpandResponseInner withValue(EntityExpandResponseValue value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (metadata() != null) {
+ metadata().validate();
+ }
+ if (value() != null) {
+ value().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityGetInsightsResponseInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityGetInsightsResponseInner.java
new file mode 100644
index 000000000000..c9a7a7c6af8c
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityGetInsightsResponseInner.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityInsightItem;
+import com.azure.resourcemanager.securityinsights.models.GetInsightsResultsMetadata;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The Get Insights result operation response. */
+@Fluent
+public final class EntityGetInsightsResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EntityGetInsightsResponseInner.class);
+
+ /*
+ * The metadata from the get insights operation results.
+ */
+ @JsonProperty(value = "metaData")
+ private GetInsightsResultsMetadata metadata;
+
+ /*
+ * The insights result values.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the metadata property: The metadata from the get insights operation results.
+ *
+ * @return the metadata value.
+ */
+ public GetInsightsResultsMetadata metadata() {
+ return this.metadata;
+ }
+
+ /**
+ * Set the metadata property: The metadata from the get insights operation results.
+ *
+ * @param metadata the metadata value to set.
+ * @return the EntityGetInsightsResponseInner object itself.
+ */
+ public EntityGetInsightsResponseInner withMetadata(GetInsightsResultsMetadata metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Get the value property: The insights result values.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The insights result values.
+ *
+ * @param value the value value to set.
+ * @return the EntityGetInsightsResponseInner object itself.
+ */
+ public EntityGetInsightsResponseInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (metadata() != null) {
+ metadata().validate();
+ }
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityInner.java
new file mode 100644
index 000000000000..5db0d30d49cc
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityInner.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AccountEntity;
+import com.azure.resourcemanager.securityinsights.models.AzureResourceEntity;
+import com.azure.resourcemanager.securityinsights.models.CloudApplicationEntity;
+import com.azure.resourcemanager.securityinsights.models.DnsEntity;
+import com.azure.resourcemanager.securityinsights.models.FileEntity;
+import com.azure.resourcemanager.securityinsights.models.FileHashEntity;
+import com.azure.resourcemanager.securityinsights.models.HostEntity;
+import com.azure.resourcemanager.securityinsights.models.HuntingBookmark;
+import com.azure.resourcemanager.securityinsights.models.IoTDeviceEntity;
+import com.azure.resourcemanager.securityinsights.models.IpEntity;
+import com.azure.resourcemanager.securityinsights.models.MailClusterEntity;
+import com.azure.resourcemanager.securityinsights.models.MailMessageEntity;
+import com.azure.resourcemanager.securityinsights.models.MailboxEntity;
+import com.azure.resourcemanager.securityinsights.models.MalwareEntity;
+import com.azure.resourcemanager.securityinsights.models.ProcessEntity;
+import com.azure.resourcemanager.securityinsights.models.RegistryKeyEntity;
+import com.azure.resourcemanager.securityinsights.models.RegistryValueEntity;
+import com.azure.resourcemanager.securityinsights.models.SecurityAlert;
+import com.azure.resourcemanager.securityinsights.models.SecurityGroupEntity;
+import com.azure.resourcemanager.securityinsights.models.SubmissionMailEntity;
+import com.azure.resourcemanager.securityinsights.models.UrlEntity;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Specific entity. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = EntityInner.class)
+@JsonTypeName("Entity")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "SecurityAlert", value = SecurityAlert.class),
+ @JsonSubTypes.Type(name = "Bookmark", value = HuntingBookmark.class),
+ @JsonSubTypes.Type(name = "Account", value = AccountEntity.class),
+ @JsonSubTypes.Type(name = "AzureResource", value = AzureResourceEntity.class),
+ @JsonSubTypes.Type(name = "CloudApplication", value = CloudApplicationEntity.class),
+ @JsonSubTypes.Type(name = "DnsResolution", value = DnsEntity.class),
+ @JsonSubTypes.Type(name = "File", value = FileEntity.class),
+ @JsonSubTypes.Type(name = "FileHash", value = FileHashEntity.class),
+ @JsonSubTypes.Type(name = "Host", value = HostEntity.class),
+ @JsonSubTypes.Type(name = "IoTDevice", value = IoTDeviceEntity.class),
+ @JsonSubTypes.Type(name = "Ip", value = IpEntity.class),
+ @JsonSubTypes.Type(name = "Mailbox", value = MailboxEntity.class),
+ @JsonSubTypes.Type(name = "MailCluster", value = MailClusterEntity.class),
+ @JsonSubTypes.Type(name = "MailMessage", value = MailMessageEntity.class),
+ @JsonSubTypes.Type(name = "Malware", value = MalwareEntity.class),
+ @JsonSubTypes.Type(name = "Process", value = ProcessEntity.class),
+ @JsonSubTypes.Type(name = "RegistryKey", value = RegistryKeyEntity.class),
+ @JsonSubTypes.Type(name = "RegistryValue", value = RegistryValueEntity.class),
+ @JsonSubTypes.Type(name = "SecurityGroup", value = SecurityGroupEntity.class),
+ @JsonSubTypes.Type(name = "SubmissionMail", value = SubmissionMailEntity.class),
+ @JsonSubTypes.Type(name = "Url", value = UrlEntity.class)
+})
+@Immutable
+public class EntityInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EntityInner.class);
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityQueryInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityQueryInner.java
new file mode 100644
index 000000000000..991cb8fc90b6
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityQueryInner.java
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ActivityEntityQuery;
+import com.azure.resourcemanager.securityinsights.models.ExpansionEntityQuery;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Specific entity query. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = EntityQueryInner.class)
+@JsonTypeName("EntityQuery")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Expansion", value = ExpansionEntityQuery.class),
+ @JsonSubTypes.Type(name = "Activity", value = ActivityEntityQuery.class)
+})
+@Fluent
+public class EntityQueryInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EntityQueryInner.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public EntityQueryInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityQueryTemplateInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityQueryTemplateInner.java
new file mode 100644
index 000000000000..1c528778c846
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityQueryTemplateInner.java
@@ -0,0 +1,53 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ActivityEntityQueryTemplate;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Specific entity query template. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = EntityQueryTemplateInner.class)
+@JsonTypeName("EntityQueryTemplate")
+@JsonSubTypes({@JsonSubTypes.Type(name = "Activity", value = ActivityEntityQueryTemplate.class)})
+@Immutable
+public class EntityQueryTemplateInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EntityQueryTemplateInner.class);
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityTimelineResponseInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityTimelineResponseInner.java
new file mode 100644
index 000000000000..2e90c4936603
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EntityTimelineResponseInner.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityTimelineItem;
+import com.azure.resourcemanager.securityinsights.models.TimelineResultsMetadata;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The entity timeline result operation response. */
+@Fluent
+public final class EntityTimelineResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EntityTimelineResponseInner.class);
+
+ /*
+ * The metadata from the timeline operation results.
+ */
+ @JsonProperty(value = "metaData")
+ private TimelineResultsMetadata metadata;
+
+ /*
+ * The timeline result values.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the metadata property: The metadata from the timeline operation results.
+ *
+ * @return the metadata value.
+ */
+ public TimelineResultsMetadata metadata() {
+ return this.metadata;
+ }
+
+ /**
+ * Set the metadata property: The metadata from the timeline operation results.
+ *
+ * @param metadata the metadata value to set.
+ * @return the EntityTimelineResponseInner object itself.
+ */
+ public EntityTimelineResponseInner withMetadata(TimelineResultsMetadata metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Get the value property: The timeline result values.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The timeline result values.
+ *
+ * @param value the value value to set.
+ * @return the EntityTimelineResponseInner object itself.
+ */
+ public EntityTimelineResponseInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (metadata() != null) {
+ metadata().validate();
+ }
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ExpansionEntityQueriesProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ExpansionEntityQueriesProperties.java
new file mode 100644
index 000000000000..a74cf1871f05
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/ExpansionEntityQueriesProperties.java
@@ -0,0 +1,183 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Describes expansion entity query properties. */
+@Fluent
+public final class ExpansionEntityQueriesProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExpansionEntityQueriesProperties.class);
+
+ /*
+ * List of the data sources that are required to run the query
+ */
+ @JsonProperty(value = "dataSources")
+ private List dataSources;
+
+ /*
+ * The query display name
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /*
+ * The type of the query's source entity
+ */
+ @JsonProperty(value = "inputEntityType")
+ private EntityType inputEntityType;
+
+ /*
+ * List of the fields of the source entity that are required to run the
+ * query
+ */
+ @JsonProperty(value = "inputFields")
+ private List inputFields;
+
+ /*
+ * List of the desired output types to be constructed from the result
+ */
+ @JsonProperty(value = "outputEntityTypes")
+ private List outputEntityTypes;
+
+ /*
+ * The template query string to be parsed and formatted
+ */
+ @JsonProperty(value = "queryTemplate")
+ private String queryTemplate;
+
+ /**
+ * Get the dataSources property: List of the data sources that are required to run the query.
+ *
+ * @return the dataSources value.
+ */
+ public List dataSources() {
+ return this.dataSources;
+ }
+
+ /**
+ * Set the dataSources property: List of the data sources that are required to run the query.
+ *
+ * @param dataSources the dataSources value to set.
+ * @return the ExpansionEntityQueriesProperties object itself.
+ */
+ public ExpansionEntityQueriesProperties withDataSources(List dataSources) {
+ this.dataSources = dataSources;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The query display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The query display name.
+ *
+ * @param displayName the displayName value to set.
+ * @return the ExpansionEntityQueriesProperties object itself.
+ */
+ public ExpansionEntityQueriesProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the inputEntityType property: The type of the query's source entity.
+ *
+ * @return the inputEntityType value.
+ */
+ public EntityType inputEntityType() {
+ return this.inputEntityType;
+ }
+
+ /**
+ * Set the inputEntityType property: The type of the query's source entity.
+ *
+ * @param inputEntityType the inputEntityType value to set.
+ * @return the ExpansionEntityQueriesProperties object itself.
+ */
+ public ExpansionEntityQueriesProperties withInputEntityType(EntityType inputEntityType) {
+ this.inputEntityType = inputEntityType;
+ return this;
+ }
+
+ /**
+ * Get the inputFields property: List of the fields of the source entity that are required to run the query.
+ *
+ * @return the inputFields value.
+ */
+ public List inputFields() {
+ return this.inputFields;
+ }
+
+ /**
+ * Set the inputFields property: List of the fields of the source entity that are required to run the query.
+ *
+ * @param inputFields the inputFields value to set.
+ * @return the ExpansionEntityQueriesProperties object itself.
+ */
+ public ExpansionEntityQueriesProperties withInputFields(List inputFields) {
+ this.inputFields = inputFields;
+ return this;
+ }
+
+ /**
+ * Get the outputEntityTypes property: List of the desired output types to be constructed from the result.
+ *
+ * @return the outputEntityTypes value.
+ */
+ public List outputEntityTypes() {
+ return this.outputEntityTypes;
+ }
+
+ /**
+ * Set the outputEntityTypes property: List of the desired output types to be constructed from the result.
+ *
+ * @param outputEntityTypes the outputEntityTypes value to set.
+ * @return the ExpansionEntityQueriesProperties object itself.
+ */
+ public ExpansionEntityQueriesProperties withOutputEntityTypes(List outputEntityTypes) {
+ this.outputEntityTypes = outputEntityTypes;
+ return this;
+ }
+
+ /**
+ * Get the queryTemplate property: The template query string to be parsed and formatted.
+ *
+ * @return the queryTemplate value.
+ */
+ public String queryTemplate() {
+ return this.queryTemplate;
+ }
+
+ /**
+ * Set the queryTemplate property: The template query string to be parsed and formatted.
+ *
+ * @param queryTemplate the queryTemplate value to set.
+ * @return the ExpansionEntityQueriesProperties object itself.
+ */
+ public ExpansionEntityQueriesProperties withQueryTemplate(String queryTemplate) {
+ this.queryTemplate = queryTemplate;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EyesOnSettingsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EyesOnSettingsProperties.java
new file mode 100644
index 000000000000..4f41ccc769b8
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/EyesOnSettingsProperties.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** EyesOn property bag. */
+@Immutable
+public final class EyesOnSettingsProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EyesOnSettingsProperties.class);
+
+ /*
+ * Determines whether the setting is enable or disabled.
+ */
+ @JsonProperty(value = "isEnabled", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isEnabled;
+
+ /**
+ * Get the isEnabled property: Determines whether the setting is enable or disabled.
+ *
+ * @return the isEnabled value.
+ */
+ public Boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FileEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FileEntityProperties.java
new file mode 100644
index 000000000000..e60d088ab576
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FileEntityProperties.java
@@ -0,0 +1,88 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** File entity property bag. */
+@Immutable
+public final class FileEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FileEntityProperties.class);
+
+ /*
+ * The full path to the file.
+ */
+ @JsonProperty(value = "directory", access = JsonProperty.Access.WRITE_ONLY)
+ private String directory;
+
+ /*
+ * The file hash entity identifiers associated with this file
+ */
+ @JsonProperty(value = "fileHashEntityIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List fileHashEntityIds;
+
+ /*
+ * The file name without path (some alerts might not include path).
+ */
+ @JsonProperty(value = "fileName", access = JsonProperty.Access.WRITE_ONLY)
+ private String fileName;
+
+ /*
+ * The Host entity id which the file belongs to
+ */
+ @JsonProperty(value = "hostEntityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostEntityId;
+
+ /**
+ * Get the directory property: The full path to the file.
+ *
+ * @return the directory value.
+ */
+ public String directory() {
+ return this.directory;
+ }
+
+ /**
+ * Get the fileHashEntityIds property: The file hash entity identifiers associated with this file.
+ *
+ * @return the fileHashEntityIds value.
+ */
+ public List fileHashEntityIds() {
+ return this.fileHashEntityIds;
+ }
+
+ /**
+ * Get the fileName property: The file name without path (some alerts might not include path).
+ *
+ * @return the fileName value.
+ */
+ public String fileName() {
+ return this.fileName;
+ }
+
+ /**
+ * Get the hostEntityId property: The Host entity id which the file belongs to.
+ *
+ * @return the hostEntityId value.
+ */
+ public String hostEntityId() {
+ return this.hostEntityId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FileHashEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FileHashEntityProperties.java
new file mode 100644
index 000000000000..e9dd370c0118
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FileHashEntityProperties.java
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.azure.resourcemanager.securityinsights.models.FileHashAlgorithm;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** FileHash entity property bag. */
+@Immutable
+public final class FileHashEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FileHashEntityProperties.class);
+
+ /*
+ * The hash algorithm type.
+ */
+ @JsonProperty(value = "algorithm", access = JsonProperty.Access.WRITE_ONLY)
+ private FileHashAlgorithm algorithm;
+
+ /*
+ * The file hash value.
+ */
+ @JsonProperty(value = "hashValue", access = JsonProperty.Access.WRITE_ONLY)
+ private String hashValue;
+
+ /**
+ * Get the algorithm property: The hash algorithm type.
+ *
+ * @return the algorithm value.
+ */
+ public FileHashAlgorithm algorithm() {
+ return this.algorithm;
+ }
+
+ /**
+ * Get the hashValue property: The file hash value.
+ *
+ * @return the hashValue value.
+ */
+ public String hashValue() {
+ return this.hashValue;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FusionAlertRuleProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FusionAlertRuleProperties.java
new file mode 100644
index 000000000000..595a10752386
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FusionAlertRuleProperties.java
@@ -0,0 +1,161 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertSeverity;
+import com.azure.resourcemanager.securityinsights.models.AttackTactic;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Fusion alert rule base property bag. */
+@Fluent
+public final class FusionAlertRuleProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FusionAlertRuleProperties.class);
+
+ /*
+ * The Name of the alert rule template used to create this rule.
+ */
+ @JsonProperty(value = "alertRuleTemplateName", required = true)
+ private String alertRuleTemplateName;
+
+ /*
+ * The description of the alert rule.
+ */
+ @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY)
+ private String description;
+
+ /*
+ * The display name for alerts created by this alert rule.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /*
+ * Determines whether this alert rule is enabled or disabled.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /*
+ * The last time that this alert has been modified.
+ */
+ @JsonProperty(value = "lastModifiedUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedUtc;
+
+ /*
+ * The severity for alerts created by this alert rule.
+ */
+ @JsonProperty(value = "severity", access = JsonProperty.Access.WRITE_ONLY)
+ private AlertSeverity severity;
+
+ /*
+ * The tactics of the alert rule
+ */
+ @JsonProperty(value = "tactics", access = JsonProperty.Access.WRITE_ONLY)
+ private List tactics;
+
+ /**
+ * Get the alertRuleTemplateName property: The Name of the alert rule template used to create this rule.
+ *
+ * @return the alertRuleTemplateName value.
+ */
+ public String alertRuleTemplateName() {
+ return this.alertRuleTemplateName;
+ }
+
+ /**
+ * Set the alertRuleTemplateName property: The Name of the alert rule template used to create this rule.
+ *
+ * @param alertRuleTemplateName the alertRuleTemplateName value to set.
+ * @return the FusionAlertRuleProperties object itself.
+ */
+ public FusionAlertRuleProperties withAlertRuleTemplateName(String alertRuleTemplateName) {
+ this.alertRuleTemplateName = alertRuleTemplateName;
+ return this;
+ }
+
+ /**
+ * Get the description property: The description of the alert rule.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Get the displayName property: The display name for alerts created by this alert rule.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get the enabled property: Determines whether this alert rule is enabled or disabled.
+ *
+ * @return the enabled value.
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Determines whether this alert rule is enabled or disabled.
+ *
+ * @param enabled the enabled value to set.
+ * @return the FusionAlertRuleProperties object itself.
+ */
+ public FusionAlertRuleProperties withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedUtc property: The last time that this alert has been modified.
+ *
+ * @return the lastModifiedUtc value.
+ */
+ public OffsetDateTime lastModifiedUtc() {
+ return this.lastModifiedUtc;
+ }
+
+ /**
+ * Get the severity property: The severity for alerts created by this alert rule.
+ *
+ * @return the severity value.
+ */
+ public AlertSeverity severity() {
+ return this.severity;
+ }
+
+ /**
+ * Get the tactics property: The tactics of the alert rule.
+ *
+ * @return the tactics value.
+ */
+ public List tactics() {
+ return this.tactics;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (alertRuleTemplateName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property alertRuleTemplateName in model FusionAlertRuleProperties"));
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FusionAlertRuleTemplateProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FusionAlertRuleTemplateProperties.java
new file mode 100644
index 000000000000..a493c85ff427
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/FusionAlertRuleTemplateProperties.java
@@ -0,0 +1,127 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertRuleTemplateDataSource;
+import com.azure.resourcemanager.securityinsights.models.AlertRuleTemplatePropertiesBase;
+import com.azure.resourcemanager.securityinsights.models.AlertSeverity;
+import com.azure.resourcemanager.securityinsights.models.AttackTactic;
+import com.azure.resourcemanager.securityinsights.models.TemplateStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Fusion alert rule template properties. */
+@Fluent
+public final class FusionAlertRuleTemplateProperties extends AlertRuleTemplatePropertiesBase {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FusionAlertRuleTemplateProperties.class);
+
+ /*
+ * The severity for alerts created by this alert rule.
+ */
+ @JsonProperty(value = "severity", required = true)
+ private AlertSeverity severity;
+
+ /*
+ * The tactics of the alert rule template
+ */
+ @JsonProperty(value = "tactics")
+ private List tactics;
+
+ /**
+ * Get the severity property: The severity for alerts created by this alert rule.
+ *
+ * @return the severity value.
+ */
+ public AlertSeverity severity() {
+ return this.severity;
+ }
+
+ /**
+ * Set the severity property: The severity for alerts created by this alert rule.
+ *
+ * @param severity the severity value to set.
+ * @return the FusionAlertRuleTemplateProperties object itself.
+ */
+ public FusionAlertRuleTemplateProperties withSeverity(AlertSeverity severity) {
+ this.severity = severity;
+ return this;
+ }
+
+ /**
+ * Get the tactics property: The tactics of the alert rule template.
+ *
+ * @return the tactics value.
+ */
+ public List tactics() {
+ return this.tactics;
+ }
+
+ /**
+ * Set the tactics property: The tactics of the alert rule template.
+ *
+ * @param tactics the tactics value to set.
+ * @return the FusionAlertRuleTemplateProperties object itself.
+ */
+ public FusionAlertRuleTemplateProperties withTactics(List tactics) {
+ this.tactics = tactics;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public FusionAlertRuleTemplateProperties withAlertRulesCreatedByTemplateCount(
+ Integer alertRulesCreatedByTemplateCount) {
+ super.withAlertRulesCreatedByTemplateCount(alertRulesCreatedByTemplateCount);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public FusionAlertRuleTemplateProperties withDescription(String description) {
+ super.withDescription(description);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public FusionAlertRuleTemplateProperties withDisplayName(String displayName) {
+ super.withDisplayName(displayName);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public FusionAlertRuleTemplateProperties withRequiredDataConnectors(
+ List requiredDataConnectors) {
+ super.withRequiredDataConnectors(requiredDataConnectors);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public FusionAlertRuleTemplateProperties withStatus(TemplateStatus status) {
+ super.withStatus(status);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (severity() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property severity in model FusionAlertRuleTemplateProperties"));
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/GetQueriesResponseInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/GetQueriesResponseInner.java
new file mode 100644
index 000000000000..9e6fd3d5635f
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/GetQueriesResponseInner.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityQueryItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Retrieve queries for entity result operation response. */
+@Fluent
+public final class GetQueriesResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(GetQueriesResponseInner.class);
+
+ /*
+ * The query result values.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: The query result values.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The query result values.
+ *
+ * @param value the value value to set.
+ * @return the GetQueriesResponseInner object itself.
+ */
+ public GetQueriesResponseInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/HostEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/HostEntityProperties.java
new file mode 100644
index 000000000000..eafc793fa804
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/HostEntityProperties.java
@@ -0,0 +1,179 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.azure.resourcemanager.securityinsights.models.OSFamily;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Host entity property bag. */
+@Fluent
+public final class HostEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(HostEntityProperties.class);
+
+ /*
+ * The azure resource id of the VM.
+ */
+ @JsonProperty(value = "azureID", access = JsonProperty.Access.WRITE_ONLY)
+ private String azureId;
+
+ /*
+ * The DNS domain that this host belongs to. Should contain the compete DNS
+ * suffix for the domain
+ */
+ @JsonProperty(value = "dnsDomain", access = JsonProperty.Access.WRITE_ONLY)
+ private String dnsDomain;
+
+ /*
+ * The hostname without the domain suffix.
+ */
+ @JsonProperty(value = "hostName", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostname;
+
+ /*
+ * Determines whether this host belongs to a domain.
+ */
+ @JsonProperty(value = "isDomainJoined", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDomainJoined;
+
+ /*
+ * The host name (pre-windows2000).
+ */
+ @JsonProperty(value = "netBiosName", access = JsonProperty.Access.WRITE_ONLY)
+ private String netBiosName;
+
+ /*
+ * The NT domain that this host belongs to.
+ */
+ @JsonProperty(value = "ntDomain", access = JsonProperty.Access.WRITE_ONLY)
+ private String ntDomain;
+
+ /*
+ * The OMS agent id, if the host has OMS agent installed.
+ */
+ @JsonProperty(value = "omsAgentID", access = JsonProperty.Access.WRITE_ONLY)
+ private String omsAgentId;
+
+ /*
+ * The operating system type.
+ */
+ @JsonProperty(value = "osFamily")
+ private OSFamily osFamily;
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "osVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String osVersion;
+
+ /**
+ * Get the azureId property: The azure resource id of the VM.
+ *
+ * @return the azureId value.
+ */
+ public String azureId() {
+ return this.azureId;
+ }
+
+ /**
+ * Get the dnsDomain property: The DNS domain that this host belongs to. Should contain the compete DNS suffix for
+ * the domain.
+ *
+ * @return the dnsDomain value.
+ */
+ public String dnsDomain() {
+ return this.dnsDomain;
+ }
+
+ /**
+ * Get the hostname property: The hostname without the domain suffix.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Get the isDomainJoined property: Determines whether this host belongs to a domain.
+ *
+ * @return the isDomainJoined value.
+ */
+ public Boolean isDomainJoined() {
+ return this.isDomainJoined;
+ }
+
+ /**
+ * Get the netBiosName property: The host name (pre-windows2000).
+ *
+ * @return the netBiosName value.
+ */
+ public String netBiosName() {
+ return this.netBiosName;
+ }
+
+ /**
+ * Get the ntDomain property: The NT domain that this host belongs to.
+ *
+ * @return the ntDomain value.
+ */
+ public String ntDomain() {
+ return this.ntDomain;
+ }
+
+ /**
+ * Get the omsAgentId property: The OMS agent id, if the host has OMS agent installed.
+ *
+ * @return the omsAgentId value.
+ */
+ public String omsAgentId() {
+ return this.omsAgentId;
+ }
+
+ /**
+ * Get the osFamily property: The operating system type.
+ *
+ * @return the osFamily value.
+ */
+ public OSFamily osFamily() {
+ return this.osFamily;
+ }
+
+ /**
+ * Set the osFamily property: The operating system type.
+ *
+ * @param osFamily the osFamily value to set.
+ * @return the HostEntityProperties object itself.
+ */
+ public HostEntityProperties withOsFamily(OSFamily osFamily) {
+ this.osFamily = osFamily;
+ return this;
+ }
+
+ /**
+ * Get the osVersion property: 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.
+ *
+ * @return the osVersion value.
+ */
+ public String osVersion() {
+ return this.osVersion;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/HuntingBookmarkProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/HuntingBookmarkProperties.java
new file mode 100644
index 000000000000..4ab30dc1a759
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/HuntingBookmarkProperties.java
@@ -0,0 +1,337 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.azure.resourcemanager.securityinsights.models.IncidentInfo;
+import com.azure.resourcemanager.securityinsights.models.UserInfo;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Describes bookmark properties. */
+@Fluent
+public final class HuntingBookmarkProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(HuntingBookmarkProperties.class);
+
+ /*
+ * The time the bookmark was created
+ */
+ @JsonProperty(value = "created")
+ private OffsetDateTime created;
+
+ /*
+ * Describes a user that created the bookmark
+ */
+ @JsonProperty(value = "createdBy")
+ private UserInfo createdBy;
+
+ /*
+ * The display name of the bookmark
+ */
+ @JsonProperty(value = "displayName", required = true)
+ private String displayName;
+
+ /*
+ * The time of the event
+ */
+ @JsonProperty(value = "eventTime")
+ private OffsetDateTime eventTime;
+
+ /*
+ * List of labels relevant to this bookmark
+ */
+ @JsonProperty(value = "labels")
+ private List labels;
+
+ /*
+ * The notes of the bookmark
+ */
+ @JsonProperty(value = "notes")
+ private String notes;
+
+ /*
+ * The query of the bookmark.
+ */
+ @JsonProperty(value = "query", required = true)
+ private String query;
+
+ /*
+ * The query result of the bookmark.
+ */
+ @JsonProperty(value = "queryResult")
+ private String queryResult;
+
+ /*
+ * The last time the bookmark was updated
+ */
+ @JsonProperty(value = "updated")
+ private OffsetDateTime updated;
+
+ /*
+ * Describes a user that updated the bookmark
+ */
+ @JsonProperty(value = "updatedBy")
+ private UserInfo updatedBy;
+
+ /*
+ * Describes an incident that relates to bookmark
+ */
+ @JsonProperty(value = "incidentInfo")
+ private IncidentInfo incidentInfo;
+
+ /**
+ * Get the created property: The time the bookmark was created.
+ *
+ * @return the created value.
+ */
+ public OffsetDateTime created() {
+ return this.created;
+ }
+
+ /**
+ * Set the created property: The time the bookmark was created.
+ *
+ * @param created the created value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withCreated(OffsetDateTime created) {
+ this.created = created;
+ return this;
+ }
+
+ /**
+ * Get the createdBy property: Describes a user that created the bookmark.
+ *
+ * @return the createdBy value.
+ */
+ public UserInfo createdBy() {
+ return this.createdBy;
+ }
+
+ /**
+ * Set the createdBy property: Describes a user that created the bookmark.
+ *
+ * @param createdBy the createdBy value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withCreatedBy(UserInfo createdBy) {
+ this.createdBy = createdBy;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The display name of the bookmark.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The display name of the bookmark.
+ *
+ * @param displayName the displayName value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the eventTime property: The time of the event.
+ *
+ * @return the eventTime value.
+ */
+ public OffsetDateTime eventTime() {
+ return this.eventTime;
+ }
+
+ /**
+ * Set the eventTime property: The time of the event.
+ *
+ * @param eventTime the eventTime value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withEventTime(OffsetDateTime eventTime) {
+ this.eventTime = eventTime;
+ return this;
+ }
+
+ /**
+ * Get the labels property: List of labels relevant to this bookmark.
+ *
+ * @return the labels value.
+ */
+ public List labels() {
+ return this.labels;
+ }
+
+ /**
+ * Set the labels property: List of labels relevant to this bookmark.
+ *
+ * @param labels the labels value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withLabels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+
+ /**
+ * Get the notes property: The notes of the bookmark.
+ *
+ * @return the notes value.
+ */
+ public String notes() {
+ return this.notes;
+ }
+
+ /**
+ * Set the notes property: The notes of the bookmark.
+ *
+ * @param notes the notes value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withNotes(String notes) {
+ this.notes = notes;
+ return this;
+ }
+
+ /**
+ * Get the query property: The query of the bookmark.
+ *
+ * @return the query value.
+ */
+ public String query() {
+ return this.query;
+ }
+
+ /**
+ * Set the query property: The query of the bookmark.
+ *
+ * @param query the query value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withQuery(String query) {
+ this.query = query;
+ return this;
+ }
+
+ /**
+ * Get the queryResult property: The query result of the bookmark.
+ *
+ * @return the queryResult value.
+ */
+ public String queryResult() {
+ return this.queryResult;
+ }
+
+ /**
+ * Set the queryResult property: The query result of the bookmark.
+ *
+ * @param queryResult the queryResult value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withQueryResult(String queryResult) {
+ this.queryResult = queryResult;
+ return this;
+ }
+
+ /**
+ * Get the updated property: The last time the bookmark was updated.
+ *
+ * @return the updated value.
+ */
+ public OffsetDateTime updated() {
+ return this.updated;
+ }
+
+ /**
+ * Set the updated property: The last time the bookmark was updated.
+ *
+ * @param updated the updated value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withUpdated(OffsetDateTime updated) {
+ this.updated = updated;
+ return this;
+ }
+
+ /**
+ * Get the updatedBy property: Describes a user that updated the bookmark.
+ *
+ * @return the updatedBy value.
+ */
+ public UserInfo updatedBy() {
+ return this.updatedBy;
+ }
+
+ /**
+ * Set the updatedBy property: Describes a user that updated the bookmark.
+ *
+ * @param updatedBy the updatedBy value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withUpdatedBy(UserInfo updatedBy) {
+ this.updatedBy = updatedBy;
+ return this;
+ }
+
+ /**
+ * Get the incidentInfo property: Describes an incident that relates to bookmark.
+ *
+ * @return the incidentInfo value.
+ */
+ public IncidentInfo incidentInfo() {
+ return this.incidentInfo;
+ }
+
+ /**
+ * Set the incidentInfo property: Describes an incident that relates to bookmark.
+ *
+ * @param incidentInfo the incidentInfo value to set.
+ * @return the HuntingBookmarkProperties object itself.
+ */
+ public HuntingBookmarkProperties withIncidentInfo(IncidentInfo incidentInfo) {
+ this.incidentInfo = incidentInfo;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (createdBy() != null) {
+ createdBy().validate();
+ }
+ if (displayName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property displayName in model HuntingBookmarkProperties"));
+ }
+ if (query() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property query in model HuntingBookmarkProperties"));
+ }
+ if (updatedBy() != null) {
+ updatedBy().validate();
+ }
+ if (incidentInfo() != null) {
+ incidentInfo().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentAlertListInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentAlertListInner.java
new file mode 100644
index 000000000000..03ac8b2e3454
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentAlertListInner.java
@@ -0,0 +1,59 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.SecurityAlert;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** List of incident alerts. */
+@Fluent
+public final class IncidentAlertListInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentAlertListInner.class);
+
+ /*
+ * Array of incident alerts.
+ */
+ @JsonProperty(value = "value", required = true)
+ private List value;
+
+ /**
+ * Get the value property: Array of incident alerts.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Array of incident alerts.
+ *
+ * @param value the value value to set.
+ * @return the IncidentAlertListInner object itself.
+ */
+ public IncidentAlertListInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property value in model IncidentAlertListInner"));
+ } else {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentBookmarkListInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentBookmarkListInner.java
new file mode 100644
index 000000000000..bd3a2a9d225e
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentBookmarkListInner.java
@@ -0,0 +1,59 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.HuntingBookmark;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** List of incident bookmarks. */
+@Fluent
+public final class IncidentBookmarkListInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentBookmarkListInner.class);
+
+ /*
+ * Array of incident bookmarks.
+ */
+ @JsonProperty(value = "value", required = true)
+ private List value;
+
+ /**
+ * Get the value property: Array of incident bookmarks.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Array of incident bookmarks.
+ *
+ * @param value the value value to set.
+ * @return the IncidentBookmarkListInner object itself.
+ */
+ public IncidentBookmarkListInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property value in model IncidentBookmarkListInner"));
+ } else {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentCommentInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentCommentInner.java
new file mode 100644
index 000000000000..5ee77edb8cab
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentCommentInner.java
@@ -0,0 +1,104 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ClientInfo;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Represents an incident comment. */
+@Fluent
+public final class IncidentCommentInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentCommentInner.class);
+
+ /*
+ * Incident comment properties
+ */
+ @JsonProperty(value = "properties")
+ private IncidentCommentProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Incident comment properties.
+ *
+ * @return the innerProperties value.
+ */
+ private IncidentCommentProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public IncidentCommentInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Get the createdTimeUtc property: The time the comment was created.
+ *
+ * @return the createdTimeUtc value.
+ */
+ public OffsetDateTime createdTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdTimeUtc();
+ }
+
+ /**
+ * Get the lastModifiedTimeUtc property: The time the comment was updated.
+ *
+ * @return the lastModifiedTimeUtc value.
+ */
+ public OffsetDateTime lastModifiedTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastModifiedTimeUtc();
+ }
+
+ /**
+ * Get the message property: The comment message.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.innerProperties() == null ? null : this.innerProperties().message();
+ }
+
+ /**
+ * Set the message property: The comment message.
+ *
+ * @param message the message value to set.
+ * @return the IncidentCommentInner object itself.
+ */
+ public IncidentCommentInner withMessage(String message) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentCommentProperties();
+ }
+ this.innerProperties().withMessage(message);
+ return this;
+ }
+
+ /**
+ * Get the author property: Describes the client that created the comment.
+ *
+ * @return the author value.
+ */
+ public ClientInfo author() {
+ return this.innerProperties() == null ? null : this.innerProperties().author();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentCommentProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentCommentProperties.java
new file mode 100644
index 000000000000..0aa8a1fa3e91
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentCommentProperties.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.ClientInfo;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Incident comment property bag. */
+@Fluent
+public final class IncidentCommentProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentCommentProperties.class);
+
+ /*
+ * The time the comment was created
+ */
+ @JsonProperty(value = "createdTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdTimeUtc;
+
+ /*
+ * The time the comment was updated
+ */
+ @JsonProperty(value = "lastModifiedTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedTimeUtc;
+
+ /*
+ * The comment message
+ */
+ @JsonProperty(value = "message", required = true)
+ private String message;
+
+ /*
+ * Describes the client that created the comment
+ */
+ @JsonProperty(value = "author", access = JsonProperty.Access.WRITE_ONLY)
+ private ClientInfo author;
+
+ /**
+ * Get the createdTimeUtc property: The time the comment was created.
+ *
+ * @return the createdTimeUtc value.
+ */
+ public OffsetDateTime createdTimeUtc() {
+ return this.createdTimeUtc;
+ }
+
+ /**
+ * Get the lastModifiedTimeUtc property: The time the comment was updated.
+ *
+ * @return the lastModifiedTimeUtc value.
+ */
+ public OffsetDateTime lastModifiedTimeUtc() {
+ return this.lastModifiedTimeUtc;
+ }
+
+ /**
+ * Get the message property: The comment message.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: The comment message.
+ *
+ * @param message the message value to set.
+ * @return the IncidentCommentProperties object itself.
+ */
+ public IncidentCommentProperties withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get the author property: Describes the client that created the comment.
+ *
+ * @return the author value.
+ */
+ public ClientInfo author() {
+ return this.author;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (message() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property message in model IncidentCommentProperties"));
+ }
+ if (author() != null) {
+ author().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentEntitiesResponseInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentEntitiesResponseInner.java
new file mode 100644
index 000000000000..4868547c91d1
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentEntitiesResponseInner.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.IncidentEntitiesResultsMetadata;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The incident related entities response. */
+@Fluent
+public final class IncidentEntitiesResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentEntitiesResponseInner.class);
+
+ /*
+ * Array of the incident related entities.
+ */
+ @JsonProperty(value = "entities")
+ private List entities;
+
+ /*
+ * The metadata from the incident related entities results.
+ */
+ @JsonProperty(value = "metaData")
+ private List metadata;
+
+ /**
+ * Get the entities property: Array of the incident related entities.
+ *
+ * @return the entities value.
+ */
+ public List entities() {
+ return this.entities;
+ }
+
+ /**
+ * Set the entities property: Array of the incident related entities.
+ *
+ * @param entities the entities value to set.
+ * @return the IncidentEntitiesResponseInner object itself.
+ */
+ public IncidentEntitiesResponseInner withEntities(List entities) {
+ this.entities = entities;
+ return this;
+ }
+
+ /**
+ * Get the metadata property: The metadata from the incident related entities results.
+ *
+ * @return the metadata value.
+ */
+ public List metadata() {
+ return this.metadata;
+ }
+
+ /**
+ * Set the metadata property: The metadata from the incident related entities results.
+ *
+ * @param metadata the metadata value to set.
+ * @return the IncidentEntitiesResponseInner object itself.
+ */
+ public IncidentEntitiesResponseInner withMetadata(List metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (entities() != null) {
+ entities().forEach(e -> e.validate());
+ }
+ if (metadata() != null) {
+ metadata().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentInner.java
new file mode 100644
index 000000000000..395e2d157683
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentInner.java
@@ -0,0 +1,437 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.IncidentAdditionalData;
+import com.azure.resourcemanager.securityinsights.models.IncidentClassification;
+import com.azure.resourcemanager.securityinsights.models.IncidentClassificationReason;
+import com.azure.resourcemanager.securityinsights.models.IncidentLabel;
+import com.azure.resourcemanager.securityinsights.models.IncidentOwnerInfo;
+import com.azure.resourcemanager.securityinsights.models.IncidentSeverity;
+import com.azure.resourcemanager.securityinsights.models.IncidentStatus;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Represents an incident in Azure Security Insights. */
+@Fluent
+public final class IncidentInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentInner.class);
+
+ /*
+ * Incident properties
+ */
+ @JsonProperty(value = "properties")
+ private IncidentPropertiesInner innerProperties;
+
+ /**
+ * Get the innerProperties property: Incident properties.
+ *
+ * @return the innerProperties value.
+ */
+ private IncidentPropertiesInner innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public IncidentInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Get the additionalData property: Additional data on the incident.
+ *
+ * @return the additionalData value.
+ */
+ public IncidentAdditionalData additionalData() {
+ return this.innerProperties() == null ? null : this.innerProperties().additionalData();
+ }
+
+ /**
+ * Get the classification property: The reason the incident was closed.
+ *
+ * @return the classification value.
+ */
+ public IncidentClassification classification() {
+ return this.innerProperties() == null ? null : this.innerProperties().classification();
+ }
+
+ /**
+ * Set the classification property: The reason the incident was closed.
+ *
+ * @param classification the classification value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withClassification(IncidentClassification classification) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withClassification(classification);
+ return this;
+ }
+
+ /**
+ * Get the classificationComment property: Describes the reason the incident was closed.
+ *
+ * @return the classificationComment value.
+ */
+ public String classificationComment() {
+ return this.innerProperties() == null ? null : this.innerProperties().classificationComment();
+ }
+
+ /**
+ * Set the classificationComment property: Describes the reason the incident was closed.
+ *
+ * @param classificationComment the classificationComment value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withClassificationComment(String classificationComment) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withClassificationComment(classificationComment);
+ return this;
+ }
+
+ /**
+ * Get the classificationReason property: The classification reason the incident was closed with.
+ *
+ * @return the classificationReason value.
+ */
+ public IncidentClassificationReason classificationReason() {
+ return this.innerProperties() == null ? null : this.innerProperties().classificationReason();
+ }
+
+ /**
+ * Set the classificationReason property: The classification reason the incident was closed with.
+ *
+ * @param classificationReason the classificationReason value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withClassificationReason(IncidentClassificationReason classificationReason) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withClassificationReason(classificationReason);
+ return this;
+ }
+
+ /**
+ * Get the createdTimeUtc property: The time the incident was created.
+ *
+ * @return the createdTimeUtc value.
+ */
+ public OffsetDateTime createdTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdTimeUtc();
+ }
+
+ /**
+ * Get the description property: The description of the incident.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: The description of the incident.
+ *
+ * @param description the description value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the firstActivityTimeUtc property: The time of the first activity in the incident.
+ *
+ * @return the firstActivityTimeUtc value.
+ */
+ public OffsetDateTime firstActivityTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().firstActivityTimeUtc();
+ }
+
+ /**
+ * Set the firstActivityTimeUtc property: The time of the first activity in the incident.
+ *
+ * @param firstActivityTimeUtc the firstActivityTimeUtc value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withFirstActivityTimeUtc(OffsetDateTime firstActivityTimeUtc) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withFirstActivityTimeUtc(firstActivityTimeUtc);
+ return this;
+ }
+
+ /**
+ * Get the incidentUrl property: The deep-link url to the incident in Azure portal.
+ *
+ * @return the incidentUrl value.
+ */
+ public String incidentUrl() {
+ return this.innerProperties() == null ? null : this.innerProperties().incidentUrl();
+ }
+
+ /**
+ * Get the incidentNumber property: A sequential number.
+ *
+ * @return the incidentNumber value.
+ */
+ public Integer incidentNumber() {
+ return this.innerProperties() == null ? null : this.innerProperties().incidentNumber();
+ }
+
+ /**
+ * Get the labels property: List of labels relevant to this incident.
+ *
+ * @return the labels value.
+ */
+ public List labels() {
+ return this.innerProperties() == null ? null : this.innerProperties().labels();
+ }
+
+ /**
+ * Set the labels property: List of labels relevant to this incident.
+ *
+ * @param labels the labels value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withLabels(List labels) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withLabels(labels);
+ return this;
+ }
+
+ /**
+ * Get the providerName property: The name of the source provider that generated the incident.
+ *
+ * @return the providerName value.
+ */
+ public String providerName() {
+ return this.innerProperties() == null ? null : this.innerProperties().providerName();
+ }
+
+ /**
+ * Set the providerName property: The name of the source provider that generated the incident.
+ *
+ * @param providerName the providerName value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withProviderName(String providerName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withProviderName(providerName);
+ return this;
+ }
+
+ /**
+ * Get the providerIncidentId property: The incident ID assigned by the incident provider.
+ *
+ * @return the providerIncidentId value.
+ */
+ public String providerIncidentId() {
+ return this.innerProperties() == null ? null : this.innerProperties().providerIncidentId();
+ }
+
+ /**
+ * Set the providerIncidentId property: The incident ID assigned by the incident provider.
+ *
+ * @param providerIncidentId the providerIncidentId value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withProviderIncidentId(String providerIncidentId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withProviderIncidentId(providerIncidentId);
+ return this;
+ }
+
+ /**
+ * Get the lastActivityTimeUtc property: The time of the last activity in the incident.
+ *
+ * @return the lastActivityTimeUtc value.
+ */
+ public OffsetDateTime lastActivityTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastActivityTimeUtc();
+ }
+
+ /**
+ * Set the lastActivityTimeUtc property: The time of the last activity in the incident.
+ *
+ * @param lastActivityTimeUtc the lastActivityTimeUtc value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withLastActivityTimeUtc(OffsetDateTime lastActivityTimeUtc) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withLastActivityTimeUtc(lastActivityTimeUtc);
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedTimeUtc property: The last time the incident was updated.
+ *
+ * @return the lastModifiedTimeUtc value.
+ */
+ public OffsetDateTime lastModifiedTimeUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastModifiedTimeUtc();
+ }
+
+ /**
+ * Get the owner property: Describes a user that the incident is assigned to.
+ *
+ * @return the owner value.
+ */
+ public IncidentOwnerInfo owner() {
+ return this.innerProperties() == null ? null : this.innerProperties().owner();
+ }
+
+ /**
+ * Set the owner property: Describes a user that the incident is assigned to.
+ *
+ * @param owner the owner value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withOwner(IncidentOwnerInfo owner) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withOwner(owner);
+ return this;
+ }
+
+ /**
+ * Get the relatedAnalyticRuleIds property: List of resource ids of Analytic rules related to the incident.
+ *
+ * @return the relatedAnalyticRuleIds value.
+ */
+ public List relatedAnalyticRuleIds() {
+ return this.innerProperties() == null ? null : this.innerProperties().relatedAnalyticRuleIds();
+ }
+
+ /**
+ * Get the severity property: The severity of the incident.
+ *
+ * @return the severity value.
+ */
+ public IncidentSeverity severity() {
+ return this.innerProperties() == null ? null : this.innerProperties().severity();
+ }
+
+ /**
+ * Set the severity property: The severity of the incident.
+ *
+ * @param severity the severity value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withSeverity(IncidentSeverity severity) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withSeverity(severity);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the incident.
+ *
+ * @return the status value.
+ */
+ public IncidentStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: The status of the incident.
+ *
+ * @param status the status value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withStatus(IncidentStatus status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the teamInformation property: Describes a team for the incident.
+ *
+ * @return the teamInformation value.
+ */
+ public TeamInformationInner teamInformation() {
+ return this.innerProperties() == null ? null : this.innerProperties().teamInformation();
+ }
+
+ /**
+ * Set the teamInformation property: Describes a team for the incident.
+ *
+ * @param teamInformation the teamInformation value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withTeamInformation(TeamInformationInner teamInformation) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withTeamInformation(teamInformation);
+ return this;
+ }
+
+ /**
+ * Get the title property: The title of the incident.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.innerProperties() == null ? null : this.innerProperties().title();
+ }
+
+ /**
+ * Set the title property: The title of the incident.
+ *
+ * @param title the title value to set.
+ * @return the IncidentInner object itself.
+ */
+ public IncidentInner withTitle(String title) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new IncidentPropertiesInner();
+ }
+ this.innerProperties().withTitle(title);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentPropertiesInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentPropertiesInner.java
new file mode 100644
index 000000000000..6d01fec2cdaa
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IncidentPropertiesInner.java
@@ -0,0 +1,515 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.IncidentAdditionalData;
+import com.azure.resourcemanager.securityinsights.models.IncidentClassification;
+import com.azure.resourcemanager.securityinsights.models.IncidentClassificationReason;
+import com.azure.resourcemanager.securityinsights.models.IncidentLabel;
+import com.azure.resourcemanager.securityinsights.models.IncidentOwnerInfo;
+import com.azure.resourcemanager.securityinsights.models.IncidentSeverity;
+import com.azure.resourcemanager.securityinsights.models.IncidentStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Describes incident properties. */
+@Fluent
+public final class IncidentPropertiesInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentPropertiesInner.class);
+
+ /*
+ * Additional data on the incident
+ */
+ @JsonProperty(value = "additionalData", access = JsonProperty.Access.WRITE_ONLY)
+ private IncidentAdditionalData additionalData;
+
+ /*
+ * The reason the incident was closed
+ */
+ @JsonProperty(value = "classification")
+ private IncidentClassification classification;
+
+ /*
+ * Describes the reason the incident was closed
+ */
+ @JsonProperty(value = "classificationComment")
+ private String classificationComment;
+
+ /*
+ * The classification reason the incident was closed with
+ */
+ @JsonProperty(value = "classificationReason")
+ private IncidentClassificationReason classificationReason;
+
+ /*
+ * The time the incident was created
+ */
+ @JsonProperty(value = "createdTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdTimeUtc;
+
+ /*
+ * The description of the incident
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The time of the first activity in the incident
+ */
+ @JsonProperty(value = "firstActivityTimeUtc")
+ private OffsetDateTime firstActivityTimeUtc;
+
+ /*
+ * The deep-link url to the incident in Azure portal
+ */
+ @JsonProperty(value = "incidentUrl", access = JsonProperty.Access.WRITE_ONLY)
+ private String incidentUrl;
+
+ /*
+ * A sequential number
+ */
+ @JsonProperty(value = "incidentNumber", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer incidentNumber;
+
+ /*
+ * List of labels relevant to this incident
+ */
+ @JsonProperty(value = "labels")
+ private List labels;
+
+ /*
+ * The name of the source provider that generated the incident
+ */
+ @JsonProperty(value = "providerName")
+ private String providerName;
+
+ /*
+ * The incident ID assigned by the incident provider
+ */
+ @JsonProperty(value = "providerIncidentId")
+ private String providerIncidentId;
+
+ /*
+ * The time of the last activity in the incident
+ */
+ @JsonProperty(value = "lastActivityTimeUtc")
+ private OffsetDateTime lastActivityTimeUtc;
+
+ /*
+ * The last time the incident was updated
+ */
+ @JsonProperty(value = "lastModifiedTimeUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedTimeUtc;
+
+ /*
+ * Describes a user that the incident is assigned to
+ */
+ @JsonProperty(value = "owner")
+ private IncidentOwnerInfo owner;
+
+ /*
+ * List of resource ids of Analytic rules related to the incident
+ */
+ @JsonProperty(value = "relatedAnalyticRuleIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List relatedAnalyticRuleIds;
+
+ /*
+ * The severity of the incident
+ */
+ @JsonProperty(value = "severity", required = true)
+ private IncidentSeverity severity;
+
+ /*
+ * The status of the incident
+ */
+ @JsonProperty(value = "status", required = true)
+ private IncidentStatus status;
+
+ /*
+ * Describes a team for the incident
+ */
+ @JsonProperty(value = "teamInformation")
+ private TeamInformationInner teamInformation;
+
+ /*
+ * The title of the incident
+ */
+ @JsonProperty(value = "title", required = true)
+ private String title;
+
+ /**
+ * Get the additionalData property: Additional data on the incident.
+ *
+ * @return the additionalData value.
+ */
+ public IncidentAdditionalData additionalData() {
+ return this.additionalData;
+ }
+
+ /**
+ * Get the classification property: The reason the incident was closed.
+ *
+ * @return the classification value.
+ */
+ public IncidentClassification classification() {
+ return this.classification;
+ }
+
+ /**
+ * Set the classification property: The reason the incident was closed.
+ *
+ * @param classification the classification value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withClassification(IncidentClassification classification) {
+ this.classification = classification;
+ return this;
+ }
+
+ /**
+ * Get the classificationComment property: Describes the reason the incident was closed.
+ *
+ * @return the classificationComment value.
+ */
+ public String classificationComment() {
+ return this.classificationComment;
+ }
+
+ /**
+ * Set the classificationComment property: Describes the reason the incident was closed.
+ *
+ * @param classificationComment the classificationComment value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withClassificationComment(String classificationComment) {
+ this.classificationComment = classificationComment;
+ return this;
+ }
+
+ /**
+ * Get the classificationReason property: The classification reason the incident was closed with.
+ *
+ * @return the classificationReason value.
+ */
+ public IncidentClassificationReason classificationReason() {
+ return this.classificationReason;
+ }
+
+ /**
+ * Set the classificationReason property: The classification reason the incident was closed with.
+ *
+ * @param classificationReason the classificationReason value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withClassificationReason(IncidentClassificationReason classificationReason) {
+ this.classificationReason = classificationReason;
+ return this;
+ }
+
+ /**
+ * Get the createdTimeUtc property: The time the incident was created.
+ *
+ * @return the createdTimeUtc value.
+ */
+ public OffsetDateTime createdTimeUtc() {
+ return this.createdTimeUtc;
+ }
+
+ /**
+ * Get the description property: The description of the incident.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The description of the incident.
+ *
+ * @param description the description value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the firstActivityTimeUtc property: The time of the first activity in the incident.
+ *
+ * @return the firstActivityTimeUtc value.
+ */
+ public OffsetDateTime firstActivityTimeUtc() {
+ return this.firstActivityTimeUtc;
+ }
+
+ /**
+ * Set the firstActivityTimeUtc property: The time of the first activity in the incident.
+ *
+ * @param firstActivityTimeUtc the firstActivityTimeUtc value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withFirstActivityTimeUtc(OffsetDateTime firstActivityTimeUtc) {
+ this.firstActivityTimeUtc = firstActivityTimeUtc;
+ return this;
+ }
+
+ /**
+ * Get the incidentUrl property: The deep-link url to the incident in Azure portal.
+ *
+ * @return the incidentUrl value.
+ */
+ public String incidentUrl() {
+ return this.incidentUrl;
+ }
+
+ /**
+ * Get the incidentNumber property: A sequential number.
+ *
+ * @return the incidentNumber value.
+ */
+ public Integer incidentNumber() {
+ return this.incidentNumber;
+ }
+
+ /**
+ * Get the labels property: List of labels relevant to this incident.
+ *
+ * @return the labels value.
+ */
+ public List labels() {
+ return this.labels;
+ }
+
+ /**
+ * Set the labels property: List of labels relevant to this incident.
+ *
+ * @param labels the labels value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withLabels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+
+ /**
+ * Get the providerName property: The name of the source provider that generated the incident.
+ *
+ * @return the providerName value.
+ */
+ public String providerName() {
+ return this.providerName;
+ }
+
+ /**
+ * Set the providerName property: The name of the source provider that generated the incident.
+ *
+ * @param providerName the providerName value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withProviderName(String providerName) {
+ this.providerName = providerName;
+ return this;
+ }
+
+ /**
+ * Get the providerIncidentId property: The incident ID assigned by the incident provider.
+ *
+ * @return the providerIncidentId value.
+ */
+ public String providerIncidentId() {
+ return this.providerIncidentId;
+ }
+
+ /**
+ * Set the providerIncidentId property: The incident ID assigned by the incident provider.
+ *
+ * @param providerIncidentId the providerIncidentId value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withProviderIncidentId(String providerIncidentId) {
+ this.providerIncidentId = providerIncidentId;
+ return this;
+ }
+
+ /**
+ * Get the lastActivityTimeUtc property: The time of the last activity in the incident.
+ *
+ * @return the lastActivityTimeUtc value.
+ */
+ public OffsetDateTime lastActivityTimeUtc() {
+ return this.lastActivityTimeUtc;
+ }
+
+ /**
+ * Set the lastActivityTimeUtc property: The time of the last activity in the incident.
+ *
+ * @param lastActivityTimeUtc the lastActivityTimeUtc value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withLastActivityTimeUtc(OffsetDateTime lastActivityTimeUtc) {
+ this.lastActivityTimeUtc = lastActivityTimeUtc;
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedTimeUtc property: The last time the incident was updated.
+ *
+ * @return the lastModifiedTimeUtc value.
+ */
+ public OffsetDateTime lastModifiedTimeUtc() {
+ return this.lastModifiedTimeUtc;
+ }
+
+ /**
+ * Get the owner property: Describes a user that the incident is assigned to.
+ *
+ * @return the owner value.
+ */
+ public IncidentOwnerInfo owner() {
+ return this.owner;
+ }
+
+ /**
+ * Set the owner property: Describes a user that the incident is assigned to.
+ *
+ * @param owner the owner value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withOwner(IncidentOwnerInfo owner) {
+ this.owner = owner;
+ return this;
+ }
+
+ /**
+ * Get the relatedAnalyticRuleIds property: List of resource ids of Analytic rules related to the incident.
+ *
+ * @return the relatedAnalyticRuleIds value.
+ */
+ public List relatedAnalyticRuleIds() {
+ return this.relatedAnalyticRuleIds;
+ }
+
+ /**
+ * Get the severity property: The severity of the incident.
+ *
+ * @return the severity value.
+ */
+ public IncidentSeverity severity() {
+ return this.severity;
+ }
+
+ /**
+ * Set the severity property: The severity of the incident.
+ *
+ * @param severity the severity value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withSeverity(IncidentSeverity severity) {
+ this.severity = severity;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the incident.
+ *
+ * @return the status value.
+ */
+ public IncidentStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the incident.
+ *
+ * @param status the status value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withStatus(IncidentStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the teamInformation property: Describes a team for the incident.
+ *
+ * @return the teamInformation value.
+ */
+ public TeamInformationInner teamInformation() {
+ return this.teamInformation;
+ }
+
+ /**
+ * Set the teamInformation property: Describes a team for the incident.
+ *
+ * @param teamInformation the teamInformation value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withTeamInformation(TeamInformationInner teamInformation) {
+ this.teamInformation = teamInformation;
+ return this;
+ }
+
+ /**
+ * Get the title property: The title of the incident.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: The title of the incident.
+ *
+ * @param title the title value to set.
+ * @return the IncidentPropertiesInner object itself.
+ */
+ public IncidentPropertiesInner withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (additionalData() != null) {
+ additionalData().validate();
+ }
+ if (labels() != null) {
+ labels().forEach(e -> e.validate());
+ }
+ if (owner() != null) {
+ owner().validate();
+ }
+ if (severity() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property severity in model IncidentPropertiesInner"));
+ }
+ if (status() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property status in model IncidentPropertiesInner"));
+ }
+ if (teamInformation() != null) {
+ teamInformation().validate();
+ }
+ if (title() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property title in model IncidentPropertiesInner"));
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IoTDeviceEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IoTDeviceEntityProperties.java
new file mode 100644
index 000000000000..bf3f83db2a18
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IoTDeviceEntityProperties.java
@@ -0,0 +1,288 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligence;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.UUID;
+
+/** IoTDevice entity property bag. */
+@Immutable
+public final class IoTDeviceEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IoTDeviceEntityProperties.class);
+
+ /*
+ * The ID of the IoT Device in the IoT Hub
+ */
+ @JsonProperty(value = "deviceId", access = JsonProperty.Access.WRITE_ONLY)
+ private String deviceId;
+
+ /*
+ * The friendly name of the device
+ */
+ @JsonProperty(value = "deviceName", access = JsonProperty.Access.WRITE_ONLY)
+ private String deviceName;
+
+ /*
+ * The source of the device
+ */
+ @JsonProperty(value = "source", access = JsonProperty.Access.WRITE_ONLY)
+ private String source;
+
+ /*
+ * The ID of the security agent running on the device
+ */
+ @JsonProperty(value = "iotSecurityAgentId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID iotSecurityAgentId;
+
+ /*
+ * The type of the device
+ */
+ @JsonProperty(value = "deviceType", access = JsonProperty.Access.WRITE_ONLY)
+ private String deviceType;
+
+ /*
+ * The vendor of the device
+ */
+ @JsonProperty(value = "vendor", access = JsonProperty.Access.WRITE_ONLY)
+ private String vendor;
+
+ /*
+ * The ID of the edge device
+ */
+ @JsonProperty(value = "edgeId", access = JsonProperty.Access.WRITE_ONLY)
+ private String edgeId;
+
+ /*
+ * The MAC address of the device
+ */
+ @JsonProperty(value = "macAddress", access = JsonProperty.Access.WRITE_ONLY)
+ private String macAddress;
+
+ /*
+ * The model of the device
+ */
+ @JsonProperty(value = "model", access = JsonProperty.Access.WRITE_ONLY)
+ private String model;
+
+ /*
+ * The serial number of the device
+ */
+ @JsonProperty(value = "serialNumber", access = JsonProperty.Access.WRITE_ONLY)
+ private String serialNumber;
+
+ /*
+ * The firmware version of the device
+ */
+ @JsonProperty(value = "firmwareVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String firmwareVersion;
+
+ /*
+ * The operating system of the device
+ */
+ @JsonProperty(value = "operatingSystem", access = JsonProperty.Access.WRITE_ONLY)
+ private String operatingSystem;
+
+ /*
+ * The AzureResource entity id of the IoT Hub
+ */
+ @JsonProperty(value = "iotHubEntityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String iotHubEntityId;
+
+ /*
+ * The Host entity id of this device
+ */
+ @JsonProperty(value = "hostEntityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostEntityId;
+
+ /*
+ * The IP entity if of this device
+ */
+ @JsonProperty(value = "ipAddressEntityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String ipAddressEntityId;
+
+ /*
+ * A list of TI contexts attached to the IoTDevice entity.
+ */
+ @JsonProperty(value = "threatIntelligence", access = JsonProperty.Access.WRITE_ONLY)
+ private List threatIntelligence;
+
+ /*
+ * A list of protocols of the IoTDevice entity.
+ */
+ @JsonProperty(value = "protocols", access = JsonProperty.Access.WRITE_ONLY)
+ private List protocols;
+
+ /**
+ * Get the deviceId property: The ID of the IoT Device in the IoT Hub.
+ *
+ * @return the deviceId value.
+ */
+ public String deviceId() {
+ return this.deviceId;
+ }
+
+ /**
+ * Get the deviceName property: The friendly name of the device.
+ *
+ * @return the deviceName value.
+ */
+ public String deviceName() {
+ return this.deviceName;
+ }
+
+ /**
+ * Get the source property: The source of the device.
+ *
+ * @return the source value.
+ */
+ public String source() {
+ return this.source;
+ }
+
+ /**
+ * Get the iotSecurityAgentId property: The ID of the security agent running on the device.
+ *
+ * @return the iotSecurityAgentId value.
+ */
+ public UUID iotSecurityAgentId() {
+ return this.iotSecurityAgentId;
+ }
+
+ /**
+ * Get the deviceType property: The type of the device.
+ *
+ * @return the deviceType value.
+ */
+ public String deviceType() {
+ return this.deviceType;
+ }
+
+ /**
+ * Get the vendor property: The vendor of the device.
+ *
+ * @return the vendor value.
+ */
+ public String vendor() {
+ return this.vendor;
+ }
+
+ /**
+ * Get the edgeId property: The ID of the edge device.
+ *
+ * @return the edgeId value.
+ */
+ public String edgeId() {
+ return this.edgeId;
+ }
+
+ /**
+ * Get the macAddress property: The MAC address of the device.
+ *
+ * @return the macAddress value.
+ */
+ public String macAddress() {
+ return this.macAddress;
+ }
+
+ /**
+ * Get the model property: The model of the device.
+ *
+ * @return the model value.
+ */
+ public String model() {
+ return this.model;
+ }
+
+ /**
+ * Get the serialNumber property: The serial number of the device.
+ *
+ * @return the serialNumber value.
+ */
+ public String serialNumber() {
+ return this.serialNumber;
+ }
+
+ /**
+ * Get the firmwareVersion property: The firmware version of the device.
+ *
+ * @return the firmwareVersion value.
+ */
+ public String firmwareVersion() {
+ return this.firmwareVersion;
+ }
+
+ /**
+ * Get the operatingSystem property: The operating system of the device.
+ *
+ * @return the operatingSystem value.
+ */
+ public String operatingSystem() {
+ return this.operatingSystem;
+ }
+
+ /**
+ * Get the iotHubEntityId property: The AzureResource entity id of the IoT Hub.
+ *
+ * @return the iotHubEntityId value.
+ */
+ public String iotHubEntityId() {
+ return this.iotHubEntityId;
+ }
+
+ /**
+ * Get the hostEntityId property: The Host entity id of this device.
+ *
+ * @return the hostEntityId value.
+ */
+ public String hostEntityId() {
+ return this.hostEntityId;
+ }
+
+ /**
+ * Get the ipAddressEntityId property: The IP entity if of this device.
+ *
+ * @return the ipAddressEntityId value.
+ */
+ public String ipAddressEntityId() {
+ return this.ipAddressEntityId;
+ }
+
+ /**
+ * Get the threatIntelligence property: A list of TI contexts attached to the IoTDevice entity.
+ *
+ * @return the threatIntelligence value.
+ */
+ public List threatIntelligence() {
+ return this.threatIntelligence;
+ }
+
+ /**
+ * Get the protocols property: A list of protocols of the IoTDevice entity.
+ *
+ * @return the protocols value.
+ */
+ public List protocols() {
+ return this.protocols;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (threatIntelligence() != null) {
+ threatIntelligence().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IpEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IpEntityProperties.java
new file mode 100644
index 000000000000..18a7a844f955
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/IpEntityProperties.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.azure.resourcemanager.securityinsights.models.GeoLocation;
+import com.azure.resourcemanager.securityinsights.models.ThreatIntelligence;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Ip entity property bag. */
+@Immutable
+public final class IpEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IpEntityProperties.class);
+
+ /*
+ * The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)
+ */
+ @JsonProperty(value = "address", access = JsonProperty.Access.WRITE_ONLY)
+ private String address;
+
+ /*
+ * The geo-location context attached to the ip entity
+ */
+ @JsonProperty(value = "location", access = JsonProperty.Access.WRITE_ONLY)
+ private GeoLocation location;
+
+ /*
+ * A list of TI contexts attached to the ip entity.
+ */
+ @JsonProperty(value = "threatIntelligence", access = JsonProperty.Access.WRITE_ONLY)
+ private List threatIntelligence;
+
+ /**
+ * Get the address property: The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6).
+ *
+ * @return the address value.
+ */
+ public String address() {
+ return this.address;
+ }
+
+ /**
+ * Get the location property: The geo-location context attached to the ip entity.
+ *
+ * @return the location value.
+ */
+ public GeoLocation location() {
+ return this.location;
+ }
+
+ /**
+ * Get the threatIntelligence property: A list of TI contexts attached to the ip entity.
+ *
+ * @return the threatIntelligence value.
+ */
+ public List threatIntelligence() {
+ return this.threatIntelligence;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (location() != null) {
+ location().validate();
+ }
+ if (threatIntelligence() != null) {
+ threatIntelligence().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MLBehaviorAnalyticsAlertRuleProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MLBehaviorAnalyticsAlertRuleProperties.java
new file mode 100644
index 000000000000..6959672a8068
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MLBehaviorAnalyticsAlertRuleProperties.java
@@ -0,0 +1,162 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertSeverity;
+import com.azure.resourcemanager.securityinsights.models.AttackTactic;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** MLBehaviorAnalytics alert rule base property bag. */
+@Fluent
+public final class MLBehaviorAnalyticsAlertRuleProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MLBehaviorAnalyticsAlertRuleProperties.class);
+
+ /*
+ * The Name of the alert rule template used to create this rule.
+ */
+ @JsonProperty(value = "alertRuleTemplateName", required = true)
+ private String alertRuleTemplateName;
+
+ /*
+ * The description of the alert rule.
+ */
+ @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY)
+ private String description;
+
+ /*
+ * The display name for alerts created by this alert rule.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /*
+ * Determines whether this alert rule is enabled or disabled.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /*
+ * The last time that this alert rule has been modified.
+ */
+ @JsonProperty(value = "lastModifiedUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedUtc;
+
+ /*
+ * The severity for alerts created by this alert rule.
+ */
+ @JsonProperty(value = "severity", access = JsonProperty.Access.WRITE_ONLY)
+ private AlertSeverity severity;
+
+ /*
+ * The tactics of the alert rule
+ */
+ @JsonProperty(value = "tactics", access = JsonProperty.Access.WRITE_ONLY)
+ private List tactics;
+
+ /**
+ * Get the alertRuleTemplateName property: The Name of the alert rule template used to create this rule.
+ *
+ * @return the alertRuleTemplateName value.
+ */
+ public String alertRuleTemplateName() {
+ return this.alertRuleTemplateName;
+ }
+
+ /**
+ * Set the alertRuleTemplateName property: The Name of the alert rule template used to create this rule.
+ *
+ * @param alertRuleTemplateName the alertRuleTemplateName value to set.
+ * @return the MLBehaviorAnalyticsAlertRuleProperties object itself.
+ */
+ public MLBehaviorAnalyticsAlertRuleProperties withAlertRuleTemplateName(String alertRuleTemplateName) {
+ this.alertRuleTemplateName = alertRuleTemplateName;
+ return this;
+ }
+
+ /**
+ * Get the description property: The description of the alert rule.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Get the displayName property: The display name for alerts created by this alert rule.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get the enabled property: Determines whether this alert rule is enabled or disabled.
+ *
+ * @return the enabled value.
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Determines whether this alert rule is enabled or disabled.
+ *
+ * @param enabled the enabled value to set.
+ * @return the MLBehaviorAnalyticsAlertRuleProperties object itself.
+ */
+ public MLBehaviorAnalyticsAlertRuleProperties withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedUtc property: The last time that this alert rule has been modified.
+ *
+ * @return the lastModifiedUtc value.
+ */
+ public OffsetDateTime lastModifiedUtc() {
+ return this.lastModifiedUtc;
+ }
+
+ /**
+ * Get the severity property: The severity for alerts created by this alert rule.
+ *
+ * @return the severity value.
+ */
+ public AlertSeverity severity() {
+ return this.severity;
+ }
+
+ /**
+ * Get the tactics property: The tactics of the alert rule.
+ *
+ * @return the tactics value.
+ */
+ public List tactics() {
+ return this.tactics;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (alertRuleTemplateName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property alertRuleTemplateName in model"
+ + " MLBehaviorAnalyticsAlertRuleProperties"));
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MLBehaviorAnalyticsAlertRuleTemplateProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MLBehaviorAnalyticsAlertRuleTemplateProperties.java
new file mode 100644
index 000000000000..288c148dc9a3
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MLBehaviorAnalyticsAlertRuleTemplateProperties.java
@@ -0,0 +1,128 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertRuleTemplateDataSource;
+import com.azure.resourcemanager.securityinsights.models.AlertRuleTemplatePropertiesBase;
+import com.azure.resourcemanager.securityinsights.models.AlertSeverity;
+import com.azure.resourcemanager.securityinsights.models.AttackTactic;
+import com.azure.resourcemanager.securityinsights.models.TemplateStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** MLBehaviorAnalytics alert rule template properties. */
+@Fluent
+public final class MLBehaviorAnalyticsAlertRuleTemplateProperties extends AlertRuleTemplatePropertiesBase {
+ @JsonIgnore
+ private final ClientLogger logger = new ClientLogger(MLBehaviorAnalyticsAlertRuleTemplateProperties.class);
+
+ /*
+ * The severity for alerts created by this alert rule.
+ */
+ @JsonProperty(value = "severity", required = true)
+ private AlertSeverity severity;
+
+ /*
+ * The tactics of the alert rule template.
+ */
+ @JsonProperty(value = "tactics")
+ private List tactics;
+
+ /**
+ * Get the severity property: The severity for alerts created by this alert rule.
+ *
+ * @return the severity value.
+ */
+ public AlertSeverity severity() {
+ return this.severity;
+ }
+
+ /**
+ * Set the severity property: The severity for alerts created by this alert rule.
+ *
+ * @param severity the severity value to set.
+ * @return the MLBehaviorAnalyticsAlertRuleTemplateProperties object itself.
+ */
+ public MLBehaviorAnalyticsAlertRuleTemplateProperties withSeverity(AlertSeverity severity) {
+ this.severity = severity;
+ return this;
+ }
+
+ /**
+ * Get the tactics property: The tactics of the alert rule template.
+ *
+ * @return the tactics value.
+ */
+ public List tactics() {
+ return this.tactics;
+ }
+
+ /**
+ * Set the tactics property: The tactics of the alert rule template.
+ *
+ * @param tactics the tactics value to set.
+ * @return the MLBehaviorAnalyticsAlertRuleTemplateProperties object itself.
+ */
+ public MLBehaviorAnalyticsAlertRuleTemplateProperties withTactics(List tactics) {
+ this.tactics = tactics;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MLBehaviorAnalyticsAlertRuleTemplateProperties withAlertRulesCreatedByTemplateCount(
+ Integer alertRulesCreatedByTemplateCount) {
+ super.withAlertRulesCreatedByTemplateCount(alertRulesCreatedByTemplateCount);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MLBehaviorAnalyticsAlertRuleTemplateProperties withDescription(String description) {
+ super.withDescription(description);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MLBehaviorAnalyticsAlertRuleTemplateProperties withDisplayName(String displayName) {
+ super.withDisplayName(displayName);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MLBehaviorAnalyticsAlertRuleTemplateProperties withRequiredDataConnectors(
+ List requiredDataConnectors) {
+ super.withRequiredDataConnectors(requiredDataConnectors);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MLBehaviorAnalyticsAlertRuleTemplateProperties withStatus(TemplateStatus status) {
+ super.withStatus(status);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (severity() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property severity in model MLBehaviorAnalyticsAlertRuleTemplateProperties"));
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailClusterEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailClusterEntityProperties.java
new file mode 100644
index 000000000000..637a9c1baab7
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailClusterEntityProperties.java
@@ -0,0 +1,254 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Mail cluster entity property bag. */
+@Immutable
+public final class MailClusterEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MailClusterEntityProperties.class);
+
+ /*
+ * The mail message IDs that are part of the mail cluster
+ */
+ @JsonProperty(value = "networkMessageIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List networkMessageIds;
+
+ /*
+ * Count of mail messages by DeliveryStatus string representation
+ */
+ @JsonProperty(value = "countByDeliveryStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private Object countByDeliveryStatus;
+
+ /*
+ * Count of mail messages by ThreatType string representation
+ */
+ @JsonProperty(value = "countByThreatType", access = JsonProperty.Access.WRITE_ONLY)
+ private Object countByThreatType;
+
+ /*
+ * Count of mail messages by ProtectionStatus string representation
+ */
+ @JsonProperty(value = "countByProtectionStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private Object countByProtectionStatus;
+
+ /*
+ * The threats of mail messages that are part of the mail cluster
+ */
+ @JsonProperty(value = "threats", access = JsonProperty.Access.WRITE_ONLY)
+ private List threats;
+
+ /*
+ * The query that was used to identify the messages of the mail cluster
+ */
+ @JsonProperty(value = "query", access = JsonProperty.Access.WRITE_ONLY)
+ private String query;
+
+ /*
+ * The query time
+ */
+ @JsonProperty(value = "queryTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime queryTime;
+
+ /*
+ * The number of mail messages that are part of the mail cluster
+ */
+ @JsonProperty(value = "mailCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer mailCount;
+
+ /*
+ * Is this a volume anomaly mail cluster
+ */
+ @JsonProperty(value = "isVolumeAnomaly", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isVolumeAnomaly;
+
+ /*
+ * The source of the mail cluster (default is 'O365 ATP')
+ */
+ @JsonProperty(value = "source", access = JsonProperty.Access.WRITE_ONLY)
+ private String source;
+
+ /*
+ * The id of the cluster source
+ */
+ @JsonProperty(value = "clusterSourceIdentifier", access = JsonProperty.Access.WRITE_ONLY)
+ private String clusterSourceIdentifier;
+
+ /*
+ * The type of the cluster source
+ */
+ @JsonProperty(value = "clusterSourceType", access = JsonProperty.Access.WRITE_ONLY)
+ private String clusterSourceType;
+
+ /*
+ * The cluster query start time
+ */
+ @JsonProperty(value = "clusterQueryStartTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime clusterQueryStartTime;
+
+ /*
+ * The cluster query end time
+ */
+ @JsonProperty(value = "clusterQueryEndTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime clusterQueryEndTime;
+
+ /*
+ * The cluster group
+ */
+ @JsonProperty(value = "clusterGroup", access = JsonProperty.Access.WRITE_ONLY)
+ private String clusterGroup;
+
+ /**
+ * Get the networkMessageIds property: The mail message IDs that are part of the mail cluster.
+ *
+ * @return the networkMessageIds value.
+ */
+ public List networkMessageIds() {
+ return this.networkMessageIds;
+ }
+
+ /**
+ * Get the countByDeliveryStatus property: Count of mail messages by DeliveryStatus string representation.
+ *
+ * @return the countByDeliveryStatus value.
+ */
+ public Object countByDeliveryStatus() {
+ return this.countByDeliveryStatus;
+ }
+
+ /**
+ * Get the countByThreatType property: Count of mail messages by ThreatType string representation.
+ *
+ * @return the countByThreatType value.
+ */
+ public Object countByThreatType() {
+ return this.countByThreatType;
+ }
+
+ /**
+ * Get the countByProtectionStatus property: Count of mail messages by ProtectionStatus string representation.
+ *
+ * @return the countByProtectionStatus value.
+ */
+ public Object countByProtectionStatus() {
+ return this.countByProtectionStatus;
+ }
+
+ /**
+ * Get the threats property: The threats of mail messages that are part of the mail cluster.
+ *
+ * @return the threats value.
+ */
+ public List threats() {
+ return this.threats;
+ }
+
+ /**
+ * Get the query property: The query that was used to identify the messages of the mail cluster.
+ *
+ * @return the query value.
+ */
+ public String query() {
+ return this.query;
+ }
+
+ /**
+ * Get the queryTime property: The query time.
+ *
+ * @return the queryTime value.
+ */
+ public OffsetDateTime queryTime() {
+ return this.queryTime;
+ }
+
+ /**
+ * Get the mailCount property: The number of mail messages that are part of the mail cluster.
+ *
+ * @return the mailCount value.
+ */
+ public Integer mailCount() {
+ return this.mailCount;
+ }
+
+ /**
+ * Get the isVolumeAnomaly property: Is this a volume anomaly mail cluster.
+ *
+ * @return the isVolumeAnomaly value.
+ */
+ public Boolean isVolumeAnomaly() {
+ return this.isVolumeAnomaly;
+ }
+
+ /**
+ * Get the source property: The source of the mail cluster (default is 'O365 ATP').
+ *
+ * @return the source value.
+ */
+ public String source() {
+ return this.source;
+ }
+
+ /**
+ * Get the clusterSourceIdentifier property: The id of the cluster source.
+ *
+ * @return the clusterSourceIdentifier value.
+ */
+ public String clusterSourceIdentifier() {
+ return this.clusterSourceIdentifier;
+ }
+
+ /**
+ * Get the clusterSourceType property: The type of the cluster source.
+ *
+ * @return the clusterSourceType value.
+ */
+ public String clusterSourceType() {
+ return this.clusterSourceType;
+ }
+
+ /**
+ * Get the clusterQueryStartTime property: The cluster query start time.
+ *
+ * @return the clusterQueryStartTime value.
+ */
+ public OffsetDateTime clusterQueryStartTime() {
+ return this.clusterQueryStartTime;
+ }
+
+ /**
+ * Get the clusterQueryEndTime property: The cluster query end time.
+ *
+ * @return the clusterQueryEndTime value.
+ */
+ public OffsetDateTime clusterQueryEndTime() {
+ return this.clusterQueryEndTime;
+ }
+
+ /**
+ * Get the clusterGroup property: The cluster group.
+ *
+ * @return the clusterGroup value.
+ */
+ public String clusterGroup() {
+ return this.clusterGroup;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailMessageEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailMessageEntityProperties.java
new file mode 100644
index 000000000000..472408e6c2e9
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailMessageEntityProperties.java
@@ -0,0 +1,499 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AntispamMailDirection;
+import com.azure.resourcemanager.securityinsights.models.DeliveryAction;
+import com.azure.resourcemanager.securityinsights.models.DeliveryLocation;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.UUID;
+
+/** Mail message entity property bag. */
+@Fluent
+public final class MailMessageEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MailMessageEntityProperties.class);
+
+ /*
+ * The File entity ids of this mail message's attachments
+ */
+ @JsonProperty(value = "fileEntityIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List fileEntityIds;
+
+ /*
+ * The recipient of this mail message. Note that in case of multiple
+ * recipients the mail message is forked and each copy has one recipient
+ */
+ @JsonProperty(value = "recipient", access = JsonProperty.Access.WRITE_ONLY)
+ private String recipient;
+
+ /*
+ * The Urls contained in this mail message
+ */
+ @JsonProperty(value = "urls", access = JsonProperty.Access.WRITE_ONLY)
+ private List urls;
+
+ /*
+ * The threats of this mail message
+ */
+ @JsonProperty(value = "threats", access = JsonProperty.Access.WRITE_ONLY)
+ private List threats;
+
+ /*
+ * The p1 sender's email address
+ */
+ @JsonProperty(value = "p1Sender", access = JsonProperty.Access.WRITE_ONLY)
+ private String p1Sender;
+
+ /*
+ * The p1 sender's display name
+ */
+ @JsonProperty(value = "p1SenderDisplayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String p1SenderDisplayName;
+
+ /*
+ * The p1 sender's domain
+ */
+ @JsonProperty(value = "p1SenderDomain", access = JsonProperty.Access.WRITE_ONLY)
+ private String p1SenderDomain;
+
+ /*
+ * The sender's IP address
+ */
+ @JsonProperty(value = "senderIP", access = JsonProperty.Access.WRITE_ONLY)
+ private String senderIp;
+
+ /*
+ * The p2 sender's email address
+ */
+ @JsonProperty(value = "p2Sender", access = JsonProperty.Access.WRITE_ONLY)
+ private String p2Sender;
+
+ /*
+ * The p2 sender's display name
+ */
+ @JsonProperty(value = "p2SenderDisplayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String p2SenderDisplayName;
+
+ /*
+ * The p2 sender's domain
+ */
+ @JsonProperty(value = "p2SenderDomain", access = JsonProperty.Access.WRITE_ONLY)
+ private String p2SenderDomain;
+
+ /*
+ * The receive date of this message
+ */
+ @JsonProperty(value = "receiveDate", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime receiveDate;
+
+ /*
+ * The network message id of this mail message
+ */
+ @JsonProperty(value = "networkMessageId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID networkMessageId;
+
+ /*
+ * The internet message id of this mail message
+ */
+ @JsonProperty(value = "internetMessageId", access = JsonProperty.Access.WRITE_ONLY)
+ private String internetMessageId;
+
+ /*
+ * The subject of this mail message
+ */
+ @JsonProperty(value = "subject", access = JsonProperty.Access.WRITE_ONLY)
+ private String subject;
+
+ /*
+ * The language of this mail message
+ */
+ @JsonProperty(value = "language", access = JsonProperty.Access.WRITE_ONLY)
+ private String language;
+
+ /*
+ * The threat detection methods
+ */
+ @JsonProperty(value = "threatDetectionMethods", access = JsonProperty.Access.WRITE_ONLY)
+ private List threatDetectionMethods;
+
+ /*
+ * The bodyFingerprintBin1
+ */
+ @JsonProperty(value = "bodyFingerprintBin1")
+ private Integer bodyFingerprintBin1;
+
+ /*
+ * The bodyFingerprintBin2
+ */
+ @JsonProperty(value = "bodyFingerprintBin2")
+ private Integer bodyFingerprintBin2;
+
+ /*
+ * The bodyFingerprintBin3
+ */
+ @JsonProperty(value = "bodyFingerprintBin3")
+ private Integer bodyFingerprintBin3;
+
+ /*
+ * The bodyFingerprintBin4
+ */
+ @JsonProperty(value = "bodyFingerprintBin4")
+ private Integer bodyFingerprintBin4;
+
+ /*
+ * The bodyFingerprintBin5
+ */
+ @JsonProperty(value = "bodyFingerprintBin5")
+ private Integer bodyFingerprintBin5;
+
+ /*
+ * The directionality of this mail message
+ */
+ @JsonProperty(value = "antispamDirection")
+ private AntispamMailDirection antispamDirection;
+
+ /*
+ * The delivery action of this mail message like Delivered, Blocked,
+ * Replaced etc
+ */
+ @JsonProperty(value = "deliveryAction")
+ private DeliveryAction deliveryAction;
+
+ /*
+ * The delivery location of this mail message like Inbox, JunkFolder etc
+ */
+ @JsonProperty(value = "deliveryLocation")
+ private DeliveryLocation deliveryLocation;
+
+ /**
+ * Get the fileEntityIds property: The File entity ids of this mail message's attachments.
+ *
+ * @return the fileEntityIds value.
+ */
+ public List fileEntityIds() {
+ return this.fileEntityIds;
+ }
+
+ /**
+ * Get the recipient property: The recipient of this mail message. Note that in case of multiple recipients the mail
+ * message is forked and each copy has one recipient.
+ *
+ * @return the recipient value.
+ */
+ public String recipient() {
+ return this.recipient;
+ }
+
+ /**
+ * Get the urls property: The Urls contained in this mail message.
+ *
+ * @return the urls value.
+ */
+ public List urls() {
+ return this.urls;
+ }
+
+ /**
+ * Get the threats property: The threats of this mail message.
+ *
+ * @return the threats value.
+ */
+ public List threats() {
+ return this.threats;
+ }
+
+ /**
+ * Get the p1Sender property: The p1 sender's email address.
+ *
+ * @return the p1Sender value.
+ */
+ public String p1Sender() {
+ return this.p1Sender;
+ }
+
+ /**
+ * Get the p1SenderDisplayName property: The p1 sender's display name.
+ *
+ * @return the p1SenderDisplayName value.
+ */
+ public String p1SenderDisplayName() {
+ return this.p1SenderDisplayName;
+ }
+
+ /**
+ * Get the p1SenderDomain property: The p1 sender's domain.
+ *
+ * @return the p1SenderDomain value.
+ */
+ public String p1SenderDomain() {
+ return this.p1SenderDomain;
+ }
+
+ /**
+ * Get the senderIp property: The sender's IP address.
+ *
+ * @return the senderIp value.
+ */
+ public String senderIp() {
+ return this.senderIp;
+ }
+
+ /**
+ * Get the p2Sender property: The p2 sender's email address.
+ *
+ * @return the p2Sender value.
+ */
+ public String p2Sender() {
+ return this.p2Sender;
+ }
+
+ /**
+ * Get the p2SenderDisplayName property: The p2 sender's display name.
+ *
+ * @return the p2SenderDisplayName value.
+ */
+ public String p2SenderDisplayName() {
+ return this.p2SenderDisplayName;
+ }
+
+ /**
+ * Get the p2SenderDomain property: The p2 sender's domain.
+ *
+ * @return the p2SenderDomain value.
+ */
+ public String p2SenderDomain() {
+ return this.p2SenderDomain;
+ }
+
+ /**
+ * Get the receiveDate property: The receive date of this message.
+ *
+ * @return the receiveDate value.
+ */
+ public OffsetDateTime receiveDate() {
+ return this.receiveDate;
+ }
+
+ /**
+ * Get the networkMessageId property: The network message id of this mail message.
+ *
+ * @return the networkMessageId value.
+ */
+ public UUID networkMessageId() {
+ return this.networkMessageId;
+ }
+
+ /**
+ * Get the internetMessageId property: The internet message id of this mail message.
+ *
+ * @return the internetMessageId value.
+ */
+ public String internetMessageId() {
+ return this.internetMessageId;
+ }
+
+ /**
+ * Get the subject property: The subject of this mail message.
+ *
+ * @return the subject value.
+ */
+ public String subject() {
+ return this.subject;
+ }
+
+ /**
+ * Get the language property: The language of this mail message.
+ *
+ * @return the language value.
+ */
+ public String language() {
+ return this.language;
+ }
+
+ /**
+ * Get the threatDetectionMethods property: The threat detection methods.
+ *
+ * @return the threatDetectionMethods value.
+ */
+ public List threatDetectionMethods() {
+ return this.threatDetectionMethods;
+ }
+
+ /**
+ * Get the bodyFingerprintBin1 property: The bodyFingerprintBin1.
+ *
+ * @return the bodyFingerprintBin1 value.
+ */
+ public Integer bodyFingerprintBin1() {
+ return this.bodyFingerprintBin1;
+ }
+
+ /**
+ * Set the bodyFingerprintBin1 property: The bodyFingerprintBin1.
+ *
+ * @param bodyFingerprintBin1 the bodyFingerprintBin1 value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withBodyFingerprintBin1(Integer bodyFingerprintBin1) {
+ this.bodyFingerprintBin1 = bodyFingerprintBin1;
+ return this;
+ }
+
+ /**
+ * Get the bodyFingerprintBin2 property: The bodyFingerprintBin2.
+ *
+ * @return the bodyFingerprintBin2 value.
+ */
+ public Integer bodyFingerprintBin2() {
+ return this.bodyFingerprintBin2;
+ }
+
+ /**
+ * Set the bodyFingerprintBin2 property: The bodyFingerprintBin2.
+ *
+ * @param bodyFingerprintBin2 the bodyFingerprintBin2 value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withBodyFingerprintBin2(Integer bodyFingerprintBin2) {
+ this.bodyFingerprintBin2 = bodyFingerprintBin2;
+ return this;
+ }
+
+ /**
+ * Get the bodyFingerprintBin3 property: The bodyFingerprintBin3.
+ *
+ * @return the bodyFingerprintBin3 value.
+ */
+ public Integer bodyFingerprintBin3() {
+ return this.bodyFingerprintBin3;
+ }
+
+ /**
+ * Set the bodyFingerprintBin3 property: The bodyFingerprintBin3.
+ *
+ * @param bodyFingerprintBin3 the bodyFingerprintBin3 value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withBodyFingerprintBin3(Integer bodyFingerprintBin3) {
+ this.bodyFingerprintBin3 = bodyFingerprintBin3;
+ return this;
+ }
+
+ /**
+ * Get the bodyFingerprintBin4 property: The bodyFingerprintBin4.
+ *
+ * @return the bodyFingerprintBin4 value.
+ */
+ public Integer bodyFingerprintBin4() {
+ return this.bodyFingerprintBin4;
+ }
+
+ /**
+ * Set the bodyFingerprintBin4 property: The bodyFingerprintBin4.
+ *
+ * @param bodyFingerprintBin4 the bodyFingerprintBin4 value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withBodyFingerprintBin4(Integer bodyFingerprintBin4) {
+ this.bodyFingerprintBin4 = bodyFingerprintBin4;
+ return this;
+ }
+
+ /**
+ * Get the bodyFingerprintBin5 property: The bodyFingerprintBin5.
+ *
+ * @return the bodyFingerprintBin5 value.
+ */
+ public Integer bodyFingerprintBin5() {
+ return this.bodyFingerprintBin5;
+ }
+
+ /**
+ * Set the bodyFingerprintBin5 property: The bodyFingerprintBin5.
+ *
+ * @param bodyFingerprintBin5 the bodyFingerprintBin5 value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withBodyFingerprintBin5(Integer bodyFingerprintBin5) {
+ this.bodyFingerprintBin5 = bodyFingerprintBin5;
+ return this;
+ }
+
+ /**
+ * Get the antispamDirection property: The directionality of this mail message.
+ *
+ * @return the antispamDirection value.
+ */
+ public AntispamMailDirection antispamDirection() {
+ return this.antispamDirection;
+ }
+
+ /**
+ * Set the antispamDirection property: The directionality of this mail message.
+ *
+ * @param antispamDirection the antispamDirection value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withAntispamDirection(AntispamMailDirection antispamDirection) {
+ this.antispamDirection = antispamDirection;
+ return this;
+ }
+
+ /**
+ * Get the deliveryAction property: The delivery action of this mail message like Delivered, Blocked, Replaced etc.
+ *
+ * @return the deliveryAction value.
+ */
+ public DeliveryAction deliveryAction() {
+ return this.deliveryAction;
+ }
+
+ /**
+ * Set the deliveryAction property: The delivery action of this mail message like Delivered, Blocked, Replaced etc.
+ *
+ * @param deliveryAction the deliveryAction value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withDeliveryAction(DeliveryAction deliveryAction) {
+ this.deliveryAction = deliveryAction;
+ return this;
+ }
+
+ /**
+ * Get the deliveryLocation property: The delivery location of this mail message like Inbox, JunkFolder etc.
+ *
+ * @return the deliveryLocation value.
+ */
+ public DeliveryLocation deliveryLocation() {
+ return this.deliveryLocation;
+ }
+
+ /**
+ * Set the deliveryLocation property: The delivery location of this mail message like Inbox, JunkFolder etc.
+ *
+ * @param deliveryLocation the deliveryLocation value to set.
+ * @return the MailMessageEntityProperties object itself.
+ */
+ public MailMessageEntityProperties withDeliveryLocation(DeliveryLocation deliveryLocation) {
+ this.deliveryLocation = deliveryLocation;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailboxEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailboxEntityProperties.java
new file mode 100644
index 000000000000..323052891ea4
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MailboxEntityProperties.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.UUID;
+
+/** Mailbox entity property bag. */
+@Immutable
+public final class MailboxEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MailboxEntityProperties.class);
+
+ /*
+ * The mailbox's primary address
+ */
+ @JsonProperty(value = "mailboxPrimaryAddress", access = JsonProperty.Access.WRITE_ONLY)
+ private String mailboxPrimaryAddress;
+
+ /*
+ * The mailbox's display name
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /*
+ * The mailbox's UPN
+ */
+ @JsonProperty(value = "upn", access = JsonProperty.Access.WRITE_ONLY)
+ private String upn;
+
+ /*
+ * The AzureAD identifier of mailbox. Similar to AadUserId in account
+ * entity but this property is specific to mailbox object on office side
+ */
+ @JsonProperty(value = "externalDirectoryObjectId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID externalDirectoryObjectId;
+
+ /**
+ * Get the mailboxPrimaryAddress property: The mailbox's primary address.
+ *
+ * @return the mailboxPrimaryAddress value.
+ */
+ public String mailboxPrimaryAddress() {
+ return this.mailboxPrimaryAddress;
+ }
+
+ /**
+ * Get the displayName property: The mailbox's display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get the upn property: The mailbox's UPN.
+ *
+ * @return the upn value.
+ */
+ public String upn() {
+ return this.upn;
+ }
+
+ /**
+ * Get the externalDirectoryObjectId property: The AzureAD identifier of mailbox. Similar to AadUserId in account
+ * entity but this property is specific to mailbox object on office side.
+ *
+ * @return the externalDirectoryObjectId value.
+ */
+ public UUID externalDirectoryObjectId() {
+ return this.externalDirectoryObjectId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MalwareEntityProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MalwareEntityProperties.java
new file mode 100644
index 000000000000..a0a57424dcad
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MalwareEntityProperties.java
@@ -0,0 +1,89 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.EntityCommonProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Malware entity property bag. */
+@Immutable
+public final class MalwareEntityProperties extends EntityCommonProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MalwareEntityProperties.class);
+
+ /*
+ * The malware category by the vendor, e.g. Trojan
+ */
+ @JsonProperty(value = "category", access = JsonProperty.Access.WRITE_ONLY)
+ private String category;
+
+ /*
+ * List of linked file entity identifiers on which the malware was found
+ */
+ @JsonProperty(value = "fileEntityIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List fileEntityIds;
+
+ /*
+ * The malware name by the vendor, e.g. Win32/Toga!rfn
+ */
+ @JsonProperty(value = "malwareName", access = JsonProperty.Access.WRITE_ONLY)
+ private String malwareName;
+
+ /*
+ * List of linked process entity identifiers on which the malware was
+ * found.
+ */
+ @JsonProperty(value = "processEntityIds", access = JsonProperty.Access.WRITE_ONLY)
+ private List processEntityIds;
+
+ /**
+ * Get the category property: The malware category by the vendor, e.g. Trojan.
+ *
+ * @return the category value.
+ */
+ public String category() {
+ return this.category;
+ }
+
+ /**
+ * Get the fileEntityIds property: List of linked file entity identifiers on which the malware was found.
+ *
+ * @return the fileEntityIds value.
+ */
+ public List fileEntityIds() {
+ return this.fileEntityIds;
+ }
+
+ /**
+ * Get the malwareName property: The malware name by the vendor, e.g. Win32/Toga!rfn.
+ *
+ * @return the malwareName value.
+ */
+ public String malwareName() {
+ return this.malwareName;
+ }
+
+ /**
+ * Get the processEntityIds property: List of linked process entity identifiers on which the malware was found.
+ *
+ * @return the processEntityIds value.
+ */
+ public List processEntityIds() {
+ return this.processEntityIds;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/McasCheckRequirementsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/McasCheckRequirementsProperties.java
new file mode 100644
index 000000000000..8ac513683c89
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/McasCheckRequirementsProperties.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/** MCAS (Microsoft Cloud App Security) requirements check properties. */
+@Fluent
+public final class McasCheckRequirementsProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(McasCheckRequirementsProperties.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public McasCheckRequirementsProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/McasDataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/McasDataConnectorProperties.java
new file mode 100644
index 000000000000..0bbae456829f
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/McasDataConnectorProperties.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.azure.resourcemanager.securityinsights.models.McasDataConnectorDataTypes;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** MCAS (Microsoft Cloud App Security) data connector properties. */
+@Fluent
+public final class McasDataConnectorProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(McasDataConnectorProperties.class);
+
+ /*
+ * The available data types for the connector.
+ */
+ @JsonProperty(value = "dataTypes", required = true)
+ private McasDataConnectorDataTypes dataTypes;
+
+ /**
+ * Get the dataTypes property: The available data types for the connector.
+ *
+ * @return the dataTypes value.
+ */
+ public McasDataConnectorDataTypes dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: The available data types for the connector.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the McasDataConnectorProperties object itself.
+ */
+ public McasDataConnectorProperties withDataTypes(McasDataConnectorDataTypes dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public McasDataConnectorProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (dataTypes() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property dataTypes in model McasDataConnectorProperties"));
+ } else {
+ dataTypes().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MdatpCheckRequirementsProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MdatpCheckRequirementsProperties.java
new file mode 100644
index 000000000000..a3f0661421d2
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MdatpCheckRequirementsProperties.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/** MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties. */
+@Fluent
+public final class MdatpCheckRequirementsProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MdatpCheckRequirementsProperties.class);
+
+ /** {@inheritDoc} */
+ @Override
+ public MdatpCheckRequirementsProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MdatpDataConnectorProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MdatpDataConnectorProperties.java
new file mode 100644
index 000000000000..bb14bcbdd994
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MdatpDataConnectorProperties.java
@@ -0,0 +1,64 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertsDataTypeOfDataConnector;
+import com.azure.resourcemanager.securityinsights.models.DataConnectorTenantId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** MDATP (Microsoft Defender Advanced Threat Protection) data connector properties. */
+@Fluent
+public final class MdatpDataConnectorProperties extends DataConnectorTenantId {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MdatpDataConnectorProperties.class);
+
+ /*
+ * The available data types for the connector.
+ */
+ @JsonProperty(value = "dataTypes")
+ private AlertsDataTypeOfDataConnector dataTypes;
+
+ /**
+ * Get the dataTypes property: The available data types for the connector.
+ *
+ * @return the dataTypes value.
+ */
+ public AlertsDataTypeOfDataConnector dataTypes() {
+ return this.dataTypes;
+ }
+
+ /**
+ * Set the dataTypes property: The available data types for the connector.
+ *
+ * @param dataTypes the dataTypes value to set.
+ * @return the MdatpDataConnectorProperties object itself.
+ */
+ public MdatpDataConnectorProperties withDataTypes(AlertsDataTypeOfDataConnector dataTypes) {
+ this.dataTypes = dataTypes;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MdatpDataConnectorProperties withTenantId(String tenantId) {
+ super.withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (dataTypes() != null) {
+ dataTypes().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataModelInner.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataModelInner.java
new file mode 100644
index 000000000000..23b926bf7937
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataModelInner.java
@@ -0,0 +1,350 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.Kind;
+import com.azure.resourcemanager.securityinsights.models.MetadataAuthor;
+import com.azure.resourcemanager.securityinsights.models.MetadataCategories;
+import com.azure.resourcemanager.securityinsights.models.MetadataDependencies;
+import com.azure.resourcemanager.securityinsights.models.MetadataSource;
+import com.azure.resourcemanager.securityinsights.models.MetadataSupport;
+import com.azure.resourcemanager.securityinsights.models.ResourceWithEtag;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.LocalDate;
+import java.util.List;
+
+/** Metadata resource definition. */
+@Fluent
+public final class MetadataModelInner extends ResourceWithEtag {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetadataModelInner.class);
+
+ /*
+ * Metadata properties
+ */
+ @JsonProperty(value = "properties")
+ private MetadataProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Metadata properties.
+ *
+ * @return the innerProperties value.
+ */
+ private MetadataProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MetadataModelInner withEtag(String etag) {
+ super.withEtag(etag);
+ return this;
+ }
+
+ /**
+ * Get the contentId property: 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.
+ *
+ * @return the contentId value.
+ */
+ public String contentId() {
+ return this.innerProperties() == null ? null : this.innerProperties().contentId();
+ }
+
+ /**
+ * Set the contentId property: 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.
+ *
+ * @param contentId the contentId value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withContentId(String contentId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withContentId(contentId);
+ return this;
+ }
+
+ /**
+ * Get the parentId property: 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).
+ *
+ * @return the parentId value.
+ */
+ public String parentId() {
+ return this.innerProperties() == null ? null : this.innerProperties().parentId();
+ }
+
+ /**
+ * Set the parentId property: 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).
+ *
+ * @param parentId the parentId value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withParentId(String parentId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withParentId(parentId);
+ return this;
+ }
+
+ /**
+ * Get the version property: 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.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.innerProperties() == null ? null : this.innerProperties().version();
+ }
+
+ /**
+ * Set the version property: 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.
+ *
+ * @param version the version value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withVersion(String version) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withVersion(version);
+ return this;
+ }
+
+ /**
+ * Get the kind property: The kind of content the metadata is for.
+ *
+ * @return the kind value.
+ */
+ public Kind kind() {
+ return this.innerProperties() == null ? null : this.innerProperties().kind();
+ }
+
+ /**
+ * Set the kind property: The kind of content the metadata is for.
+ *
+ * @param kind the kind value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withKind(Kind kind) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withKind(kind);
+ return this;
+ }
+
+ /**
+ * Get the source property: Source of the content. This is where/how it was created.
+ *
+ * @return the source value.
+ */
+ public MetadataSource source() {
+ return this.innerProperties() == null ? null : this.innerProperties().source();
+ }
+
+ /**
+ * Set the source property: Source of the content. This is where/how it was created.
+ *
+ * @param source the source value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withSource(MetadataSource source) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withSource(source);
+ return this;
+ }
+
+ /**
+ * Get the author property: The creator of the content item.
+ *
+ * @return the author value.
+ */
+ public MetadataAuthor author() {
+ return this.innerProperties() == null ? null : this.innerProperties().author();
+ }
+
+ /**
+ * Set the author property: The creator of the content item.
+ *
+ * @param author the author value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withAuthor(MetadataAuthor author) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withAuthor(author);
+ return this;
+ }
+
+ /**
+ * Get the support property: Support information for the metadata - type, name, contact information.
+ *
+ * @return the support value.
+ */
+ public MetadataSupport support() {
+ return this.innerProperties() == null ? null : this.innerProperties().support();
+ }
+
+ /**
+ * Set the support property: Support information for the metadata - type, name, contact information.
+ *
+ * @param support the support value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withSupport(MetadataSupport support) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withSupport(support);
+ return this;
+ }
+
+ /**
+ * Get the dependencies property: 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.
+ *
+ * @return the dependencies value.
+ */
+ public MetadataDependencies dependencies() {
+ return this.innerProperties() == null ? null : this.innerProperties().dependencies();
+ }
+
+ /**
+ * Set the dependencies property: 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.
+ *
+ * @param dependencies the dependencies value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withDependencies(MetadataDependencies dependencies) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withDependencies(dependencies);
+ return this;
+ }
+
+ /**
+ * Get the categories property: Categories for the solution content item.
+ *
+ * @return the categories value.
+ */
+ public MetadataCategories categories() {
+ return this.innerProperties() == null ? null : this.innerProperties().categories();
+ }
+
+ /**
+ * Set the categories property: Categories for the solution content item.
+ *
+ * @param categories the categories value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withCategories(MetadataCategories categories) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withCategories(categories);
+ return this;
+ }
+
+ /**
+ * Get the providers property: Providers for the solution content item.
+ *
+ * @return the providers value.
+ */
+ public List providers() {
+ return this.innerProperties() == null ? null : this.innerProperties().providers();
+ }
+
+ /**
+ * Set the providers property: Providers for the solution content item.
+ *
+ * @param providers the providers value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withProviders(List providers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withProviders(providers);
+ return this;
+ }
+
+ /**
+ * Get the firstPublishDate property: first publish date solution content item.
+ *
+ * @return the firstPublishDate value.
+ */
+ public LocalDate firstPublishDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().firstPublishDate();
+ }
+
+ /**
+ * Set the firstPublishDate property: first publish date solution content item.
+ *
+ * @param firstPublishDate the firstPublishDate value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withFirstPublishDate(LocalDate firstPublishDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withFirstPublishDate(firstPublishDate);
+ return this;
+ }
+
+ /**
+ * Get the lastPublishDate property: last publish date for the solution content item.
+ *
+ * @return the lastPublishDate value.
+ */
+ public LocalDate lastPublishDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastPublishDate();
+ }
+
+ /**
+ * Set the lastPublishDate property: last publish date for the solution content item.
+ *
+ * @param lastPublishDate the lastPublishDate value to set.
+ * @return the MetadataModelInner object itself.
+ */
+ public MetadataModelInner withLastPublishDate(LocalDate lastPublishDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataProperties();
+ }
+ this.innerProperties().withLastPublishDate(lastPublishDate);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataProperties.java
new file mode 100644
index 000000000000..9ac1834dc3fd
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataProperties.java
@@ -0,0 +1,393 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.Kind;
+import com.azure.resourcemanager.securityinsights.models.MetadataAuthor;
+import com.azure.resourcemanager.securityinsights.models.MetadataCategories;
+import com.azure.resourcemanager.securityinsights.models.MetadataDependencies;
+import com.azure.resourcemanager.securityinsights.models.MetadataSource;
+import com.azure.resourcemanager.securityinsights.models.MetadataSupport;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.LocalDate;
+import java.util.List;
+
+/** Metadata property bag. */
+@Fluent
+public final class MetadataProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetadataProperties.class);
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "contentId")
+ private String contentId;
+
+ /*
+ * 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)
+ */
+ @JsonProperty(value = "parentId", required = true)
+ private String parentId;
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /*
+ * The kind of content the metadata is for.
+ */
+ @JsonProperty(value = "kind", required = true)
+ private Kind kind;
+
+ /*
+ * Source of the content. This is where/how it was created.
+ */
+ @JsonProperty(value = "source")
+ private MetadataSource source;
+
+ /*
+ * The creator of the content item.
+ */
+ @JsonProperty(value = "author")
+ private MetadataAuthor author;
+
+ /*
+ * Support information for the metadata - type, name, contact information
+ */
+ @JsonProperty(value = "support")
+ private MetadataSupport support;
+
+ /*
+ * 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.
+ */
+ @JsonProperty(value = "dependencies")
+ private MetadataDependencies dependencies;
+
+ /*
+ * Categories for the solution content item
+ */
+ @JsonProperty(value = "categories")
+ private MetadataCategories categories;
+
+ /*
+ * Providers for the solution content item
+ */
+ @JsonProperty(value = "providers")
+ private List providers;
+
+ /*
+ * first publish date solution content item
+ */
+ @JsonProperty(value = "firstPublishDate")
+ private LocalDate firstPublishDate;
+
+ /*
+ * last publish date for the solution content item
+ */
+ @JsonProperty(value = "lastPublishDate")
+ private LocalDate lastPublishDate;
+
+ /**
+ * Get the contentId property: 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.
+ *
+ * @return the contentId value.
+ */
+ public String contentId() {
+ return this.contentId;
+ }
+
+ /**
+ * Set the contentId property: 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.
+ *
+ * @param contentId the contentId value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withContentId(String contentId) {
+ this.contentId = contentId;
+ return this;
+ }
+
+ /**
+ * Get the parentId property: 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).
+ *
+ * @return the parentId value.
+ */
+ public String parentId() {
+ return this.parentId;
+ }
+
+ /**
+ * Set the parentId property: 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).
+ *
+ * @param parentId the parentId value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withParentId(String parentId) {
+ this.parentId = parentId;
+ return this;
+ }
+
+ /**
+ * Get the version property: 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.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: 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.
+ *
+ * @param version the version value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the kind property: The kind of content the metadata is for.
+ *
+ * @return the kind value.
+ */
+ public Kind kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: The kind of content the metadata is for.
+ *
+ * @param kind the kind value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withKind(Kind kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the source property: Source of the content. This is where/how it was created.
+ *
+ * @return the source value.
+ */
+ public MetadataSource source() {
+ return this.source;
+ }
+
+ /**
+ * Set the source property: Source of the content. This is where/how it was created.
+ *
+ * @param source the source value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withSource(MetadataSource source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get the author property: The creator of the content item.
+ *
+ * @return the author value.
+ */
+ public MetadataAuthor author() {
+ return this.author;
+ }
+
+ /**
+ * Set the author property: The creator of the content item.
+ *
+ * @param author the author value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withAuthor(MetadataAuthor author) {
+ this.author = author;
+ return this;
+ }
+
+ /**
+ * Get the support property: Support information for the metadata - type, name, contact information.
+ *
+ * @return the support value.
+ */
+ public MetadataSupport support() {
+ return this.support;
+ }
+
+ /**
+ * Set the support property: Support information for the metadata - type, name, contact information.
+ *
+ * @param support the support value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withSupport(MetadataSupport support) {
+ this.support = support;
+ return this;
+ }
+
+ /**
+ * Get the dependencies property: 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.
+ *
+ * @return the dependencies value.
+ */
+ public MetadataDependencies dependencies() {
+ return this.dependencies;
+ }
+
+ /**
+ * Set the dependencies property: 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.
+ *
+ * @param dependencies the dependencies value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withDependencies(MetadataDependencies dependencies) {
+ this.dependencies = dependencies;
+ return this;
+ }
+
+ /**
+ * Get the categories property: Categories for the solution content item.
+ *
+ * @return the categories value.
+ */
+ public MetadataCategories categories() {
+ return this.categories;
+ }
+
+ /**
+ * Set the categories property: Categories for the solution content item.
+ *
+ * @param categories the categories value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withCategories(MetadataCategories categories) {
+ this.categories = categories;
+ return this;
+ }
+
+ /**
+ * Get the providers property: Providers for the solution content item.
+ *
+ * @return the providers value.
+ */
+ public List providers() {
+ return this.providers;
+ }
+
+ /**
+ * Set the providers property: Providers for the solution content item.
+ *
+ * @param providers the providers value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withProviders(List providers) {
+ this.providers = providers;
+ return this;
+ }
+
+ /**
+ * Get the firstPublishDate property: first publish date solution content item.
+ *
+ * @return the firstPublishDate value.
+ */
+ public LocalDate firstPublishDate() {
+ return this.firstPublishDate;
+ }
+
+ /**
+ * Set the firstPublishDate property: first publish date solution content item.
+ *
+ * @param firstPublishDate the firstPublishDate value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withFirstPublishDate(LocalDate firstPublishDate) {
+ this.firstPublishDate = firstPublishDate;
+ return this;
+ }
+
+ /**
+ * Get the lastPublishDate property: last publish date for the solution content item.
+ *
+ * @return the lastPublishDate value.
+ */
+ public LocalDate lastPublishDate() {
+ return this.lastPublishDate;
+ }
+
+ /**
+ * Set the lastPublishDate property: last publish date for the solution content item.
+ *
+ * @param lastPublishDate the lastPublishDate value to set.
+ * @return the MetadataProperties object itself.
+ */
+ public MetadataProperties withLastPublishDate(LocalDate lastPublishDate) {
+ this.lastPublishDate = lastPublishDate;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (parentId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property parentId in model MetadataProperties"));
+ }
+ if (kind() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property kind in model MetadataProperties"));
+ }
+ if (source() != null) {
+ source().validate();
+ }
+ if (author() != null) {
+ author().validate();
+ }
+ if (support() != null) {
+ support().validate();
+ }
+ if (dependencies() != null) {
+ dependencies().validate();
+ }
+ if (categories() != null) {
+ categories().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataPropertiesPatch.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataPropertiesPatch.java
new file mode 100644
index 000000000000..1b8e5a26fae1
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MetadataPropertiesPatch.java
@@ -0,0 +1,383 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.Kind;
+import com.azure.resourcemanager.securityinsights.models.MetadataAuthor;
+import com.azure.resourcemanager.securityinsights.models.MetadataCategories;
+import com.azure.resourcemanager.securityinsights.models.MetadataDependencies;
+import com.azure.resourcemanager.securityinsights.models.MetadataSource;
+import com.azure.resourcemanager.securityinsights.models.MetadataSupport;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.LocalDate;
+import java.util.List;
+
+/** Metadata property bag for patch requests. This is the same as the MetadataProperties, but with nothing required. */
+@Fluent
+public final class MetadataPropertiesPatch {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetadataPropertiesPatch.class);
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "contentId")
+ private String contentId;
+
+ /*
+ * 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)
+ */
+ @JsonProperty(value = "parentId")
+ private String parentId;
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /*
+ * The kind of content the metadata is for.
+ */
+ @JsonProperty(value = "kind")
+ private Kind kind;
+
+ /*
+ * Source of the content. This is where/how it was created.
+ */
+ @JsonProperty(value = "source")
+ private MetadataSource source;
+
+ /*
+ * The creator of the content item.
+ */
+ @JsonProperty(value = "author")
+ private MetadataAuthor author;
+
+ /*
+ * Support information for the metadata - type, name, contact information
+ */
+ @JsonProperty(value = "support")
+ private MetadataSupport support;
+
+ /*
+ * 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.
+ */
+ @JsonProperty(value = "dependencies")
+ private MetadataDependencies dependencies;
+
+ /*
+ * Categories for the solution content item
+ */
+ @JsonProperty(value = "categories")
+ private MetadataCategories categories;
+
+ /*
+ * Providers for the solution content item
+ */
+ @JsonProperty(value = "providers")
+ private List providers;
+
+ /*
+ * first publish date solution content item
+ */
+ @JsonProperty(value = "firstPublishDate")
+ private LocalDate firstPublishDate;
+
+ /*
+ * last publish date for the solution content item
+ */
+ @JsonProperty(value = "lastPublishDate")
+ private LocalDate lastPublishDate;
+
+ /**
+ * Get the contentId property: 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.
+ *
+ * @return the contentId value.
+ */
+ public String contentId() {
+ return this.contentId;
+ }
+
+ /**
+ * Set the contentId property: 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.
+ *
+ * @param contentId the contentId value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withContentId(String contentId) {
+ this.contentId = contentId;
+ return this;
+ }
+
+ /**
+ * Get the parentId property: 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).
+ *
+ * @return the parentId value.
+ */
+ public String parentId() {
+ return this.parentId;
+ }
+
+ /**
+ * Set the parentId property: 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).
+ *
+ * @param parentId the parentId value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withParentId(String parentId) {
+ this.parentId = parentId;
+ return this;
+ }
+
+ /**
+ * Get the version property: 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.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: 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.
+ *
+ * @param version the version value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the kind property: The kind of content the metadata is for.
+ *
+ * @return the kind value.
+ */
+ public Kind kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: The kind of content the metadata is for.
+ *
+ * @param kind the kind value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withKind(Kind kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the source property: Source of the content. This is where/how it was created.
+ *
+ * @return the source value.
+ */
+ public MetadataSource source() {
+ return this.source;
+ }
+
+ /**
+ * Set the source property: Source of the content. This is where/how it was created.
+ *
+ * @param source the source value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withSource(MetadataSource source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get the author property: The creator of the content item.
+ *
+ * @return the author value.
+ */
+ public MetadataAuthor author() {
+ return this.author;
+ }
+
+ /**
+ * Set the author property: The creator of the content item.
+ *
+ * @param author the author value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withAuthor(MetadataAuthor author) {
+ this.author = author;
+ return this;
+ }
+
+ /**
+ * Get the support property: Support information for the metadata - type, name, contact information.
+ *
+ * @return the support value.
+ */
+ public MetadataSupport support() {
+ return this.support;
+ }
+
+ /**
+ * Set the support property: Support information for the metadata - type, name, contact information.
+ *
+ * @param support the support value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withSupport(MetadataSupport support) {
+ this.support = support;
+ return this;
+ }
+
+ /**
+ * Get the dependencies property: 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.
+ *
+ * @return the dependencies value.
+ */
+ public MetadataDependencies dependencies() {
+ return this.dependencies;
+ }
+
+ /**
+ * Set the dependencies property: 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.
+ *
+ * @param dependencies the dependencies value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withDependencies(MetadataDependencies dependencies) {
+ this.dependencies = dependencies;
+ return this;
+ }
+
+ /**
+ * Get the categories property: Categories for the solution content item.
+ *
+ * @return the categories value.
+ */
+ public MetadataCategories categories() {
+ return this.categories;
+ }
+
+ /**
+ * Set the categories property: Categories for the solution content item.
+ *
+ * @param categories the categories value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withCategories(MetadataCategories categories) {
+ this.categories = categories;
+ return this;
+ }
+
+ /**
+ * Get the providers property: Providers for the solution content item.
+ *
+ * @return the providers value.
+ */
+ public List providers() {
+ return this.providers;
+ }
+
+ /**
+ * Set the providers property: Providers for the solution content item.
+ *
+ * @param providers the providers value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withProviders(List providers) {
+ this.providers = providers;
+ return this;
+ }
+
+ /**
+ * Get the firstPublishDate property: first publish date solution content item.
+ *
+ * @return the firstPublishDate value.
+ */
+ public LocalDate firstPublishDate() {
+ return this.firstPublishDate;
+ }
+
+ /**
+ * Set the firstPublishDate property: first publish date solution content item.
+ *
+ * @param firstPublishDate the firstPublishDate value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withFirstPublishDate(LocalDate firstPublishDate) {
+ this.firstPublishDate = firstPublishDate;
+ return this;
+ }
+
+ /**
+ * Get the lastPublishDate property: last publish date for the solution content item.
+ *
+ * @return the lastPublishDate value.
+ */
+ public LocalDate lastPublishDate() {
+ return this.lastPublishDate;
+ }
+
+ /**
+ * Set the lastPublishDate property: last publish date for the solution content item.
+ *
+ * @param lastPublishDate the lastPublishDate value to set.
+ * @return the MetadataPropertiesPatch object itself.
+ */
+ public MetadataPropertiesPatch withLastPublishDate(LocalDate lastPublishDate) {
+ this.lastPublishDate = lastPublishDate;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (source() != null) {
+ source().validate();
+ }
+ if (author() != null) {
+ author().validate();
+ }
+ if (support() != null) {
+ support().validate();
+ }
+ if (dependencies() != null) {
+ dependencies().validate();
+ }
+ if (categories() != null) {
+ categories().validate();
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MicrosoftSecurityIncidentCreationAlertRuleProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MicrosoftSecurityIncidentCreationAlertRuleProperties.java
new file mode 100644
index 000000000000..390d57cf965a
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MicrosoftSecurityIncidentCreationAlertRuleProperties.java
@@ -0,0 +1,192 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertSeverity;
+import com.azure.resourcemanager.securityinsights.models.MicrosoftSecurityIncidentCreationAlertRuleCommonProperties;
+import com.azure.resourcemanager.securityinsights.models.MicrosoftSecurityProductName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** MicrosoftSecurityIncidentCreation rule property bag. */
+@Fluent
+public final class MicrosoftSecurityIncidentCreationAlertRuleProperties
+ extends MicrosoftSecurityIncidentCreationAlertRuleCommonProperties {
+ @JsonIgnore
+ private final ClientLogger logger = new ClientLogger(MicrosoftSecurityIncidentCreationAlertRuleProperties.class);
+
+ /*
+ * The Name of the alert rule template used to create this rule.
+ */
+ @JsonProperty(value = "alertRuleTemplateName")
+ private String alertRuleTemplateName;
+
+ /*
+ * The description of the alert rule.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The display name for alerts created by this alert rule.
+ */
+ @JsonProperty(value = "displayName", required = true)
+ private String displayName;
+
+ /*
+ * Determines whether this alert rule is enabled or disabled.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /*
+ * The last time that this alert has been modified.
+ */
+ @JsonProperty(value = "lastModifiedUtc", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedUtc;
+
+ /**
+ * Get the alertRuleTemplateName property: The Name of the alert rule template used to create this rule.
+ *
+ * @return the alertRuleTemplateName value.
+ */
+ public String alertRuleTemplateName() {
+ return this.alertRuleTemplateName;
+ }
+
+ /**
+ * Set the alertRuleTemplateName property: The Name of the alert rule template used to create this rule.
+ *
+ * @param alertRuleTemplateName the alertRuleTemplateName value to set.
+ * @return the MicrosoftSecurityIncidentCreationAlertRuleProperties object itself.
+ */
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withAlertRuleTemplateName(
+ String alertRuleTemplateName) {
+ this.alertRuleTemplateName = alertRuleTemplateName;
+ return this;
+ }
+
+ /**
+ * Get the description property: The description of the alert rule.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The description of the alert rule.
+ *
+ * @param description the description value to set.
+ * @return the MicrosoftSecurityIncidentCreationAlertRuleProperties object itself.
+ */
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The display name for alerts created by this alert rule.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The display name for alerts created by this alert rule.
+ *
+ * @param displayName the displayName value to set.
+ * @return the MicrosoftSecurityIncidentCreationAlertRuleProperties object itself.
+ */
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: Determines whether this alert rule is enabled or disabled.
+ *
+ * @return the enabled value.
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Determines whether this alert rule is enabled or disabled.
+ *
+ * @param enabled the enabled value to set.
+ * @return the MicrosoftSecurityIncidentCreationAlertRuleProperties object itself.
+ */
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedUtc property: The last time that this alert has been modified.
+ *
+ * @return the lastModifiedUtc value.
+ */
+ public OffsetDateTime lastModifiedUtc() {
+ return this.lastModifiedUtc;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withDisplayNamesFilter(
+ List displayNamesFilter) {
+ super.withDisplayNamesFilter(displayNamesFilter);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withDisplayNamesExcludeFilter(
+ List displayNamesExcludeFilter) {
+ super.withDisplayNamesExcludeFilter(displayNamesExcludeFilter);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withProductFilter(
+ MicrosoftSecurityProductName productFilter) {
+ super.withProductFilter(productFilter);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MicrosoftSecurityIncidentCreationAlertRuleProperties withSeveritiesFilter(
+ List severitiesFilter) {
+ super.withSeveritiesFilter(severitiesFilter);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (displayName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property displayName in model"
+ + " MicrosoftSecurityIncidentCreationAlertRuleProperties"));
+ }
+ }
+}
diff --git a/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties.java b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties.java
new file mode 100644
index 000000000000..92d23051b625
--- /dev/null
+++ b/sdk/securityinsights/azure-resourcemanager-securityinsights/src/main/java/com/azure/resourcemanager/securityinsights/fluent/models/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties.java
@@ -0,0 +1,187 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.securityinsights.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.securityinsights.models.AlertRuleTemplateDataSource;
+import com.azure.resourcemanager.securityinsights.models.AlertRuleTemplatePropertiesBase;
+import com.azure.resourcemanager.securityinsights.models.AlertSeverity;
+import com.azure.resourcemanager.securityinsights.models.MicrosoftSecurityProductName;
+import com.azure.resourcemanager.securityinsights.models.TemplateStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** MicrosoftSecurityIncidentCreation rule template properties. */
+@Fluent
+public final class MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties
+ extends AlertRuleTemplatePropertiesBase {
+ @JsonIgnore
+ private final ClientLogger logger =
+ new ClientLogger(MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties.class);
+
+ /*
+ * the alerts' displayNames on which the cases will be generated
+ */
+ @JsonProperty(value = "displayNamesFilter")
+ private List displayNamesFilter;
+
+ /*
+ * the alerts' displayNames on which the cases will not be generated
+ */
+ @JsonProperty(value = "displayNamesExcludeFilter")
+ private List