Udostępnij przez


Metadane microsoft.SecurityInsights

Definicja zasobu Bicep

Typ zasobu metadanych można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.SecurityInsights/metadata, dodaj następujący kod Bicep do szablonu.

resource symbolicname 'Microsoft.SecurityInsights/metadata@2025-09-01' = {
  scope: resourceSymbolicName or scope
  etag: 'string'
  name: 'string'
  properties: {
    author: {
      email: 'string'
      link: 'string'
      name: 'string'
    }
    categories: {
      domains: [
        'string'
      ]
      verticals: [
        'string'
      ]
    }
    contentId: 'string'
    contentSchemaVersion: 'string'
    customVersion: 'string'
    dependencies: {
      contentId: 'string'
      criteria: [
        ...
      ]
      kind: 'string'
      name: 'string'
      operator: 'string'
      version: 'string'
    }
    firstPublishDate: 'string'
    icon: 'string'
    kind: 'string'
    lastPublishDate: 'string'
    parentId: 'string'
    previewImages: [
      'string'
    ]
    previewImagesDark: [
      'string'
    ]
    providers: [
      'string'
    ]
    source: {
      kind: 'string'
      name: 'string'
      sourceId: 'string'
    }
    support: {
      email: 'string'
      link: 'string'
      name: 'string'
      tier: 'string'
    }
    threatAnalysisTactics: [
      'string'
    ]
    threatAnalysisTechniques: [
      'string'
    ]
    version: 'string'
  }
}

Wartości właściwości

Microsoft.SecurityInsights/metadata

Nazwa Opis Wartość
Znacznik ETAG Etag zasobu platformy Azure ciąg
nazwa Nazwa zasobu struna

Ograniczenia:
Wzorzec = ^\S+$ (wymagane)
Właściwości Właściwości metadanych Właściwości metadanych
zakres Użyj polecenia podczas tworzenia zasobu w zakresie innym niż zakres wdrożenia. Ustaw tę właściwość na symboliczną nazwę zasobu, aby zastosować zasób rozszerzenia .

Autor metadanych

Nazwa Opis Wartość
e-mail Adres e-mail kontaktu autora ciąg
łącze Link do strony autora/dostawcy ciąg
nazwa Nazwa autora. Firma lub osoba. ciąg

Kategorie metadanych

Nazwa Opis Wartość
Domen domena dla elementu zawartości rozwiązania ciąg znakowy[]
Pionowe centra Branżowe piony dla elementu zawartości rozwiązania ciąg znakowy[]

Zależności metadanych

Nazwa Opis Wartość
contentId (identyfikator zawartości) Identyfikator elementu zawartości, od których zależymy ciąg
Kryteria Jest to lista zależności, które musimy spełnić, zgodnie z operatorem AND/OR Zależności metadanych[]
rodzaj Typ elementu zawartości, od których zależymy "AnalyticsRule"
"AnalyticsRuleTemplate"
"AutomationRule"
"AzureFunction"
"DataConnector"
"DataType"
"HuntingQuery"
"BadanieQuery"
"LogicAppsCustomConnector"
"Notes"
"Analizator"
"Podręcznik"
"PodręcznikTemplate"
"ResourcesDataConnector"
"Rozwiązanie"
"Autonomiczny"
"SummaryRule"
"Lista do obejrzenia"
"WatchlistTemplate"
"Skoroszyt"
"WorkbookTemplate"
nazwa Nazwa elementu zawartości ciąg
operator Operator używany do wyświetlania listy zależności w tablicy kryteriów. 'ORAZ'
'LUB'
wersja Wersja elementu zawartości, od których zależymy. Może być pusty, * lub brak, aby wskazać dowolną wersję spełniającą zależność. Jeśli wersja nie jest zgodna z naszym zdefiniowanym formatem liczbowym, wymagane jest dokładne dopasowanie. ciąg

Właściwości metadanych

