abonnement equinix_fabric_stream (Ressource)
Cette ressource compatible avec l'API Fabric V4 permet la création et la gestion d'abonnements Equinix Fabric Stream.
Documentation supplémentaire:
- Pour commencer: https://docs.equinix.com/observability/streaming-data/integratewithsink/
- API: https://docs.equinix.com/api-catalog/fabricv4/#tag/Stream-Subscriptions
Exemple d'utilisation
resource "equinix_fabric_stream_subscription" "SPLUNK" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
event_selector = {
include = ["equinix.fabric.connection.*"]
}
metric_selector = {
include = ["equinix.fabric.connection.*"]
}
sink = {
type = "SPLUNK_HEC"
uri = "<splunk_uri>"
settings = {
event_index = "<splunk_event_index>"
metric_index = "<splunk_metric_index>"
source = "<splunk_source>"
}
credential = {
type = "ACCESS_TOKEN"
access_token = "<splunk_access_token>"
}
}
}
resource "equinix_fabric_stream_subscription" "SLACK" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
sink = {
type = "SLACK"
uri = "<slack_uri>"
}
}
resource "equinix_fabric_stream_subscription" "PAGER_DUTY" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
sink = {
type = "PAGERDUTY"
host = "<pager_duty_host"
settings = {
change_uri = "<pager_duty_change_uri>"
alert_uri = "<pager_duty_alert_uri>"
}
credential = {
type = "INTEGRATION_KEY"
integration_key = "<pager_duty_integration_key>"
}
}
}
resource "equinix_fabric_stream_subscription" "DATADOG" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
sink = {
type = "DATADOG"
host = "<datadog_host>"
settings = {
source = "Equinix"
application_key = "<datadog_application_key>"
event_uri = "<datadog_event_uri>"
metric_uri = "<datadog_metric_uri>"
}
credential = {
type = "API_KEY"
api_key = "<datadog_api_key>"
}
}
}
resource "equinix_fabric_stream_subscription" "MSTEAMS" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
sink = {
type = "TEAMS"
uri = "<msteams_uri>"
}
}
resource "equinix_fabric_stream_subscription" "servicenow" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
sink = {
type = "SERVICENOW"
host = "<servicenow_host>"
settings = {
source = "Equinix"
}
credential = {
type = "USERNAME_PASSWORD"
username = "<servicenow_username>"
password = "<servicenow_password>"
}
}
}
resource "equinix_fabric_stream_subscription" "webhook" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
sink = {
type = "WEBHOOK"
settings = {
format = "<webhook_format>"
event_uri = "<webhook_event_uri>"
metric_uri = "<webhook_metric_uri>"
}
}
}
resource "equinix_fabric_stream_subscription" "grafana" {
type = "STREAM_SUBSCRIPTION"
name = "<name>"
description = "<description>"
stream_id = "<stream_id>"
enabled = true
sink = {
type = "WEBHOOK"
settings = {
format = "OPENTELEMETRY"
event_uri = "<grafana_event_uri>"
metric_uri = "<grafana_metric_uri>"
}
}
}
Diagramme
Requis
description(Chaîne de caractères) Description de l'abonnement au flux fournie par le clientenabled(Booléen) État de l'abonnement au fluxname(Chaîne de caractères) Nom de l'abonnement au flux fourni par le clientsink(Attributs) Les détails de l'abonné au flux Equinix (voir ci-dessous pour le schéma imbriqué)stream_id(Chaîne de caractères) L'UUID du flux cible de l'abonnement au fluxtype(Chaîne de caractères) Type de requête d'abonnement au flux
En option
event_selector(Attributs) Listes d'événements à inclure/exclure de l'abonnement au flux (voir ci-dessous pour le schéma imbriqué)metric_selector(Attributs) Listes de métriques à inclure/exclure de l'abonnement au flux (voir ci-dessous pour le schéma imbriqué)timeouts(Attributs) (voir ci-dessous pour le schéma imbriqué)
Lecture seule
change_log(Attributs) Détails de la dernière modification apportée à la ressource de flux (voir ci-dessous pour le schéma imbriqué)href(Chaîne) URI attribuée par Equinix à la ressource d'abonnement au fluxid(Chaîne de caractères) L'identificateur unique de la ressourcestate(Chaîne) Valeur représentant l'état d'approvisionnement de la ressource de fluxuuid(Chaîne de caractères) Identifiant unique attribué par Equinix à la ressource d'abonnement au flux
Schéma imbriqué pour sink
Requis:
type(Chaîne de caractères) Type d'abonné
Facultatif:
batch_enabled(Booléen) Commutateur booléen permettant la livraison par lots de donnéesbatch_size_max(Nombre) Taille maximale de la livraison par lot si cette option est activée.batch_wait_time_max(Nombre) Délai d'attente maximal pour la livraison par lots si cette option est activée.credential(Attributs) Détails d'accès pour le type de récepteur spécifié (voir ci-dessous pour le schéma imbriqué)host(Chaîne de caractères) Nom d'hôte connu de certains produits d'abonnement aux flux de données. À ne pas confondre avec un URI de variablesettings(Attributs) Paramètres de destination de l'abonnement au flux (voir ci-dessous pour le schéma imbriqué)uri(Chaîne de caractères) Point de terminaison HTTP accessible publiquement pour le flux de données
Schéma imbriqué pour sink.credential
Requis:
type(Chaîne de caractères) Type d'identifiant transmis
Facultatif:
access_token(Chaîne de caractères) Valeur d'en-tête d'autorisation transmiseapi_key(Chaîne de caractères) Valeur d'en-tête d'autorisation transmiseintegration_key(Chaîne de caractères) Valeur d'en-tête d'autorisation transmisepassword(Chaîne de caractères) Valeur d'en-tête d'autorisation transmiseusername(Chaîne de caractères) Valeur d'en-tête d'autorisation transmise
Schéma imbriqué pour sink.settings
Facultatif:
application_key(Chaîne de caractères)event_index(Chaîne de caractères)event_uri(Chaîne de caractères)format(Chaîne de caractères)metric_index(Chaîne de caractères)metric_uri(Chaîne de caractères)source(Chaîne de caractères)
Schéma imbriqué pour event_selector
Requis:
include(Liste de chaînes de caractères) Liste des événements à inclure
Facultatif:
except(Liste de chaînes de caractères) Liste des événements à exclure
Schéma imbriqué pour metric_selector
Requis:
include(Liste de chaînes de caractères) Liste des métriques à inclure
Facultatif:
except(Liste de chaînes de caractères) Liste des métriques à exclure
Schéma imbriqué pour timeouts
Facultatif:
create(Chaîne) Une chaîne pouvant être [analysée comme une durée composée de nombres et de suffixes d'unité, tels que « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures).delete(Chaîne) Une chaîne pouvant être [interprétée comme une durée composée de nombres et d'unités, comme « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures). La définition d'un délai d'expiration pour une opération de suppression n'est applicable que si des modifications sont enregistrées avant l'exécution de l'opération.read(Chaîne) Une chaîne pouvant être [interprétée comme une durée composée de nombres et d'unités, comme « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures). Les opérations de lecture ont lieu lors de toute opération d'actualisation ou de planification lorsque l'actualisation est activée.update(Chaîne) Une chaîne pouvant être [analysée comme une durée composée de nombres et de suffixes d'unité, tels que « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures).
Schéma imbriqué pour change_log
Lecture seule:
created_by(Chaîne de caractères) Nom d'utilisateur du créateur de la ressource de fluxcreated_by_email(Chaîne de caractères) Adresse courriel du créateur de la ressource de fluxcreated_by_full_name(Chaîne de caractères) Nom légal du créateur de la ressource de fluxcreated_date_time(Chaîne de caractères) Heure de création de la ressource de fluxdeleted_by(Chaîne de caractères) Nom d'utilisateur de la personne qui supprime la ressource de fluxdeleted_by_email(Chaîne de caractères) Adresse courriel de la personne qui supprime la ressource du fluxdeleted_by_full_name(Chaîne) Nom légal du destructeur de la ressource de fluxdeleted_date_time(Chaîne) Date de suppression de la ressource de fluxupdated_by(Chaîne de caractères) Nom d'utilisateur du dernier auteur de la mise à jour de la ressource de fluxupdated_by_email(Chaîne de caractères) Adresse courriel du dernier auteur de la mise à jour de la ressource de fluxupdated_by_full_name(Chaîne de caractères) Nom légal du dernier auteur de la mise à jour de la ressource de fluxupdated_date_time(Chaîne de caractères) Heure de la dernière mise à jour de la ressource de flux