Referenz für extension.yaml

Die Spezifikationsdatei Ihrer Erweiterung ( extension.yaml ) enthält die Metadaten Ihrer Erweiterung, deklariert die von der Erweiterung erstellten Ressourcen sowie die von der Erweiterung benötigten APIs und Zugriffe und definiert alle von der Erweiterung bereitgestellten benutzerkonfigurierten Parameter.

Die Tabellen auf dieser Seite beschreiben die Felder, die für eine Datei extension.yaml verfügbar sind.

Grundlegende und identifizierende Informationen

name: your-extension-name
version: 1.0.0         # Semantic versioning (semver)
specVersion: v1beta    # Always "v1beta"
license: Apache-2.0    # Always "Apache-2.0" (required to publish on extensions.dev)
billingRequired: true  # Always "true"

displayName: Your extension name
description: >-
  Description of the extension. (One or two
  sentences.)
icon: icon.png
tags: [tag, anothertag]

sourceUrl: https://github.com/your-org/your-repo   # GitHub repo URL
releaseNotesUrl: https://github.com/your-org/your-repo/blob/main/CHANGELOG.md

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
Grundfelder
name
Zeichenfolge
(erforderlich)

Bezeichner für die Erweiterung.

Darf nur Kleinbuchstaben, Zahlen und Bindestriche enthalten; Maximal 40 Zeichen.

Hinweis: Dieser Wert wird zum Generieren der Instanz-ID der Erweiterung verwendet (die dann zum Generieren der Namen des Dienstkontos der Erweiterung und der erweiterungsspezifischen Ressourcen verwendet wird).

version
Zeichenfolge
(erforderlich)

Version der Erweiterung.

Muss der Semver-Versionierung folgen (z. B. 1.2.0).

specVersion
Zeichenfolge
(erforderlich)

Version der Firebase Extensions-Spezifikation.

Aktueller Wert: v1beta

license
Zeichenfolge
(Optional)

Lizenz für die Erweiterung.

Ihre Erweiterung muss mit Apache-2.0 lizenziert sein.

billingRequired
Boolescher Wert
(Optional)

Ob für die von der Erweiterung genutzten Dienste ein kostenpflichtiges Firebase-Rechnungskonto erforderlich ist.

Immer auf true setzen.

displayName
Zeichenfolge
(Optional)

Freundlicher Anzeigename für die Erweiterung (3–5 Wörter).

Maximal 40 Zeichen.

description
Zeichenfolge
(Optional)
Kurze Beschreibung der Aufgabe, die Ihre Erweiterung ausführt (~1 Satz).
icon
Zeichenfolge
(Optional)

Datei, die als Symbol Ihrer Erweiterung auf extensions.dev und der Firebase-Konsole verwendet werden soll.

Diese Datei muss eine quadratische PNG-Datei mit einer Größe zwischen 512 x 512 und 1024 x 1024 Pixel sein. Legen Sie die Datei im selben Verzeichnis wie extension.yaml ab. Sie können kein Unterverzeichnis angeben.

Beachten Sie beim Entwerfen eines Symbols für Ihre Erweiterung die folgenden Richtlinien:

  • Wählen Sie Hintergrund- und Bildfarben aus, die zu Ihrer Marke passen.
  • Halten Sie die Farben Ihrer Symbole einfach und verwenden Sie nur zwei Farben. Mehrere Farben können Ihr Symbol optisch überwältigend machen.
  • Aus dem gleichen Grund sollten Sie in Ihrem Symbol keine Farbverläufe verwenden. Bei kleinen Größen sind Farbverläufe schwer zu erkennen und machen das Symbol optisch komplex.
  • Verwenden Sie einfache, einzigartige Bilder, die die Funktionalität Ihrer Erweiterung vermitteln.
  • Wenn Ihr Unternehmen mehrere Erweiterungen erstellt, verwenden Sie Ihr Logo nicht als Symbol. Benutzer werden Schwierigkeiten haben, zwischen Ihren Erweiterungen zu unterscheiden.
  • Machen Sie das Bildmaterial grafisch und fett. Verwenden Sie keine filigranen oder aufwendigen Grafiken, die in kleineren Größen nicht gut wiedergegeben werden.
  • Fügen Sie keine Wörter ein, die erklären, was Ihre Erweiterung bewirkt. In kleineren Größen ist Text oft unleserlich.