Nazwa Opis Wartość
autor Twórca elementu zawartości. Autor metadanych
Kategorie Kategorie dla elementu zawartości rozwiązania Kategorie metadanych
contentId (identyfikator zawartości) Statyczny identyfikator zawartości. Służy do identyfikowania zależności i zawartości z rozwiązań lub społeczności. Zakodowane na stałe/statyczne dla gotowej zawartości i rozwiązań. Dynamiczne tworzenie przez użytkownika. Jest to nazwa zasobu ciąg
contentSchemaVersion (wersja schematu) Wersja schematu zawartości. Można użyć do rozróżnienia między różnymi przepływami na podstawie wersji schematu ciąg
customVersion (wersja niestandardowa) Niestandardowa wersja zawartości. Opcjonalny tekst wolny ciąg
Zależności Zależności dla elementu zawartości, jakie inne elementy zawartości wymagają działania. Można opisać bardziej złożone zależności przy użyciu struktury rekursywnej/zagnieżdżonej. W przypadku pojedynczej zależności można podać identyfikator/rodzaj/wersję lub operator/kryteria dla złożonych formatów. Zależności metadanych
firstPublishDate (data publikacji) element zawartości rozwiązania z pierwszą datą publikacji ciąg
ikona identyfikator ikony. ten identyfikator można później pobrać z szablonu rozwiązania ciąg
rodzaj Rodzaj zawartości, dla jakiej są metadane. ciąg (wymagany)
lastPublishDate (data ostatniej publikacji) data ostatniego opublikowania elementu zawartości rozwiązania ciąg
parentId (identyfikator rodzica) Pełny identyfikator zasobu nadrzędnego elementu zawartości, dla których są metadane. Jest to pełny identyfikator zasobu, w tym zakres (subskrypcja i grupa zasobów) ciąg (wymagany)
podglądObrazy podgląd nazw plików obrazów. Zostaną one pobrane z artefaktów rozwiązania ciąg znakowy[]
podglądObrazyCiemny podgląd nazw plików obrazów. Zostaną one pobrane z artefaktów rozwiązania. używany do obsługi motywu ciemnego ciąg znakowy[]
Dostawców Dostawcy elementu zawartości rozwiązania ciąg znakowy[]
przesłać źródło Źródło zawartości. W tym miejscu/sposobie jego utworzenia. Źródło metadanych
Dział Obsługi Klienta Informacje o pomocy technicznej dotyczące metadanych — typ, nazwa, informacje kontaktowe Obsługa metadanych
threatAnalysisTactics (analiza zagrożeńTaktyka) taktyka, zasób obejmuje ciąg znakowy[]
threatAnalysisTechniques (Techniki analizy zagrożeń) techniki, których dotyczy zasób, należy je dostosować do stosowanej taktyki ciąg znakowy[]
wersja Wersja zawartości. Domyślny i zalecany format to numeryczne (np. 1, 1.0, 1.0.0, 1.0.0.0), zgodnie z najlepszymi rozwiązaniami dotyczącymi szablonu usługi ARM. Może to być również dowolny ciąg, ale nie możemy zagwarantować żadnych kontroli wersji ciąg

Źródło metadanych

Nazwa Opis Wartość
rodzaj Typ źródła zawartości "Społeczność"
"LocalWorkspace"
"Rozwiązanie"
"SourceRepository" (wymagane)
nazwa Nazwa źródła zawartości. Nazwa repozytorium, nazwa rozwiązania, nazwa obszaru roboczego la itp. ciąg
sourceId (identyfikator źródła) Identyfikator źródła zawartości. Identyfikator rozwiązania, identyfikator obszaru roboczego itp. ciąg

Obsługa metadanych

Nazwa Opis Wartość
e-mail Adres e-mail kontaktu z pomocą techniczną ciąg
łącze Link do pomocy technicznej, takiej jak strona pomocy technicznej, aby otworzyć bilet itp. ciąg
nazwa Nazwa kontaktu z pomocą techniczną. Firma lub osoba. ciąg
warstwa Typ obsługi elementu zawartości "Społeczność"
"Microsoft"
"Partner" (wymagany)

Definicja zasobu szablonu usługi ARM

Typ zasobu metadanych można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.SecurityInsights/metadata, dodaj następujący kod JSON do szablonu.

