Referens för definitioner för dataanslutningsprogram för Codeless Connector Framework

Om du vill skapa en dataanslutning med Codeless Connector Framework (CCF) använder du det här dokumentet som ett komplement till referensdokumenten för Microsoft Sentinel REST API for Data Connector Definitions. Mer specifikt expanderar det här referensdokumentet i följande avsnitt:

  • connectorUiConfig– definierar de visuella element och text som visas på sidan för dataanslutningsappen i Microsoft Sentinel.

Mer information finns i Skapa en kodlös anslutningsapp.

Definitioner för dataanslutningsprogram – Skapa eller uppdatera

Referera till åtgärden Skapa eller uppdatera i REST API-dokumenten för att hitta den senaste stabila api-versionen eller förhandsversionen av API:et. Endast åtgärden update kräver värdet etag .

PUT-metod

https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/{{dataConnectorDefinitionName}}?api-version={{apiVersion}}

URI-parametrar

Mer information om den senaste API-versionen finns i Definitioner för dataanslutningsprogram – Skapa eller uppdatera URI-parametrar

Namn Beskrivning
dataConnectorDefinitionName Definitionen för dataanslutningsappen måste vara ett unikt namn och är samma som parametern name i begärandetexten.
resourceGroupName Namnet på resursgruppen, inte skiftlägeskänsligt.
subscriptionId ID för målprenumerationen.
workspaceName Namnet på arbetsytan, inte ID:t.
Regex-mönster: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$
api-version DEN API-version som ska användas för den här åtgärden.

Frågebrödtext

Begärandetexten för att skapa en definition av CCF-dataanslutningsappen med API:et har följande struktur:

{
    "kind": "Customizable",
    "properties": {
        "connectorUIConfig": {}
    }
}

dataConnectorDefinition har följande egenskaper:

Namn Obligatoriskt Typ Beskrivning
Typ Sant Sträng Customizable för ANSLUTNINGsprogram för API-avsökningsdata eller Static på annat sätt
Egenskaper. connectorUiConfig Sant Kapslad JSON
connectorUiConfig
Konfigurationsegenskaperna för användargränssnittet för dataanslutningsappen

Konfigurera anslutningsappens användargränssnitt

I det här avsnittet beskrivs de konfigurationsalternativ som är tillgängliga för att anpassa användargränssnittet på sidan för dataanslutningsappen.

Följande skärmbild visar en exempelsida för dataanslutningsappen, markerad med siffror som motsvarar viktiga områden i användargränssnittet.

Skärmbild av en exempelsida för dataanslutningsappen med avsnitt märkta 1 till 9.

Vart och ett av följande element i connectorUiConfig avsnittet som behövs för att konfigurera användargränssnittet motsvarar delen CustomizableConnectorUiConfig i API:et.

Fält Obligatoriskt Typ Beskrivning Skärmbild av anmärkningsvärt område #
titel Sant sträng Rubrik som visas på sidan för dataanslutningsappen 1
id sträng Anger anpassat anslutnings-ID för intern användning
Logotyp sträng Sökväg till bildfil i SVG-format. Om inget värde har konfigurerats används en standardlogotyp. 2
publisher Sant sträng Anslutningsappens leverantör 3
descriptionMarkdown Sant sträng i markdown En beskrivning av anslutningsappen med möjlighet att lägga till markdown-språk för att förbättra den. 4
sampleQueries Sant Kapslad JSON
sampleQueries
Frågor till kunden för att förstå hur du hittar data i händelseloggen.
graphQueries Sant Kapslad JSON
graphQueries
Frågor som presenterar datainmatning under de senaste två veckorna.