tags
Liste der Zeichenfolgen
(Optional)
Tags, die Benutzern helfen, Ihre Erweiterung zu entdecken. Die folgenden Tags sind den Kategorien im Extensions Hub zugeordnet: marketing , messaging , payments , search , shipping , social , utilities , ai
sourceUrl
Zeichenfolge
(Optional)
Öffentliche URL, über die auf das Erweiterungsverzeichnis zugegriffen werden kann.
releaseNotesUrl
Zeichenfolge
(Optional)
Öffentliche URL, unter der auf die Versionshinweise für die Erweiterung zugegriffen werden kann.
author
ein Autorenobjekt
(Optional)

Hauptautor und Ansprechpartner für die Erweiterung.

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
Autorenfelder
authorName
Zeichenfolge
(erforderlich)

Name des Autors.

Kann eine Person, ein Unternehmen, eine Organisation usw. sein.

email
Zeichenfolge
(Optional)
E-Mail-Adresse des Autors.
url
Zeichenfolge
(Optional)
Öffentliche URL, unter der Informationen über den Autor abgerufen werden können.
contributors
Liste der Autorenobjekte
(Optional)

Alle weiteren beitragenden Autoren für die Erweiterung.

contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
Autorenfelder
authorName
Zeichenfolge
(erforderlich)

Name des Autors.

Kann eine Person, ein Unternehmen, eine Organisation usw. sein.

email
Zeichenfolge
(Optional)
E-Mail-Adresse des Autors.
url
Zeichenfolge
(Optional)
Öffentliche URL, unter der Informationen über den Autor abgerufen werden können.

Firebase- und Google Cloud-APIs

Diese Felder geben die Firebase- und Google-APIs an, die die Erweiterung verwendet. Wenn Benutzer die Erweiterung installieren, können sie diese APIs automatisch in ihrem Projekt aktivieren.

apis:
  - apiName: apiname.googleapis.com
    reason: Explanation of why the extension uses this API
  - apiName: anotherapiname.googleapis.com
    reason: Explanation of why the extension uses this API
API-Felder
apiName
Zeichenfolge
(erforderlich)

Name der Google API

Muss dem Feld „Dienstname“ entsprechen, wie es auf der Übersichtsseite jeder API ( Beispiel ) in der Google Cloud API-Bibliothek aufgeführt ist

reason
Zeichenfolge
(erforderlich)
Kurze Beschreibung, warum die Erweiterung diese API verwenden muss

IAM-Rollen

Diese Felder geben die Cloud IAM-Rollen an, die die Erweiterung erfordert. Diese Rollen werden dem für die Erweiterung bereitgestellten Dienstkonto zugewiesen.

Sie können nur eine der unterstützten Rollen angeben.