{
  "type": "Microsoft.SecurityInsights/metadata",
  "apiVersion": "2025-09-01",
  "name": "string",
  "etag": "string",
  "properties": {
    "author": {
      "email": "string",
      "link": "string",
      "name": "string"
    },
    "categories": {
      "domains": [ "string" ],
      "verticals": [ "string" ]
    },
    "contentId": "string",
    "contentSchemaVersion": "string",
    "customVersion": "string",
    "dependencies": {
      "contentId": "string",
      "criteria": [
        ...
      ],
      "kind": "string",
      "name": "string",
      "operator": "string",
      "version": "string"
    },
    "firstPublishDate": "string",
    "icon": "string",
    "kind": "string",
    "lastPublishDate": "string",
    "parentId": "string",
    "previewImages": [ "string" ],
    "previewImagesDark": [ "string" ],
    "providers": [ "string" ],
    "source": {
      "kind": "string",
      "name": "string",
      "sourceId": "string"
    },
    "support": {
      "email": "string",
      "link": "string",
      "name": "string",
      "tier": "string"
    },
    "threatAnalysisTactics": [ "string" ],
    "threatAnalysisTechniques": [ "string" ],
    "version": "string"
  }
}

Wartości właściwości

Microsoft.SecurityInsights/metadata

Nazwa Opis Wartość
apiVersion (wersja interfejsu api) Wersja interfejsu API '2025-09-01'
Znacznik ETAG Etag zasobu platformy Azure ciąg
nazwa Nazwa zasobu struna

Ograniczenia:
Wzorzec = ^\S+$ (wymagane)
Właściwości Właściwości metadanych Właściwości metadanych
typ Typ zasobu "Microsoft.SecurityInsights/metadata"

Autor metadanych

Nazwa Opis Wartość
e-mail Adres e-mail kontaktu autora ciąg
łącze Link do strony autora/dostawcy ciąg
nazwa Nazwa autora. Firma lub osoba. ciąg

Kategorie metadanych

Nazwa Opis Wartość
Domen domena dla elementu zawartości rozwiązania ciąg znakowy[]
Pionowe centra Branżowe piony dla elementu zawartości rozwiązania ciąg znakowy[]

Zależności metadanych

Nazwa Opis Wartość
contentId (identyfikator zawartości) Identyfikator elementu zawartości, od których zależymy ciąg
Kryteria Jest to lista zależności, które musimy spełnić, zgodnie z operatorem AND/OR Zależności metadanych[]
rodzaj Typ elementu zawartości, od których zależymy "AnalyticsRule"
"AnalyticsRuleTemplate"
"AutomationRule"
"AzureFunction"
"DataConnector"
"DataType"
"HuntingQuery"
"BadanieQuery"
"LogicAppsCustomConnector"
"Notes"
"Analizator"
"Podręcznik"
"PodręcznikTemplate"
"ResourcesDataConnector"
"Rozwiązanie"
"Autonomiczny"
"SummaryRule"
"Lista do obejrzenia"
"WatchlistTemplate"
"Skoroszyt"
"WorkbookTemplate"
nazwa Nazwa elementu zawartości ciąg
operator Operator używany do wyświetlania listy zależności w tablicy kryteriów. 'ORAZ'
'LUB'
wersja Wersja elementu zawartości, od których zależymy. Może być pusty, * lub brak, aby wskazać dowolną wersję spełniającą zależność. Jeśli wersja nie jest zgodna z naszym zdefiniowanym formatem liczbowym, wymagane jest dokładne dopasowanie. ciąg

Właściwości metadanych