Ange antingen en fråga för alla dataanslutningsappens datatyper eller en annan fråga för varje datatyp.
5
graphQueriesTableName Anger namnet på tabellen som anslutningsappen infogar data i. Det här namnet kan användas i andra frågor genom att {{graphQueriesTableName}} ange platshållare i graphQueries och lastDataReceivedQuery värden.
Datatyper Sant Kapslad JSON
Datatyper
En lista över alla datatyper för anslutningsappen och en fråga som hämtar tiden för den senaste händelsen för varje datatyp. 6
connectivityCriteria Sant Kapslad JSON
connectivityCriteria
Ett objekt som definierar hur du kontrollerar om anslutningsappen är ansluten. 7
Tillgänglighet Kapslad JSON
Tillgänglighet
Ett objekt som definierar tillgänglighetsstatusen för anslutningsappen.
Behörigheter Sant Kapslad JSON
Behörigheter
Informationen som visas under avsnittet Förutsättningar i användargränssnittet, som visar de behörigheter som krävs för att aktivera eller inaktivera anslutningsappen. 8
instructionSteps Sant Kapslad JSON
Instruktioner
En matris med widgetdelar som förklarar hur du installerar anslutningsappen och kontroller som kan användas visas på fliken Instruktioner . 9
isConnectivityCriteriasMatchSome Boolesk Ett booleskt värde som anger om du vill använda "OR"(SOME) eller "AND" mellan ConnectivityCriteria-objekt.

connectivityCriteria

Fält Obligatoriskt Typ Beskrivning
Typ Sant Sträng Ett av följande två alternativ: HasDataConnectors – det här värdet är bäst för API-avsökningsdataanslutningsprogram, till exempel CCF. Anslutningsappen anses vara ansluten med minst en aktiv anslutning.

isConnectedQuery – det här värdet är bäst för andra typer av dataanslutningar. Anslutningsappen anses vara ansluten när den angivna frågan returnerar data.
Värde Sant när typen är isConnectedQuery Sträng En fråga för att avgöra om data tas emot inom en viss tidsperiod. Till exempel: CommonSecurityLog | where DeviceVendor == \"Vectra Networks\"\n| where DeviceProduct == \"X Series\"\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(7d)"

Datatyper

Matrisvärde Typ Beskrivning
Namn Sträng En beskrivande beskrivning avlastDataReceivedQuery, inklusive stöd för variabeln graphQueriesTableName .

Exempel: {{graphQueriesTableName}}
lastDataReceivedQuery Sträng En KQL-fråga som returnerar en rad och anger den senaste gången data togs emot, eller inga data om det inte finns några resultat.

