Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add initial event schemas with Supported Event Types #2

Merged
merged 24 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4c060f2
Add initial event schemas with Supported Event Types
thogarty Nov 5, 2024
58b9153
Use latest version of Data Schemas from Equinix Observability Spreads…
thogarty Nov 6, 2024
3b288fc
Add change to data schemas
thogarty Nov 6, 2024
e2bcf6e
Update data schemas to align with design and include data loader upda…
thogarty Nov 7, 2024
992588b
Remove unnecessary lines in data loader update script
thogarty Nov 7, 2024
e18f812
Add in metric event type to supported event types
thogarty Nov 7, 2024
4c022ab
Update paths processing of jsonschema directory from data_loader script
thogarty Nov 9, 2024
6dd8167
Add automation for json catalog creation and README table regeneration
thogarty Nov 12, 2024
74b6233
Add .gitignore for repo
thogarty Nov 12, 2024
0e891b2
Change schemas to align with confluence wiki
thogarty Nov 14, 2024
78f7d9d
Update the event names
thogarty Nov 14, 2024
97c9bab
Respond to PR review comments
thogarty Nov 14, 2024
0659d06
Remove change from metric resource and update attribute names for met…
thogarty Nov 14, 2024
2b081c3
Update eventTypes, metricTypes, and DataLoader file structure
thogarty Nov 14, 2024
aa2881c
Change attribute name from metricTypes to metricNames
thogarty Nov 15, 2024
1473688
Update metricTypes to metricNames and update json catalog and README.…
thogarty Nov 15, 2024
1c0b1d1
Test github pages table build
thogarty Nov 15, 2024
5566a20
Test markdown processor for github pages
thogarty Nov 15, 2024
10e5e5e
Test table markdown processing on github pages
thogarty Nov 15, 2024
e4e18fe
Test markdown processor for github pages
thogarty Nov 15, 2024
8ec5858
Test github pages markdown processing
thogarty Nov 15, 2024
bc141f1
Test table processing for github pages
thogarty Nov 15, 2024
d1078d8
Use blank line for start and end of table
thogarty Nov 15, 2024
2c9680c
Add change from metricTypes to metricNames in DataLoader file
thogarty Nov 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Local Setup Scripts for Repo
local_helpers/*
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,19 @@
# cloud-events
Equinix published CloudEvents Types

Equinix published [CloudEvent](https://cloudevents.io/) Types

Definitive "source of truth" for the Equinix Observability event data formats

## CloudEvents in this repository

The following data payloads are the supported events and formats for Equinix Observability

<!-- CATALOG_GENERATION_START -->
|Product|Schemas|Types|
|-|-|-|
|Equinix Fabric Change|[JSON](https://equinix.github.io/equinix-cloudevents/jsonschema/equinix/events/fabric/v1/Change.json)|<br>Data Type:<br>`equinix.events.fabric.v1.Change`<br>CloudEvent Type(s):<br>`equinix.fabric.connection.status.up`</br>`equinix.fabric.connection.status.down`</br>`equinix.fabric.connection.state.draft`</br>`equinix.fabric.connection.state.cancelled`</br>`equinix.fabric.connection.state.pending`</br>`equinix.fabric.connection.state.provisioning`</br>`equinix.fabric.connection.state.provisioned`</br>`equinix.fabric.connection.state.active`</br>`equinix.fabric.connection.state.reprovisioning`</br>`equinix.fabric.connection.state.deprovisioning`</br>`equinix.fabric.connection.state.deprovisioned`</br>`equinix.fabric.connection.state.failed`</br>`equinix.fabric.connection.routing_protocol_state.provisioning`</br>`equinix.fabric.connection.routing_protocol_state.provisioned`</br>`equinix.fabric.connection.routing_protocol_state.reprovisioning`</br>`equinix.fabric.connection.routing_protocol_state.deprovisioning`</br>`equinix.fabric.connection.routing_protocol_state.deprovisioned`</br>`equinix.fabric.connection.routing_protocol_state.failed`</br>`equinix.fabric.connection.bgp_ipv4_status.up`</br>`equinix.fabric.connection.bgp_ipv4_status.down`</br>`equinix.fabric.connection.bgp_ipv6_status.up`</br>`equinix.fabric.connection.bgp_ipv6_status.down`</br>`equinix.fabric.connection.bgp_ipv4_session.established`</br>`equinix.fabric.connection.bgp_ipv4_session.connect`</br>`equinix.fabric.connection.bgp_ipv4_session.opensent`</br>`equinix.fabric.connection.bgp_ipv4_session.openconfirm`</br>`equinix.fabric.connection.bgp_ipv4_session.active`</br>`equinix.fabric.connection.bgp_ipv4_session.idle`</br>`equinix.fabric.connection.bgp_ipv6_session.established`</br>`equinix.fabric.connection.bgp_ipv6_session.connect`</br>`equinix.fabric.connection.bgp_ipv6_session.opensent`</br>`equinix.fabric.connection.bgp_ipv6_session.openconfirm`</br>`equinix.fabric.connection.bgp_ipv6_session.active`</br>`equinix.fabric.connection.bgp_ipv6_session.idle`</br>`equinix.fabric.connection.reset_bgp_ipv4.succeeded`</br>`equinix.fabric.connection.reset_bgp_ipv4.failed`</br>`equinix.fabric.connection.reset_bgp_ipv6.succeeded`</br>`equinix.fabric.connection.reset_bgp_ipv6.failed`</br>`equinix.fabric.connection.clear_bgp_ipv4.succeeded`</br>`equinix.fabric.connection.clear_bgp_ipv4.failed`</br>`equinix.fabric.connection.clear_bgp_ipv6.succeeded`</br>`equinix.fabric.connection.clear_bgp_ipv6.failed`</br>`equinix.fabric.connection.clear_bgp_ipv4_inbound.succeeded`</br>`equinix.fabric.connection.clear_bgp_ipv4_inbound.failed`</br>`equinix.fabric.connection.clear_bgp_ipv6_inbound.succeeded`</br>`equinix.fabric.connection.clear_bgp_ipv6_inbound.failed`</br>`equinix.fabric.route_filter.state.provisioning`</br>`equinix.fabric.route_filter.state.provisioned`</br>`equinix.fabric.route_filter.state.reprovisioning`</br>`equinix.fabric.route_filter.state.deprovisioning`</br>`equinix.fabric.route_filter.state.deprovisioned`</br>`equinix.fabric.route_filter.state.not_provisioned`</br>`equinix.fabric.route_filter.state.not_deprovisioned`</br>`equinix.fabric.route_filter.rule_state.provisioning`</br>`equinix.fabric.route_filter.rule_state.provisionined`</br>`equinix.fabric.route_filter.rule_state.reprovisioning`</br>`equinix.fabric.route_filter.rule_state.deprovisioning`</br>`equinix.fabric.route_filter.rule_state.deprovisioned`</br>`equinix.fabric.route_filter.rule_state.not_provisioned`</br>`equinix.fabric.route_filter.rule_state.not_deprovisioned`</br>`equinix.fabric.route_filter.status.pending_bgp_configuration`</br>`equinix.fabric.route_filter.status.attaching`</br>`equinix.fabric.route_filter.status.attached`</br>`equinix.fabric.route_filter.status.detaching`</br>`equinix.fabric.route_filter.status.detached`</br>`equinix.fabric.route_filter.status.failed`</br>`equinix.fabric.port.status.up`</br>`equinix.fabric.port.status.down`</br>`equinix.fabric.port.state.pending`</br>`equinix.fabric.port.state.provisioning`</br>`equinix.fabric.port.state.provisioned`</br>`equinix.fabric.port.state.active`</br>`equinix.fabric.port.state.inactive`</br>`equinix.fabric.port.state.deprovisioning`</br>`equinix.fabric.port.state.deprovisioned`</br>`equinix.fabric.port.state.failed`</br>`equinix.fabric.port.state.to_be_added`</br>`equinix.fabric.port.state.to_be_deleted`</br>`equinix.fabric.port.state.added`</br>`equinix.fabric.port.state.deleted`</br>`equinix.fabric.router.state.provisioning`</br>`equinix.fabric.router.state.provisioned`</br>`equinix.fabric.router.state.locked`</br>`equinix.fabric.router.state.deprovisioning`</br>`equinix.fabric.router.state.deprovisioned`</br>`equinix.fabric.router.state.not_provisioned`</br>`equinix.fabric.router.state.not_deprovisioned`</br>`equinix.fabric.router.bgp_session_status_update.pending`</br>`equinix.fabric.router.bgp_session_status_update.succeeded`</br>`equinix.fabric.router.bgp_session_status_update.failed`</br>`equinix.fabric.router.route_table_entry_update.pending`</br>`equinix.fabric.router.route_table_entry_update.succeeded`</br>`equinix.fabric.router.route_table_entry_update.failed`</br>`equinix.fabric.router.received_route_entry_update.pending`</br>`equinix.fabric.router.received_route_entry_update.succeeded`</br>`equinix.fabric.router.received_route_entry_update.failed`</br>`equinix.fabric.router.advertised_route_entry_update.pending`</br>`equinix.fabric.router.advertised_route_entry_update.succeeded`</br>`equinix.fabric.router.advertised_route_entry_update.failed`</br>`equinix.fabric.network.state.active`</br>`equinix.fabric.network.state.inactive`</br>`equinix.fabric.network.state.deleted`</br>`equinix.fabric.time_service.state.pending_configuration`</br>`equinix.fabric.time_service.state.provisioning`</br>`equinix.fabric.time_service.state.provisioned`</br>`equinix.fabric.time_service.state.deprovisioning`</br>`equinix.fabric.time_service.state.deprovisioned`</br>`equinix.fabric.time_service.state.configuring_failed`</br>`equinix.fabric.time_service.state.provisioning_failed`</br>`equinix.fabric.time_service.state.deprovisioning_failed`</br>`equinix.fabric.time_service.state.configuring`</br>`equinix.fabric.time_service.state.cancelled`</br>`equinix.fabric.service_token.state.active`</br>`equinix.fabric.service_token.state.inactive`</br>`equinix.fabric.service_token.state.expired`</br>`equinix.fabric.service_token.state.deleted`</br>`equinix.fabric.service_profile.state.pending_approval`</br>`equinix.fabric.service_profile.state.rejected`</br>`equinix.fabric.service_profile.state.active`</br>`equinix.fabric.service_profile.state.deleted`</br>`equinix.fabric.stream.state.provisioning`</br>`equinix.fabric.stream.state.provisioned`</br>`equinix.fabric.stream.state.deprovisioning`</br>`equinix.fabric.stream.state.deprovisioned`</br>`equinix.fabric.stream.state.failed`</br>`equinix.fabric.stream.resource_status.attaching`</br>`equinix.fabric.stream.resource_status.attached`</br>`equinix.fabric.stream.resource_status.detaching`</br>`equinix.fabric.stream.resource_status.detached`</br>`equinix.fabric.stream.resource_status.failed`</br>`equinix.fabric.stream_subscription.state.provisioning`</br>`equinix.fabric.stream_subscription.state.provisioned`</br>`equinix.fabric.stream_subscription.state.deprovisioning`</br>`equinix.fabric.stream_subscription.state.deprovisioned`</br>`equinix.fabric.stream_subscription.state.failed`</br>|
|Equinix Fabric ChangeAlert|[JSON](https://equinix.github.io/equinix-cloudevents/jsonschema/equinix/events/fabric/v1/ChangeAlert.json)|<br>Data Type:<br>`equinix.events.fabric.v1.ChangeAlert`<br>CloudEvent Type(s):<br>`equinix.fabric.connection.status.up`</br>`equinix.fabric.connection.status.down`</br>`equinix.fabric.connection.bgp_ipv4_status.up`</br>`equinix.fabric.connection.bgp_ipv4_status.down`</br>`equinix.fabric.connection.bgp_ipv6_status.up`</br>`equinix.fabric.connection.bgp_ipv6_status.down`</br>`equinix.fabric.port.status.up`</br>`equinix.fabric.port.status.down`</br>|
|Equinix Fabric Metric|[JSON](https://equinix.github.io/equinix-cloudevents/jsonschema/equinix/events/fabric/v1/Metric.json)|<br>Data Type:<br>`equinix.events.fabric.v1.Metric`<br>CloudEvent Type(s):<br>`equinix.fabric.connection.bandwidth_rx.usage`</br>`equinix.fabric.connection.bandwidth_tx.usage`</br>`equinix.fabric.port.bandwidth_rx.usage`</br>`equinix.fabric.port.bandwidth_tx.usage`</br>`equinix.fabric.port.frames_erred_rx.count`</br>`equinix.fabric.port.frames_erred_tx.count`</br>`equinix.fabric.port.frames_dropped_rx.count`</br>`equinix.fabric.port.frames_dropped_tx.count`</br>`equinix.fabric.router.routes_ipv4_installed.utilization`</br>`equinix.fabric.router.routes_ipv6_installed.utilization`</br>`equinix.fabric.metro.{:asideMetroCode}_{:zsideMetroCode}.latency`</br>`equinix.fabric.metric`</br>|
|Equinix Fabric MetricAlert|[JSON](https://equinix.github.io/equinix-cloudevents/jsonschema/equinix/events/fabric/v1/MetricAlert.json)|<br>Data Type:<br>`equinix.events.fabric.v1.MetricAlert`<br>CloudEvent Type(s):<br>`equinix.fabric.router.routes_ipv4_installed.utilization`</br>`equinix.fabric.router.routes_ipv6_installed.utilization`</br>|

<!-- CATALOG_GENERATION_END -->
149 changes: 149 additions & 0 deletions SupportedEventTypes_DataLoader.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
[
"equinix.fabric.connection.bandwidth_rx.usage",
"equinix.fabric.connection.bandwidth_tx.usage",
"equinix.fabric.connection.bgp_ipv4_session.active",
"equinix.fabric.connection.bgp_ipv4_session.connect",
"equinix.fabric.connection.bgp_ipv4_session.established",
"equinix.fabric.connection.bgp_ipv4_session.idle",
"equinix.fabric.connection.bgp_ipv4_session.openconfirm",
"equinix.fabric.connection.bgp_ipv4_session.opensent",
"equinix.fabric.connection.bgp_ipv4_status.down",
"equinix.fabric.connection.bgp_ipv4_status.up",
"equinix.fabric.connection.bgp_ipv6_session.active",
"equinix.fabric.connection.bgp_ipv6_session.connect",
"equinix.fabric.connection.bgp_ipv6_session.established",
"equinix.fabric.connection.bgp_ipv6_session.idle",
"equinix.fabric.connection.bgp_ipv6_session.openconfirm",
"equinix.fabric.connection.bgp_ipv6_session.opensent",
"equinix.fabric.connection.bgp_ipv6_status.down",
"equinix.fabric.connection.bgp_ipv6_status.up",
"equinix.fabric.connection.clear_bgp_ipv4.failed",
"equinix.fabric.connection.clear_bgp_ipv4.succeeded",
"equinix.fabric.connection.clear_bgp_ipv4_inbound.failed",
"equinix.fabric.connection.clear_bgp_ipv4_inbound.succeeded",
"equinix.fabric.connection.clear_bgp_ipv6.failed",
"equinix.fabric.connection.clear_bgp_ipv6.succeeded",
"equinix.fabric.connection.clear_bgp_ipv6_inbound.failed",
"equinix.fabric.connection.clear_bgp_ipv6_inbound.succeeded",
"equinix.fabric.connection.reset_bgp_ipv4.failed",
"equinix.fabric.connection.reset_bgp_ipv4.succeeded",
"equinix.fabric.connection.reset_bgp_ipv6.failed",
"equinix.fabric.connection.reset_bgp_ipv6.succeeded",
"equinix.fabric.connection.routing_protocol_state.deprovisioned",
"equinix.fabric.connection.routing_protocol_state.deprovisioning",
"equinix.fabric.connection.routing_protocol_state.failed",
"equinix.fabric.connection.routing_protocol_state.provisioned",
"equinix.fabric.connection.routing_protocol_state.provisioning",
"equinix.fabric.connection.routing_protocol_state.reprovisioning",
"equinix.fabric.connection.state.active",
"equinix.fabric.connection.state.cancelled",
"equinix.fabric.connection.state.deprovisioned",
"equinix.fabric.connection.state.deprovisioning",
"equinix.fabric.connection.state.draft",
"equinix.fabric.connection.state.failed",
"equinix.fabric.connection.state.pending",
"equinix.fabric.connection.state.provisioned",
"equinix.fabric.connection.state.provisioning",
"equinix.fabric.connection.state.reprovisioning",
"equinix.fabric.connection.status.down",
"equinix.fabric.connection.status.up",
"equinix.fabric.metric",
"equinix.fabric.metro.{:asideMetroCode}_{:zsideMetroCode}.latency",
"equinix.fabric.network.state.active",
"equinix.fabric.network.state.deleted",
"equinix.fabric.network.state.inactive",
"equinix.fabric.port.bandwidth_rx.usage",
"equinix.fabric.port.bandwidth_tx.usage",
"equinix.fabric.port.frames_dropped_rx.count",
"equinix.fabric.port.frames_dropped_tx.count",
"equinix.fabric.port.frames_erred_rx.count",
"equinix.fabric.port.frames_erred_tx.count",
"equinix.fabric.port.state.active",
"equinix.fabric.port.state.added",
"equinix.fabric.port.state.deleted",
"equinix.fabric.port.state.deprovisioned",
"equinix.fabric.port.state.deprovisioning",
"equinix.fabric.port.state.failed",
"equinix.fabric.port.state.inactive",
"equinix.fabric.port.state.pending",
"equinix.fabric.port.state.provisioned",
"equinix.fabric.port.state.provisioning",
"equinix.fabric.port.state.to_be_added",
"equinix.fabric.port.state.to_be_deleted",
"equinix.fabric.port.status.down",
"equinix.fabric.port.status.up",
"equinix.fabric.route_filter.rule_state.deprovisioned",
"equinix.fabric.route_filter.rule_state.deprovisioning",
"equinix.fabric.route_filter.rule_state.not_deprovisioned",
"equinix.fabric.route_filter.rule_state.not_provisioned",
"equinix.fabric.route_filter.rule_state.provisionined",
"equinix.fabric.route_filter.rule_state.provisioning",
"equinix.fabric.route_filter.rule_state.reprovisioning",
"equinix.fabric.route_filter.state.deprovisioned",
"equinix.fabric.route_filter.state.deprovisioning",
"equinix.fabric.route_filter.state.not_deprovisioned",
"equinix.fabric.route_filter.state.not_provisioned",
"equinix.fabric.route_filter.state.provisioned",
"equinix.fabric.route_filter.state.provisioning",
"equinix.fabric.route_filter.state.reprovisioning",
"equinix.fabric.route_filter.status.attached",
"equinix.fabric.route_filter.status.attaching",
"equinix.fabric.route_filter.status.detached",
"equinix.fabric.route_filter.status.detaching",
"equinix.fabric.route_filter.status.failed",
"equinix.fabric.route_filter.status.pending_bgp_configuration",
"equinix.fabric.router.advertised_route_entry_update.failed",
"equinix.fabric.router.advertised_route_entry_update.pending",
"equinix.fabric.router.advertised_route_entry_update.succeeded",
"equinix.fabric.router.bgp_session_status_update.failed",
"equinix.fabric.router.bgp_session_status_update.pending",
"equinix.fabric.router.bgp_session_status_update.succeeded",
"equinix.fabric.router.received_route_entry_update.failed",
"equinix.fabric.router.received_route_entry_update.pending",
"equinix.fabric.router.received_route_entry_update.succeeded",
"equinix.fabric.router.route_table_entry_update.failed",
"equinix.fabric.router.route_table_entry_update.pending",
"equinix.fabric.router.route_table_entry_update.succeeded",
"equinix.fabric.router.routes_ipv4_installed.utilization",
"equinix.fabric.router.routes_ipv6_installed.utilization",
"equinix.fabric.router.state.deprovisioned",
"equinix.fabric.router.state.deprovisioning",
"equinix.fabric.router.state.locked",
"equinix.fabric.router.state.not_deprovisioned",
"equinix.fabric.router.state.not_provisioned",
"equinix.fabric.router.state.provisioned",
"equinix.fabric.router.state.provisioning",
"equinix.fabric.service_profile.state.active",
"equinix.fabric.service_profile.state.deleted",
"equinix.fabric.service_profile.state.pending_approval",
"equinix.fabric.service_profile.state.rejected",
"equinix.fabric.service_token.state.active",
"equinix.fabric.service_token.state.deleted",
"equinix.fabric.service_token.state.expired",
"equinix.fabric.service_token.state.inactive",
"equinix.fabric.stream.resource_status.attached",
"equinix.fabric.stream.resource_status.attaching",
"equinix.fabric.stream.resource_status.detached",
"equinix.fabric.stream.resource_status.detaching",
"equinix.fabric.stream.resource_status.failed",
"equinix.fabric.stream.state.deprovisioned",
"equinix.fabric.stream.state.deprovisioning",
"equinix.fabric.stream.state.failed",
"equinix.fabric.stream.state.provisioned",
"equinix.fabric.stream.state.provisioning",
"equinix.fabric.stream_subscription.state.deprovisioned",
"equinix.fabric.stream_subscription.state.deprovisioning",
"equinix.fabric.stream_subscription.state.failed",
"equinix.fabric.stream_subscription.state.provisioned",
"equinix.fabric.stream_subscription.state.provisioning",
"equinix.fabric.time_service.state.cancelled",
"equinix.fabric.time_service.state.configuring",
"equinix.fabric.time_service.state.configuring_failed",
"equinix.fabric.time_service.state.deprovisioned",
"equinix.fabric.time_service.state.deprovisioning",
"equinix.fabric.time_service.state.deprovisioning_failed",
"equinix.fabric.time_service.state.pending_configuration",
"equinix.fabric.time_service.state.provisioned",
"equinix.fabric.time_service.state.provisioning",
"equinix.fabric.time_service.state.provisioning_failed"
]
Loading