Nazwa Opis Wartość
autor Twórca elementu zawartości. Autor metadanych
Kategorie Kategorie dla elementu zawartości rozwiązania Kategorie metadanych
contentId (identyfikator zawartości) Statyczny identyfikator zawartości. Służy do identyfikowania zależności i zawartości z rozwiązań lub społeczności. Zakodowane na stałe/statyczne dla gotowej zawartości i rozwiązań. Dynamiczne tworzenie przez użytkownika. Jest to nazwa zasobu ciąg
contentSchemaVersion (wersja schematu) Wersja schematu zawartości. Można użyć do rozróżnienia między różnymi przepływami na podstawie wersji schematu ciąg
customVersion (wersja niestandardowa) Niestandardowa wersja zawartości. Opcjonalny tekst wolny ciąg
Zależności Zależności dla elementu zawartości, jakie inne elementy zawartości wymagają działania. Można opisać bardziej złożone zależności przy użyciu struktury rekursywnej/zagnieżdżonej. W przypadku pojedynczej zależności można podać identyfikator/rodzaj/wersję lub operator/kryteria dla złożonych formatów. Zależności metadanych
firstPublishDate (data publikacji) element zawartości rozwiązania z pierwszą datą publikacji ciąg
ikona identyfikator ikony. ten identyfikator można później pobrać z szablonu rozwiązania ciąg
rodzaj Rodzaj zawartości, dla jakiej są metadane. ciąg (wymagany)
lastPublishDate (data ostatniej publikacji) data ostatniego opublikowania elementu zawartości rozwiązania ciąg
parentId (identyfikator rodzica) Pełny identyfikator zasobu nadrzędnego elementu zawartości, dla których są metadane. Jest to pełny identyfikator zasobu, w tym zakres (subskrypcja i grupa zasobów) ciąg (wymagany)
podglądObrazy podgląd nazw plików obrazów. Zostaną one pobrane z artefaktów rozwiązania ciąg znakowy[]
podglądObrazyCiemny podgląd nazw plików obrazów. Zostaną one pobrane z artefaktów rozwiązania. używany do obsługi motywu ciemnego ciąg znakowy[]
Dostawców Dostawcy elementu zawartości rozwiązania ciąg znakowy[]
przesłać źródło Źródło zawartości. W tym miejscu/sposobie jego utworzenia. Źródło metadanych
Dział Obsługi Klienta Informacje o pomocy technicznej dotyczące metadanych — typ, nazwa, informacje kontaktowe Obsługa metadanych
threatAnalysisTactics (analiza zagrożeńTaktyka) taktyka, zasób obejmuje ciąg znakowy[]
threatAnalysisTechniques (Techniki analizy zagrożeń) techniki, których dotyczy zasób, należy je dostosować do stosowanej taktyki ciąg znakowy[]
wersja Wersja zawartości. Domyślny i zalecany format to numeryczne (np. 1, 1.0, 1.0.0, 1.0.0.0), zgodnie z najlepszymi rozwiązaniami dotyczącymi szablonu usługi ARM. Może to być również dowolny ciąg, ale nie możemy zagwarantować żadnych kontroli wersji ciąg

Źródło metadanych

Nazwa Opis Wartość
rodzaj Typ źródła zawartości "Społeczność"
"LocalWorkspace"
"Rozwiązanie"
"SourceRepository" (wymagane)
nazwa Nazwa źródła zawartości. Nazwa repozytorium, nazwa rozwiązania, nazwa obszaru roboczego la itp. ciąg
sourceId (identyfikator źródła) Identyfikator źródła zawartości. Identyfikator rozwiązania, identyfikator obszaru roboczego itp. ciąg

Obsługa metadanych

Nazwa Opis Wartość
e-mail Adres e-mail kontaktu z pomocą techniczną ciąg
łącze Link do pomocy technicznej, takiej jak strona pomocy technicznej, aby otworzyć bilet itp. ciąg
nazwa Nazwa kontaktu z pomocą techniczną. Firma lub osoba. ciąg
warstwa Typ obsługi elementu zawartości "Społeczność"
"Microsoft"
"Partner" (wymagany)

Przykłady użycia

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu metadanych można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.SecurityInsights/metadata, dodaj następujący program Terraform do szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.SecurityInsights/metadata@2025-09-01"
  name = "string"
  parent_id = "string"
  body = {
    etag = "string"
    properties = {
      author = {
        email = "string"
        link = "string"
        name = "string"
      }
      categories = {
        domains = [
          "string"
        ]
        verticals = [
          "string"
        ]
      }
      contentId = "string"
      contentSchemaVersion = "string"
      customVersion = "string"
      dependencies = {
        contentId = "string"
        criteria = [
          ...
        ]
        kind = "string"
        name = "string"
        operator = "string"
        version = "string"
      }
      firstPublishDate = "string"
      icon = "string"
      kind = "string"
      lastPublishDate = "string"
      parentId = "string"
      previewImages = [
        "string"
      ]
      previewImagesDark = [
        "string"
      ]
      providers = [
        "string"
      ]
      source = {
        kind = "string"
        name = "string"
        sourceId = "string"
      }
      support = {
        email = "string"
        link = "string"
        name = "string"
        tier = "string"
      }
      threatAnalysisTactics = [
        "string"
      ]
      threatAnalysisTechniques = [
        "string"
      ]
      version = "string"
    }
  }
}

