Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
54 changes: 54 additions & 0 deletions .github/workflows/update_products.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Download Products JSON
on:
workflow_dispatch:
inputs:
debug_enabled:
type: boolean
description: 'With build debug'
required: false
default: false
# push:
# branches:
# - master
jobs:
update_maps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token.
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.

- name: getjsonfiles
run: |
mkdir -p EXTRAS/products
cd EXTRAS/products
curl --silent --location "https://mibbrowser.online/mibdb_search.php?all=1" | \
grep JUNIPER-CHASSIS-DEFINES | \
grep -o 'mib=[^"]\+' | \
sed -e 's/mib=//' | \
grep -hi -E '(product|oid|JUNIPER-CHASSIS-DEFINES)' | \
while read mib; do \
curl --silent --location --remote-name "https://mibbrowser.online/mibs_json/$mib.json"; \
done

- name: Commit files
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add --all
git diff --staged --quiet || git commit -m "Downloaded Products JSON via Github Actions"

- name: Push changes
uses: ad-m/github-push-action@master
if: ${{ github.event_name == 'workflow_dispatch' && ! inputs.debug_enabled }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}

# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
## if: always() && github.event.inputs.debug_enabled
# if: always() && ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
## with:
## sudo: true
18 changes: 18 additions & 0 deletions EXTRAS/scripts/util/pysmi-json-to-oid-cache.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import sys
import json

'''
Makes netdisco-mibs oids cache from a pysmi JSON representation of a MIB.

Standard input to standard output.
'''

data = json.load(sys.stdin)
module = data['meta']['module']

for value in data.values():
if not('name' in value and 'oid' in value):
continue
leaf = value['name'].replace('_','-')
# .1.3.6.1.6.3.10.3.1.1,SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance,,,,,,The description...
print(f".{value['oid']},{module}::{leaf},,,,,,{value['description']}")
Loading