Exempel: {{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)

graphQueries

Definierar en fråga som visar datainmatning under de senaste två veckorna.

Ange antingen en fråga för alla dataanslutningsappens datatyper eller en annan fråga för varje datatyp.

Matrisvärde Typ Beskrivning
metricName Sträng Ett beskrivande namn för grafen.

Exempel: Total data received
Legend Sträng Strängen som visas i förklaringen till höger om diagrammet, inklusive en variabelreferens.

Exempel: {{graphQueriesTableName}}
baseQuery Sträng Frågan som filtrerar efter relevanta händelser, inklusive en variabelreferens.

Exempel: TableName_CL | where ProviderName == "myprovider" eller {{graphQueriesTableName}}

Tillgänglighet

Fält Obligatoriskt Typ Beskrivning
Status Heltal Tillgänglighetsstatus för anslutningsappen.
Tillgänglig = 1
Funktionsflagga = 2
Kommer snart = 3
Intern = 4
isPreview Boolesk Ett booleskt värde som anger om anslutningsappen är i förhandsgranskningsläge.

Behörigheter

Matrisvärde Typ Beskrivning
Tullen Sträng Beskriver eventuella anpassade behörigheter som krävs för din dataanslutning i följande syntax:
{
"name":sträng,
"description":sträng
}

Exempel: Tullvärdet visas i avsnittet Microsoft Sentinel Krav med en blå informationsikon. I GitHub-exemplet korrelerar det här värdet med raden Personlig tokennyckel för GitHub API: Du behöver åtkomst till personlig GitHub-token...
Licenser ENUM Definierar de nödvändiga licenserna som något av följande värden: OfficeIRM,OfficeATP, Office365, , AadP1P2Mcas, , Aatp, Mdatp, , , MtpIoT

Exempel: Licensvärdet visas i Microsoft Sentinel som: Licens: Obligatorisk Azure AD Premium P2
resourceProvider resourceProvider Beskriver eventuella krav för din Azure resurs.

Exempel: Värdet resourceProvider visas i avsnittet Microsoft Sentinel Krav som:
Arbetsyta: läs- och skrivbehörighet krävs.
Nycklar: Läsbehörighet till delade nycklar för arbetsytan krävs.
Hyresgästen matris med ENUM-värden
Exempel:

"tenant": [
"GlobalADmin",
"SecurityAdmin"
]
Definierar nödvändiga behörigheter som ett eller flera av följande värden: "GlobalAdmin", "SecurityAdmin", "SecurityReader", "InformationProtection"

Exempel: visar klientvärdet i Microsoft Sentinel som: Klientbehörigheter: Kräver Global Administrator eller Security Administrator på arbetsytans klientorganisation

Viktigt

Microsoft rekommenderar att du använder roller med minst behörighet. Detta bidrar till att förbättra säkerheten för din organisation. Global administratör är en mycket privilegierad roll som bör begränsas till nödsituationsscenarier när du inte kan använda en befintlig roll.

resourceProvider

submatrisvärde Typ Beskrivning
Leverantör ENUM Beskriver resursprovidern med något av följande värden:
- Microsoft.OperationalInsights/workspaces
- Microsoft.OperationalInsights/solutions
- Microsoft.OperationalInsights/workspaces/datasources
- microsoft.aadiam/diagnosticSettings
- Microsoft.OperationalInsights/workspaces/sharedKeys
- Microsoft.Authorization/policyAssignments
providerDisplayName Sträng Ett listobjekt under Krav som visar en röd "x" eller grön bockmarkering när nödvändiga Behörigheter verifieras på anslutningssidan. Exempel "Workspace"
permissionsDisplayText Sträng Visa text för läs-, skriv- eller läs- och skrivbehörigheter som ska motsvara de värden som konfigurerats i requiredPermissions
requiredPermissions {
"action":Boolesk,
"delete":Boolesk,
"read":Boolesk,
"write":Boolesk
}
Beskriver de minsta behörigheter som krävs för anslutningsappen.
Omfattning ENUM Beskriver omfånget för dataanslutningsappen som ett av följande värden: "Subscription", "ResourceGroup", "Workspace"

sampleQueries

matrisvärde Typ Beskrivning
Beskrivning Sträng En beskrivande beskrivning av exempelfrågan.

Exempel: Top 10 vulnerabilities detected
fråga Sträng Exempelfråga som används för att hämta datatypens data.

Exempel: {{graphQueriesTableName}}\n | sort by TimeGenerated\n | take 10

Om du vill definiera en infogad länk med markdown använder du följande exempel.

{
   "title": "",
   "description": "Make sure to configure the machine's security according to your organization's security policy\n\n\n[Learn more >](https://aka.ms/SecureCEF)"
}

Om du vill definiera en länk som en ARM-mall använder du följande exempel som en guide:

{
   "title": "Azure Resource Manager (ARM) template",
   "description": "1. Click the **Deploy to Azure** button below.\n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)]({URL to custom ARM template})"
}

instructionSteps

Det här avsnittet innehåller parametrar som definierar den uppsättning instruktioner som visas på sidan för dataanslutningsappen i Microsoft Sentinel och som har följande struktur:

"instructionSteps": [
    {
        "title": "",
        "description": "",
        "instructions": [
        {
            "type": "",
            "parameters": {}
        }
        ],
        "innerSteps": {}
    }
]
Matrisegenskap Obligatoriskt Typ Beskrivning
titel Sträng Definierar en rubrik för dina instruktioner.
Beskrivning Sträng Definierar en beskrivande beskrivning av dina instruktioner.
innerSteps Array Definierar en matris med inre instruktionssteg.
Instruktioner Sant Matris med instruktioner Definierar en matris med instruktioner för en specifik parametertyp.

Instruktioner

Visar en grupp med instruktioner med olika parametrar och möjlighet att kapsla fler instruktionerSteg i grupper. Parametrar som definieras här motsvarar

Typ Matrisegenskap Beskrivning
OAuthForm OAuthForm Ansluta med OAuth
Textrutan Textrutan Detta parar ihop med ConnectionToggleButton. Det finns 4 tillgängliga typer:
  • password
  • text
  • number
  • email
  • ConnectionToggleButton ConnectionToggleButton Utlös distributionen av DCR baserat på anslutningsinformationen som tillhandahålls via platshållarparametrar. Följande parametrar stöds:
  • name :Obligatoriska
  • disabled
  • isPrimary
  • connectLabel
  • disconnectLabel
  • CopyableLabel CopyableLabel Visar ett textfält med en kopieringsknapp i slutet. När knappen är markerad kopieras fältets värde.
    Dropdown Dropdown Visar en listruta med alternativ som användaren kan välja mellan.
    Markdown Markdown Visar ett avsnitt med text formaterad med Markdown.
    DataConnectorsGrid DataConnectorsGrid Visar ett rutnät med dataanslutningar.
    ContextPane ContextPane Visar ett sammanhangsberoende informationsfönster.
    InfoMessage InfoMessage Definierar ett infogat informationsmeddelande.
    InstructionStepsGroup InstructionStepsGroup Visar en grupp med instruktioner, eventuellt expanderade eller komprimerbara, i ett separat instruktionsavsnitt.
    InstallAgent InstallAgent Visar en länk till andra delar av Azure för att uppfylla olika installationskrav.
    OAuthForm

    Den här komponenten OAuth2 kräver att typen finns i auth egenskapen för dataanslutningsmallen.

    "instructions": [
    {
      "type": "OAuthForm",
      "parameters": {
        "clientIdLabel": "Client ID",
        "clientSecretLabel": "Client Secret",
        "connectButtonLabel": "Connect",
        "disconnectButtonLabel": "Disconnect"
      }          
    }
    ]
    
    Textrutan

    Här är några exempel på Textbox typen. De här exemplen motsvarar de parametrar som används i exempelavsnittet auth i referensen för dataanslutningsappar för Codeless Connector Framework. För var och en av de 4 typerna har labelvar och en , placeholderoch name.

    "instructions": [
    {
      "type": "Textbox",
      "parameters": {
          {
            "label": "User name",
            "placeholder": "User name",
            "type": "text",
            "name": "username"
          }
      }
    },
    {
      "type": "Textbox",
      "parameters": {
          "label": "Secret",
          "placeholder": "Secret",
          "type": "password",
          "name": "password"
      }
    }
    ]
    
    ConnectionToggleButton
    "instructions": [
    {
      "type": "ConnectionToggleButton",
      "parameters": {
        "connectLabel": "toggle",
        "name": "toggle"
      }          
    }
    ]
    
    CopyableLabel

    Exempel:

    Skärmbild av en kopieringsvärdeknapp i ett fält.

    Exempelkod:

    {
        "parameters": {
            "fillWith": [
                "WorkspaceId",
                "PrimaryKey"
                ],
            "label": "Here are some values you'll need to proceed.",
            "value": "Workspace is {0} and PrimaryKey is {1}"
        },
        "type": "CopyableLabel"
    }
    
    Matrisvärde Obligatoriskt Typ Beskrivning
    fillWith ENUM Matris med miljövariabler som används för att fylla i en platshållare. Avgränsa flera platshållare med kommatecken. Till exempel: {0},{1}

    Värden som stöds: workspaceId, workspaceName, primaryKey, MicrosoftAwsAccount, subscriptionId
    Etikett Sant Sträng Definierar texten för etiketten ovanför en textruta.
    Värde Sant Sträng Definierar värdet som ska presenteras i textrutan, stöder platshållare.
    Rader Rader Definierar raderna i användargränssnittsområdet. Som standard anger du till 1.
    wideLabel Boolesk Avgör en bred etikett för långa strängar. Som standard anger du till false.
    {
      "parameters": {
        "label": "Select an option",
        "name": "dropdown",
        "options": [
          {
            "key": "Option 1",
            "text": "option1"
          },
          {
            "key": "Option 2",
            "text": "option2"
          }
        ],
        "placeholder": "Select an option",
        "isMultiSelect": false,
        "required": true,
        "defaultAllSelected": false
      },
      "type": "Dropdown"
    }
    
    Fält Obligatoriskt Typ Beskrivning
    Etikett Sant Sträng Definierar texten för etiketten ovanför listrutan.
    Namn Sant Sträng Definierar det unika namnet på listrutan. Detta används i avsökningskonfigurationen.
    Alternativ Sant Array Definierar listan med alternativ för listrutan.
    Platshållare Sträng Definierar platshållartexten för listrutan.
    isMultiSelect Boolesk Avgör om flera alternativ kan väljas. Som standard anger du till false.
    Krävs Boolesk Om truemåste listrutan fyllas i.
    defaultAllSelected Boolesk Om trueär alla alternativ markerade som standard.
    Markdown
    {
      "parameters": {
        "content": "## This is a Markdown section\n\nYou can use **bold** text, _italic_ text, and even [links](https://www.example.com)."
      },
      "type": "Markdown"
    }
    
    DataConnectorsGrid
    {
      "type": "DataConnectorsGrid",
      "parameters": {
        "mapping": [
          {
            "columnName": "Column 1",
            "columnValue": "Value 1"
          },
          {
            "columnName": "Column 2",
            "columnValue": "Value 2"
          }
        ],
        "menuItems": [
          "MyConnector"
        ]
      }
    }
    
    
    Fält Obligatoriskt Typ Beskrivning
    Mappning Sant Array Definierar mappningen av kolumner i rutnätet.
    Menuitems Array Definierar menyalternativen för rutnätet.
    ContextPane
    {
      "type": "ContextPane",
      "parameters": {
        "isPrimary": true,
        "label": "Add Account",
        "title": "Add Account",
        "subtitle": "Add Account",
        "contextPaneType": "DataConnectorsContextPane",
        "instructionSteps": [
          {
            "instructions": [
              {
                "type": "Textbox",
                "parameters": {
                  "label": "Snowflake Account Identifier",
                  "placeholder": "Enter Snowflake Account Identifier",
                  "type": "text",
                  "name": "accountId",
                  "validations": {
                    "required": true
                  }
                }
              },
              {
                "type": "Textbox",
                "parameters": {
                  "label": "Snowflake PAT",
                  "placeholder": "Enter Snowflake PAT",
                  "type": "password",
                  "name": "apikey",
                  "validations": {
                    "required": true
                  }
                }
              }
            ]
          }
        ]
      }
    }
    
    Fält Obligatoriskt Typ Beskrivning
    titel Sant Sträng Rubriken för kontextfönstret.
    Underrubrik Sant Sträng Underrubriken för kontextfönstret.
    contextPaneType Sant Sträng Typ av kontextfönster.
    instructionSteps Sant Array
    instructionSteps
    Instruktionsstegen för kontextfönstret.
    Etikett Sträng Etiketten för kontextfönstret.
    isPrimary Boolesk Anger om det här är det primära kontextfönstret.
    InfoMessage

    Här är ett exempel på ett infogat informationsmeddelande:

    Skärmbild av ett infogat informationsmeddelande.

    Följande bild visar däremot ett informationsmeddelande som inte är infogat:

    Skärmbild av ett informationsmeddelande som inte är infogat.

    Matrisvärde Typ Beskrivning
    Text Sträng Definiera texten som ska visas i meddelandet.
    Synliga Boolesk Avgör om meddelandet visas.
    Inline Boolesk Avgör hur informationsmeddelandet visas.

    - true: (Rekommenderas) Visar informationsmeddelandet inbäddat i instruktionerna.
    - false: Lägger till en blå bakgrund.
    InstructionStepsGroup

    Här är ett exempel på en expanderbar instruktionsgrupp:

    Skärmbild av en expanderbar extra instruktionsgrupp.

    Matrisvärde Obligatoriskt Typ Beskrivning
    titel Sant Sträng Definierar rubriken för instruktionssteget.
    Beskrivning Sträng Valfri beskrivande text.
    canCollapseAllSections Boolesk Avgör om avsnittet är ett komprimerbart dragspel eller inte.
    noFxPadding Boolesk Om true, minskar utfyllnadshöjden för att spara utrymme.
    Utökad Boolesk Om truevisas som expanderat som standard.

    Ett detaljerat exempel finns i JSON-konfigurationen för Windows DNS-anslutningsappen.

    InstallAgent

    Vissa InstallAgent-typer visas som en knapp, andra visas som en länk. Här är exempel på båda:

    Skärmbild av en länk som lagts till som en knapp.

    Skärmbild av en länk som lagts till som infogad text.

    Matrisvärden Obligatoriskt Typ Beskrivning
    linkType Sant ENUM Avgör länktypen som något av följande värden:

    InstallAgentOnWindowsVirtualMachine
    InstallAgentOnWindowsNonAzure
    InstallAgentOnLinuxVirtualMachine
    InstallAgentOnLinuxNonAzure
    OpenSyslogSettings
    OpenCustomLogsSettings
    OpenWaf
    OpenAzureFirewall OpenMicrosoftAzureMonitoring
    OpenFrontDoors
    OpenCdnProfile
    AutomaticDeploymentCEF
    OpenAzureInformationProtection
    OpenAzureActivityLog
    OpenIotPricingModel
    OpenPolicyAssignment
    OpenAllAssignmentsBlade
    OpenCreateDataCollectionRule
    policyDefinitionGuid Sant när du använder OpenPolicyAssignment linkType. Sträng För principbaserade anslutningsappar definierar GUID för den inbyggda principdefinitionen.
    assignMode ENUM För principbaserade anslutningsappar definierar tilldelningsläget som något av följande värden: Initiative, Policy
    dataCollectionRuleType ENUM För DCR-baserade anslutningsappar definierar typen av regeltyp för datainsamling som antingen SecurityEvent, eller ForwardEvent.

    Exempel på definition av dataanslutningsprogram

    I följande exempel sammanförs några av de komponenter som definierats i den här artikeln som ett JSON-brödtextformat som ska användas med definitions-API:et för att skapa eller uppdatera dataanslutningsappen.

    Fler exempel på granskning connectorUiConfig av andra CCF-dataanslutningar. Även anslutningsappar som använder den äldre CCF:en har giltiga exempel på hur användargränssnittet skapas.

    {
        "kind": "Customizable",
        "properties": {
            "connectorUiConfig": {
              "title": "Example CCF Data Connector",
              "publisher": "My Company",
              "descriptionMarkdown": "This is an example of data connector",
              "graphQueriesTableName": "ExampleConnectorAlerts_CL",
              "graphQueries": [
                {
                  "metricName": "Alerts received",
                  "legend": "My data connector alerts",
                  "baseQuery": "{{graphQueriesTableName}}"
                },   
               {
                  "metricName": "Events received",
                  "legend": "My data connector events",
                  "baseQuery": "ASIMFileEventLogs"
                }
              ],
                "sampleQueries": [
                {
                    "description": "All alert logs",
                    "query": "{{graphQueriesTableName}} \n | take 10"
                }
              ],
              "dataTypes": [
                {
                  "name": "{{graphQueriesTableName}}",
                  "lastDataReceivedQuery": "{{graphQueriesTableName}} \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)"
                },
                 {
                  "name": "ASIMFileEventLogs",
                  "lastDataReceivedQuery": "ASIMFileEventLogs \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)"
                 }
              ],
              "connectivityCriteria": [
                {
                  "type": "HasDataConnectors"
                }
              ],
              "permissions": {
                "resourceProvider": [
                  {
                    "provider": "Microsoft.OperationalInsights/workspaces",
                    "permissionsDisplayText": "Read and Write permissions are required.",
                    "providerDisplayName": "Workspace",
                    "scope": "Workspace",
                    "requiredPermissions": {
                      "write": true,
                      "read": true,
                      "delete": true
                    }
                  },
                ],
                "customs": [
                  {
                    "name": "Example Connector API Key",
                    "description": "The connector API key username and password is required"
                  }
                ] 
            },
              "instructionSteps": [
                {
                  "title": "Connect My Connector to Microsoft Sentinel",
                  "description": "To enable the connector provide the required information below and click on Connect.\n>",
                  "instructions": [
                   {
                      "type": "Textbox",
                      "parameters": {
                        "label": "User name",
                        "placeholder": "User name",
                        "type": "text",
                        "name": "username"
                      }
                    },
                    {
                      "type": "Textbox",
                      "parameters": {
                        "label": "Secret",
                        "placeholder": "Secret",
                        "type": "password",
                        "name": "password"
                      }
                    },
                    {
                      "type": "ConnectionToggleButton",
                      "parameters": {
                        "connectLabel": "toggle",
                        "name": "toggle"
                      }
                    }
                  ]
                }
              ]
            }
        }
    }