Wartości właściwości

Microsoft.SecurityInsights/metadata

Nazwa Opis Wartość
Znacznik ETAG Etag zasobu platformy Azure ciąg
nazwa Nazwa zasobu struna

Ograniczenia:
Wzorzec = ^\S+$ (wymagane)
parent_id (identyfikator rodzica) Identyfikator zasobu, do który ma być stosowany ten zasób rozszerzenia. ciąg (wymagany)
Właściwości Właściwości metadanych Właściwości metadanych
typ Typ zasobu "Microsoft.SecurityInsights/metadata@2025-09-01"

Autor metadanych

Nazwa Opis Wartość
e-mail Adres e-mail kontaktu autora ciąg
łącze Link do strony autora/dostawcy ciąg
nazwa Nazwa autora. Firma lub osoba. ciąg

Kategorie metadanych

Nazwa Opis Wartość
Domen domena dla elementu zawartości rozwiązania ciąg znakowy[]
Pionowe centra Branżowe piony dla elementu zawartości rozwiązania ciąg znakowy[]

Zależności metadanych

Nazwa Opis Wartość
contentId (identyfikator zawartości) Identyfikator elementu zawartości, od których zależymy ciąg
Kryteria Jest to lista zależności, które musimy spełnić, zgodnie z operatorem AND/OR Zależności metadanych[]
rodzaj Typ elementu zawartości, od których zależymy "AnalyticsRule"
"AnalyticsRuleTemplate"
"AutomationRule"
"AzureFunction"
"DataConnector"
"DataType"
"HuntingQuery"
"BadanieQuery"
"LogicAppsCustomConnector"
"Notes"
"Analizator"
"Podręcznik"
"PodręcznikTemplate"
"ResourcesDataConnector"
"Rozwiązanie"
"Autonomiczny"
"SummaryRule"
"Lista do obejrzenia"
"WatchlistTemplate"
"Skoroszyt"
"WorkbookTemplate"
nazwa Nazwa elementu zawartości ciąg
operator Operator używany do wyświetlania listy zależności w tablicy kryteriów. 'ORAZ'
'LUB'
wersja Wersja elementu zawartości, od których zależymy. Może być pusty, * lub brak, aby wskazać dowolną wersję spełniającą zależność. Jeśli wersja nie jest zgodna z naszym zdefiniowanym formatem liczbowym, wymagane jest dokładne dopasowanie. ciąg

Właściwości metadanych

Nazwa Opis Wartość
autor Twórca elementu zawartości. Autor metadanych
Kategorie Kategorie dla elementu zawartości rozwiązania Kategorie metadanych
contentId (identyfikator zawartości) Statyczny identyfikator zawartości. Służy do identyfikowania zależności i zawartości z rozwiązań lub społeczności. Zakodowane na stałe/statyczne dla gotowej zawartości i rozwiązań. Dynamiczne tworzenie przez użytkownika. Jest to nazwa zasobu ciąg
contentSchemaVersion (wersja schematu) Wersja schematu zawartości. Można użyć do rozróżnienia między różnymi przepływami na podstawie wersji schematu ciąg
customVersion (wersja niestandardowa) Niestandardowa wersja zawartości. Opcjonalny tekst wolny ciąg
Zależności Zależności dla elementu zawartości, jakie inne elementy zawartości wymagają działania. Można opisać bardziej złożone zależności przy użyciu struktury rekursywnej/zagnieżdżonej. W przypadku pojedynczej zależności można podać identyfikator/rodzaj/wersję lub operator/kryteria dla złożonych formatów. Zależności metadanych
firstPublishDate (data publikacji) element zawartości rozwiązania z pierwszą datą publikacji ciąg
ikona identyfikator ikony. ten identyfikator można później pobrać z szablonu rozwiązania ciąg
rodzaj Rodzaj zawartości, dla jakiej są metadane. ciąg (wymagany)
lastPublishDate (data ostatniej publikacji) data ostatniego opublikowania elementu zawartości rozwiązania ciąg
parentId (identyfikator rodzica) Pełny identyfikator zasobu nadrzędnego elementu zawartości, dla których są metadane. Jest to pełny identyfikator zasobu, w tym zakres (subskrypcja i grupa zasobów) ciąg (wymagany)
podglądObrazy podgląd nazw plików obrazów. Zostaną one pobrane z artefaktów rozwiązania ciąg znakowy[]
podglądObrazyCiemny podgląd nazw plików obrazów. Zostaną one pobrane z artefaktów rozwiązania. używany do obsługi motywu ciemnego ciąg znakowy[]
Dostawców Dostawcy elementu zawartości rozwiązania ciąg znakowy[]
przesłać źródło Źródło zawartości. W tym miejscu/sposobie jego utworzenia. Źródło metadanych
Dział Obsługi Klienta Informacje o pomocy technicznej dotyczące metadanych — typ, nazwa, informacje kontaktowe Obsługa metadanych
threatAnalysisTactics (analiza zagrożeńTaktyka) taktyka, zasób obejmuje ciąg znakowy[]
threatAnalysisTechniques (Techniki analizy zagrożeń) techniki, których dotyczy zasób, należy je dostosować do stosowanej taktyki ciąg znakowy[]
wersja Wersja zawartości. Domyślny i zalecany format to numeryczne (np. 1, 1.0, 1.0.0, 1.0.0.0), zgodnie z najlepszymi rozwiązaniami dotyczącymi szablonu usługi ARM. Może to być również dowolny ciąg, ale nie możemy zagwarantować żadnych kontroli wersji ciąg