roles:
  - role: product.role
    reason: Explanation of why the extension needs this level of access
  - role: anotherproduct.role
    resource: projects/${project_id}/resource_type/*
    reason: Explanation of why the extension needs this level of access
Rollenfelder
role
Zeichenfolge
(erforderlich)

Name der IAM-Rolle, die für den Betrieb der Erweiterung erforderlich ist

Muss eine der unterstützten Rollen sein

reason
Zeichenfolge
(erforderlich)
Kurze Beschreibung, warum die Erweiterung den durch diese Rolle gewährten Zugriff benötigt
resource
Zeichenfolge
(Optional)

Beschränken Sie den Umfang der Rolle auf diese Ressource.

Wenn es weggelassen wird, wird standardmäßig projects/${project_id} verwendet. Siehe Reduzieren des Rollenumfangs .

Externe Dienste

Diese Felder geben die Nicht-Firebase- und Nicht-Google-Dienste an, die die Erweiterung verwendet (normalerweise REST-APIs). Die Firebase Extensions-Plattform bietet keine Möglichkeit, diese Dienste automatisch zu aktivieren oder eine Autorisierung durchzuführen.

externalServices:
  - name: Example API
    pricingUri: https://developers.example.com/pricing
  - name: Another Example API
    pricingUri: https://developers.example.com/pricing
Externe Dienstleistungsfelder
name
Zeichenfolge
(erforderlich)
Name des externen Dienstes, der für den Betrieb der Erweiterung erforderlich ist
pricingUri
Zeichenfolge
(erforderlich)
URI zu Preisinformationen für den Dienst

Vom Benutzer konfigurierbare Parameter

Diese Felder definieren die Parameter, die die Erweiterung den Benutzern zur Konfiguration zur Verfügung stellt.

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What do you want to set PARAM_ID to?
      This is a longer description of the parameter, often phrased as a prompt
      to the user.
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >
      What do you want to set ANOTHER_PARAM_ID to?
      This is a longer description of the parameter.
    example: example-input
    validationRegex: "^[a-zA-Z][a-zA-Z-]*[a-zA-Z]?$"
    validationErrorMessage:
      Must be a hyphen-delimited string of alphabetic characters
    default: default-value
    required: false
    immutable: true
Parameterfelder
param
Zeichenfolge
(erforderlich)
Name des Parameters. Sie verwenden diesen Namen, um im Code auf den Parameterwert zu verweisen.
label
Zeichenfolge
(erforderlich)
Kurzbeschreibung für den Parameter. Wird dem Benutzer angezeigt, wenn er zur Eingabe des Parameterwerts aufgefordert wird.
description
Zeichenfolge
(Optional)

Detaillierte Beschreibung des Parameters. Wird dem Benutzer angezeigt, wenn er zur Eingabe des Parameterwerts aufgefordert wird.

Unterstützt Markdown.

example
Zeichenfolge
(Optional)
Beispielwert für den Parameter.
default
Zeichenfolge
(Optional)
Standardwert für den Parameter, wenn der Benutzer den Wert des Parameters leer lässt.
validationRegex
Zeichenfolge
(Optional)
Regulärer Ausdruck zur Validierung des vom Benutzer konfigurierten Werts des Parameters. Google RE2-Syntax .
validationErrorMessage
Zeichenfolge
(Optional)
Fehlermeldung, die angezeigt wird, wenn die Regex-Validierung fehlschlägt.
required
Boolescher Wert
(Optional)
Definiert, ob der Benutzer eine leere Zeichenfolge senden kann, wenn er zur Eingabe des Parameterwerts aufgefordert wird. Der Standardwert ist true .
immutable
Boolescher Wert
(Optional)

Definiert, ob der Benutzer den Wert des Parameters nach der Installation ändern kann (z. B. wenn er die Erweiterung neu konfiguriert). Der Standardwert ist false .

Hinweis: Wenn Sie einen „Standort“-Parameter für die bereitgestellten Funktionen Ihrer Erweiterung definieren, legen Sie dieses Feld auf true fest.

type
Zeichenfolge
(Optional)
Der Parametertyp. Für spezielle Parametertypen gelten möglicherweise zusätzliche Anforderungen oder eine andere Darstellung der Benutzeroberfläche. Siehe die folgenden Abschnitte.

Wählbare und mehrfach wählbare Parameter

Auswählbare und mehrfach auswählbare Parameter fordern Benutzer auf, aus einer Liste vordefinierter Optionen auszuwählen.

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Do you want to enable the option?
    type: select
    options:
      - label: Yes
        value: true
      - label: No
        value: false
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >-
      Which options do you want to enable?
    type: multiselect
    options:
      - value: red
      - value: green
      - value: blue
Multiple-Choice-Parameterfelder
type
Zeichenfolge

select oder multiselect

Gibt an, dass der Parameter ein Wert ( select ) oder mehrere Werte ( multiselect ) sein kann, die aus einer Reihe vordefinierter Auswahlmöglichkeiten ausgewählt werden

options
Liste der Optionen
(erforderlich)

Die Optionen, aus denen der Benutzer wählen kann

Optionsfelder
value
Zeichenfolge
(erforderlich)
Einer der Werte, die der Benutzer auswählen kann. Dies ist der Wert, den Sie erhalten, wenn Sie den Parameterwert im Code lesen.
label
Zeichenfolge
(Optional)
Kurze Beschreibung der auswählbaren Option. Wenn es weggelassen wird, wird standardmäßig der value verwendet.

Wählbare Ressourcenparameter

Auswählbare Ressourcenparameter fordern Benutzer auf, eine Ressource (Datenbankinstanz, Speicher-Bucket usw.) aus ihrem Projekt auszuwählen.

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Which resource do you want to use?
    type: selectresource
    resourceType: product.googleapis.com/ResourceType
Ressourcenparameterfelder
type
Zeichenfolge

selectresource

Gibt an, dass der Parameter eine Projektressource darstellt

resourceType
Zeichenfolge
(erforderlich)

Der Ressourcentyp, zu dessen Auswahl der Benutzer aufgefordert wird.

Gültige Werte:

  • storage.googleapis.com/Bucket
  • firestore.googleapis.com/Database
  • firebasedatabase.googleapis.com/DatabaseInstance

Allerdings verfügen derzeit nur Cloud Storage-Buckets über eine Auswahl-Benutzeroberfläche (andere Ressourcentypen werden als Freiform-Texteingabefelder dargestellt).

Geheime Parameter

Vom Benutzer bereitgestellte geheime Werte (z. B. API-Schlüssel) werden unterschiedlich gehandhabt:

  • Geheimwerte werden mit Cloud Secret Manager gespeichert. Nur autorisierte Clients (z. B. eine installierte Instanz einer Erweiterung) können auf diese Werte zugreifen.
  • Wenn Benutzer zur Eingabe dieser Werte aufgefordert werden, wird ihre Eingabe nicht angezeigt.
params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What is the secret value?
    type: secret
Geheime Parameterfelder
type
Zeichenfolge

secret

Gibt an, dass der Parameter ein geheimer Wert ist

Cloud Function-Ressourcen

Diese Felder deklarieren die in einer Erweiterung enthaltenen Cloud-Funktionen. Die Syntax der Ressourcendeklaration sieht zwischen Funktionen der 1. und 2. Generation, die in einer Erweiterung koexistieren können, etwas anders aus.

Cloud-Funktionen der 1. Generation

resources:
  - name: functionName
    type: firebaseextensions.v1beta.function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      runtime: runtime-version
      eventTrigger:
        eventType: google.product.event
        resource: projects/_/resource/specifier
Ressourcenfelder
name
Zeichenfolge
(erforderlich)

Benutzerfreundlicher Name für die exportierte Funktion.

Wenn Sie die Eigenschaft entryPoint nicht angeben (siehe unten), muss dieser Wert mit dem Namen der Funktion im Quellcode Ihrer Funktion übereinstimmen.

Der endgültige Name der bereitgestellten Funktion hat das folgende Format: ext- extension-instance-id - name .

type
Zeichenfolge
(erforderlich)
Für eine Funktionsressource der 1. Generation: firebaseextensions.v1beta.function
description
Zeichenfolge
(erforderlich)

Kurze Beschreibung, welche Aufgabe die Funktion für die Erweiterung ausführt.

properties
(erforderlich)

Cloud Functions-Eigenschaften der 1. Generation. Die wichtigsten Eigenschaften sind unten aufgeführt, die vollständige Liste finden Sie jedoch in der Cloud Functions-Referenz .

Eigenschaften
location
(Optional)

Speicherort, an dem die Funktion bereitgestellt werden soll. Standardmäßig ist us-central1

entryPoint
(Optional)
Name der exportierten Funktion in Ihrem Funktionsquellcode, nach der die Erweiterung suchen soll. Standardmäßig wird der Wert von name oben verwendet.
sourceDirectory
(Optional)

Verzeichnis, das Ihre package.json im Stammverzeichnis enthält. Die Datei für den Quellcode Ihrer Funktion muss sich in diesem Verzeichnis befinden. Standardmäßig werden functions verwendet

Hinweis: Das main von package.json gibt die Datei für den Quellcode Ihrer Funktion an (wie index.js ).

timeout
(Optional)

Die maximale Ausführungszeit der Funktion.

  • Standard: 60s
  • Maximalwert: 540s
availableMemoryMb
(Optional)

Für die Funktion verfügbarer Speicher in MB.

  • Standard: 256
  • Gültige Werte: 128 , 256 , 512 , 1024 und 2048
runtime
(empfohlen)

Laufzeitumgebung für die Funktion.

httpsTrigger
oder
eventTrigger
oder
scheduleTrigger
oder
taskQueueTrigger
(einer dieser Funktionstriggertypen ist erforderlich)
Spezifische Informationen zu jedem Triggertyp finden Sie unter Cloud-Funktionen schreiben für eine Erweiterung .

Cloud-Funktionen der 2. Generation

resources:
  - name: functionName
    type: firebaseextensions.v1beta.v2function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      buildConfig:
        runtime: nodejs16
      serviceConfig:
        availableMemory: 512M
      eventTrigger:
        eventType: google.firebase.firebasealerts.alerts.v1.published
        triggerRegion: global
        eventFilters:
          - attribute: alerttype
            value: crashlytics.newFatalIssue

Ressourcenfelder
name
Zeichenfolge
(erforderlich)

Benutzerfreundlicher Name für die exportierte Funktion.

Wenn Sie die Eigenschaft entryPoint nicht angeben (siehe unten), muss dieser Wert mit dem Namen der Funktion im Quellcode Ihrer Funktion übereinstimmen.

Der endgültige Name der bereitgestellten Funktion hat das folgende Format: ext- extension-instance-id - name .

type
Zeichenfolge
(erforderlich)
Für eine Funktionsressource der 2. Generation: firebaseextensions.v1beta.v2function
description
Zeichenfolge
(erforderlich)

Kurze Beschreibung, welche Aufgabe die Funktion für die Erweiterung ausführt.

properties
(erforderlich)

Cloud Functions-Eigenschaften der 2. Generation. Die wichtigsten Eigenschaften sind unten aufgeführt, die vollständige Liste finden Sie jedoch in der Cloud Functions-Referenz .

Eigenschaften
location
(Optional)

Speicherort, an dem die Funktion bereitgestellt werden soll. Standardmäßig ist us-central1

sourceDirectory
(Optional)

Verzeichnis, das Ihre package.json im Stammverzeichnis enthält. Die Datei für den Quellcode Ihrer Funktion muss sich in diesem Verzeichnis befinden. Standardmäßig werden functions verwendet

Hinweis: Das main von package.json gibt die Datei für den Quellcode Ihrer Funktion an (wie index.js ).

Es gibt außerdem drei objektartige Felder mit eigenen Eigenschaften:

buildConfig-Eigenschaften
buildConfig.runtime
(empfohlen)

Laufzeitumgebung für die Funktion.

buildConfig.entryPoint
(Optional)
Name der exportierten Funktion in Ihrem Funktionsquellcode, nach der die Erweiterung suchen soll. Standardmäßig wird der Wert von name oben verwendet.
serviceConfig-Eigenschaften
serviceConfig.timeoutSeconds
(Optional)

Die maximale Ausführungszeit der Funktion.

  • Standard: 60
  • Maximalwert: 540
serviceConfig.availableMemory
(Optional)
Die für eine Funktion verfügbare Speichermenge. Der Standardwert ist 256M . Unterstützte Einheiten sind k , M , G , Mi , Gi . Wenn keine Einheit angegeben wird, wird der Wert als Bytes interpretiert.
eventTrigger-Eigenschaften
eventTrigger.eventType
(erforderlich)
Die Art des Ereignisses, auf das gewartet werden soll. Eine Erweiterung für die für jedes Produkt verfügbaren Ereignistypen finden Sie unter Cloud-Funktionen schreiben .
eventTrigger.eventFilters
(Optional)
Filter, die die abzuhörenden Ereignisse weiter einschränken. Beispielsweise könnten Sie nur Ereignisse abhören, die einem bestimmten Ressourcenmuster entsprechen. Informationen zum Filtern der einzelnen Ereignistypen finden Sie unter „Write Cloud Functions“ für eine Erweiterung .
eventTrigger.channel
(Optional)
Der Name des Kanals, der dem Auslöser zugeordnet ist, im Format projects/{project}/locations/{location}/channels/{channel} . Wenn Sie diese Eigenschaft weglassen, überwacht die Funktion den Standardkanal des Projekts auf Ereignisse.
eventTrigger.triggerRegion
(Optional)
Der Trigger empfängt nur Ereignisse, die aus dieser Region stammen. Dabei kann es sich um dieselbe Region wie die Funktion, eine andere Region oder Multiregion oder die globale Region handeln. Wenn nicht angegeben, wird standardmäßig dieselbe Region wie die Funktion verwendet.

Lebenszyklusereignisse

Mit Lebenszyklusereignissen können Sie Funktionen angeben, die ausgeführt werden, wenn ein Benutzer eine Instanz Ihrer Erweiterung installiert, aktualisiert oder konfiguriert. Siehe Behandeln der Lebenszyklusereignisse Ihrer Erweiterung .

lifecycleEvents:
  onInstall:
    function: myTaskFunction
    processingMessage: Describes the task being completed
  onUpdate:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
  onConfigure:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
Felder für Lebenszyklusereignisse
onInstall
(Optional)

Gibt eine Funktion an, die ausgeführt wird, wenn ein Benutzer die Erweiterung installiert.

Funktionsspezifikation
function
Zeichenfolge
(erforderlich)

Name der durch die Aufgabenwarteschlange ausgelösten Funktion, die das Ereignis behandelt.

Diese Funktion muss im Abschnitt resources deklariert werden und vorhanden sein taskQueue definiert.

processingMessage
Zeichenfolge
(erforderlich)
Meldung, die in der Firebase-Konsole angezeigt wird, während die Aufgabe ausgeführt wird.
onUpdate
(Optional)

Gibt eine Funktion an, die ausgeführt wird, wenn ein Benutzer die Erweiterung aktualisiert.

Funktionsspezifikation
function
Zeichenfolge
(erforderlich)

Name der durch die Aufgabenwarteschlange ausgelösten Funktion, die das Ereignis behandelt.

Diese Funktion muss im Abschnitt resources deklariert werden und vorhanden sein taskQueue definiert.

processingMessage
Zeichenfolge
(erforderlich)
Meldung, die in der Firebase-Konsole angezeigt wird, während die Aufgabe ausgeführt wird.
onConfigure
(Optional)

Gibt eine Funktion an, die ausgeführt wird, wenn ein Benutzer die Erweiterung neu konfiguriert.

Funktionsspezifikation
function
Zeichenfolge
(erforderlich)

Name der durch die Aufgabenwarteschlange ausgelösten Funktion, die das Ereignis behandelt.

Diese Funktion muss im Abschnitt resources deklariert werden und vorhanden sein taskQueue definiert.

processingMessage
Zeichenfolge
(erforderlich)
Meldung, die in der Firebase-Konsole angezeigt wird, während die Aufgabe ausgeführt wird.

Benutzerdefinierte Ereignisse (Eventarc)

Benutzerdefinierte Ereignisse sind Ereignisse, die Ihre Erweiterung ausgibt, damit Benutzer ihre eigene Logik in Ihre Erweiterung einfügen können. Weitere Informationen finden Sie im Abschnitt Eventarc unter Hinzufügen von Benutzer-Hooks zu einer Erweiterung .

events:
  - type: publisher-id.extension-name.version.event-name
    description: Description of the event
  - type: publisher-id.extension-name.version.another-event-name
    description: Description of the other event
Benutzerdefinierte Ereignisfelder
type
Zeichenfolge
(erforderlich)
Der Typbezeichner des Ereignisses. Konstruieren Sie die Kennung aus 3–4 durch Punkte getrennten Feldern: Die Felder „Herausgeber-ID“, „Erweiterungsname“ und „Ereignisname“ sind erforderlich. Das Versionsfeld wird empfohlen. Wählen Sie für jeden von Ihnen veröffentlichten Veranstaltungstyp einen eindeutigen und beschreibenden Veranstaltungsnamen.
description
Zeichenfolge
(erforderlich)
Beschreibung der Veranstaltung.