equinix_fabric_stream_subscription (Recurso)
O recurso compatível com a API Fabric V4 permite a criação e o gerenciamento de assinaturas do Equinix Fabric Stream.
Documentação adicional:
- Primeiros passos: https://docs.equinix.com/observability/streaming-data/integratewithsink/
- API: https://docs.equinix.com/api-catalog/fabricv4/#tag/Stream-Subscriptions
Exemplo de uso
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>"
}
}
}
Esquema
Obrigatório
description(String) Descrição da assinatura de streaming fornecida pelo clienteenabled(Booleano) Status de ativação da assinatura de fluxoname(String) Nome da assinatura de streaming fornecida pelo clientesink(Atributos) Os detalhes do assinante do Equinix Stream (consulte abaixo para esquema aninhado)stream_id(String) O UUID do fluxo que é o alvo da assinatura do fluxo.type(String) Tipo da solicitar de assinatura de fluxo
Opcional
event_selector(Atributos) Listas de eventos a serem incluídos/excluídos na assinatura do fluxo (consulte abaixo para esquema aninhado)metric_selector(Atributos) Listas de métricas a serem incluídas/excluídas na assinatura do fluxo (consulte abaixo para esquema aninhado)timeouts(Atributos) (veja abaixo para esquema aninhado)
Somente leitura
change_log(Atributos) Detalhes da última alteração no recurso de fluxo (consulte abaixo para esquema aninhado)href(String) URI atribuído pela Equinix ao recurso de assinatura de fluxoid(String) O identificador único do recursostate(String) Valor que representa o status de provisionamento para o recurso de fluxouuid(String) Identificador único atribuído pela Equinix ao recurso de assinatura de streaming
Esquema aninhado para sink
Obrigatório:
type(String) Tipo do assinante
Opcional:
batch_enabled(Booleano) Interruptor booleano que permite o envio de dados em lote.batch_size_max(Número) Tamanho máximo da entrega em lote, se ativadobatch_wait_time_max(Número) Tempo máximo de espera para entrega em lote, se ativadocredential(Atributos) Detalhes de acesso para o tipo de coletor especificado (consulte abaixo para esquema aninhado)host(String) Nome de host conhecido de determinados produtos de assinatura de fluxo de dados. Não deve ser confundido com um URI variável.settings(Atributos) Configurações do coletor de assinatura de fluxo (consulte abaixo para esquema aninhado)uri(String) Destino do endpoint HTTP publicamente acessível para o fluxo de dados
Esquema aninhado para sink.credential
Obrigatório:
type(String) Tipo da credencial que está sendo passada
Opcional:
access_token(String) Passado como valor do cabeçalho de autorizaçãoapi_key(String) Passado como valor do cabeçalho de autorizaçãointegration_key(String) Passado como valor do cabeçalho de autorizaçãopassword(String) Passado como valor do cabeçalho de autorizaçãousername(String) Passado como valor do cabeçalho de autorização
Esquema aninhado para sink.settings
Opcional:
application_key(String)event_index(String)event_uri(String)format(String)metric_index(String)metric_uri(String)source(String)
Esquema aninhado para event_selector
Obrigatório:
include(Lista de Strings) Lista de eventos a incluir
Opcional:
except(Lista de Strings) Lista de eventos a serem excluídos
Esquema aninhado para metric_selector
Obrigatório:
include(Lista de Strings) Lista de métricas a incluir
Opcional:
except(Lista de Strings) Lista de métricas a serem excluídas
Esquema aninhado para timeouts
Opcional:
create(String) Uma string que pode ser [analisada como uma duração consistindo de números e sufixos de unidade, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos), "h" (horas).delete(String) Uma string que pode ser [analisada como uma duração composta por números e sufixos de unidades, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos) e "h" (horas). Definir um tempo limite para uma operação de exclusão só se aplica se as alterações forem salvas no estado antes da operação de exclusão ocorrer.read(String) Uma string que pode ser [analisada como uma duração composta por números e sufixos de unidades, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos) e "h" (horas). As operações de leitura ocorrem durante qualquer operação de atualização ou planejamento quando a atualização está habilitada.update(String) Uma string que pode ser [analisada como uma duração consistindo de números e sufixos de unidade, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos), "h" (horas).
Esquema aninhado para change_log
Somente leitura:
created_by(String) Nome de usuário do criador do recurso de fluxocreated_by_email(String) E-mail do criador do recurso de fluxocreated_by_full_name(String) Nome legal do criador do recurso de fluxocreated_date_time(String) Hora de criação do recurso de fluxodeleted_by(String) Nome de usuário do excluídor do recurso de fluxodeleted_by_email(String) E-mail de quem excluiu o recurso de fluxodeleted_by_full_name(String) Nome legal do recurso que exclui o fluxo de recursosdeleted_date_time(String) Tempo de exclusão do recurso de fluxoupdated_by(String) Nome de usuário do último atualizador do recurso de fluxoupdated_by_email(String) E-mail do último atualizador do recurso de fluxoupdated_by_full_name(String) Nome legal do último atualizador do recurso de fluxoupdated_date_time(String) Última hora de atualização do recurso de fluxo