Źródło metadanych

Nazwa Opis Wartość
rodzaj Typ źródła zawartości "Społeczność"
"LocalWorkspace"
"Rozwiązanie"
"SourceRepository" (wymagane)
nazwa Nazwa źródła zawartości. Nazwa repozytorium, nazwa rozwiązania, nazwa obszaru roboczego la itp. ciąg
sourceId (identyfikator źródła) Identyfikator źródła zawartości. Identyfikator rozwiązania, identyfikator obszaru roboczego itp. ciąg

Obsługa metadanych

Nazwa Opis Wartość
e-mail Adres e-mail kontaktu z pomocą techniczną ciąg
łącze Link do pomocy technicznej, takiej jak strona pomocy technicznej, aby otworzyć bilet itp. ciąg
nazwa Nazwa kontaktu z pomocą techniczną. Firma lub osoba. ciąg
warstwa Typ obsługi elementu zawartości "Społeczność"
"Microsoft"
"Partner" (wymagany)

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania metadanych usługi Sentinel.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "workspace" {
  type      = "Microsoft.OperationalInsights/workspaces@2022-10-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      features = {
        disableLocalAuth                            = false
        enableLogAccessUsingOnlyResourcePermissions = true
      }
      publicNetworkAccessForIngestion = "Enabled"
      publicNetworkAccessForQuery     = "Enabled"
      retentionInDays                 = 30
      sku = {
        name = "PerGB2018"
      }
      workspaceCapping = {
        dailyQuotaGb = -1
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "onboardingState" {
  type      = "Microsoft.SecurityInsights/onboardingStates@2023-06-01-preview"
  parent_id = azapi_resource.workspace.id
  name      = "default"
  body = {
    properties = {
      customerManagedKey = false
    }
  }
}

resource "azapi_resource" "alertRule" {
  type      = "Microsoft.SecurityInsights/alertRules@2022-10-01-preview"
  parent_id = azapi_resource.workspace.id
  name      = var.resource_name
  body = {
    kind = "NRT"
    properties = {
      description         = ""
      displayName         = "Some Rule"
      enabled             = true
      query               = "AzureActivity |\n  where OperationName == \"Create or Update Virtual Machine\" or OperationName ==\"Create Deployment\" |\n  where ActivityStatus == \"Succeeded\" |\n  make-series dcount(ResourceId) default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller\n"
      severity            = "High"
      suppressionDuration = "PT5H"
      suppressionEnabled  = false
      tactics = [
      ]
      techniques = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
  depends_on                = [azapi_resource.onboardingState]
}

resource "azapi_resource" "metadata" {
  type      = "Microsoft.SecurityInsights/metadata@2022-10-01-preview"
  parent_id = azapi_resource.workspace.id
  name      = var.resource_name
  body = {
    properties = {
      contentId            = var.resource_name
      contentSchemaVersion = "2.0"
      kind                 = "AnalyticsRule"
      parentId             = azapi_resource.alertRule.id
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}