updated netboxinventory state

This commit is contained in:
Paul 2023-01-04 23:37:24 +01:00
parent 6b4126f8d2
commit d5b1ed53ce

View File

@ -1,31 +1,61 @@
--- ---
{%- from "netboxinventory/map.jinja" import netbox with context %} {%- from "netboxinventory/map.jinja" import netbox with context %}
netboxinventory_dependencies: netboxinventory-dependencies:
pip.installed: pip.installed:
- name: pynetbox - name: pynetbox
{%- if salt['netbox.get'](app='dcim', endpoint='sites', name=salt['grains.get']('location')) == {} %} {% set nodename = salt['grains.get']('nodename') %}
netbox.create_site_{{ salt['grains.get']('location') }}: {% set location = salt['grains.get']('location') %}
{% set type = salt['grains.get']('type') %}
{% set manufacturer = salt['smbios.get']('system-manufacturer') %}
{% set model = salt['smbios.get']('system-product-name') %}
{%- if salt['netbox.get'](app='dcim', endpoint='manufacturers', name=manufacturer) == {} %}
netbox.create_manufacturer_{{ manufacturer|md5 }}:
module.run: module.run:
- name: netbox.create_site - name: netbox.create_manufacturer
- site: {{ salt['grains.get']('location') }} - m_name: "{{ manufacturer }}"
{%- endif %} {%- endif %}
{%- if salt['netbox.get'](app='dcim', endpoint='device-roles', name=salt['grains.get']('type')) == {} %} {%- if salt['netbox.get'](app='dcim', endpoint='device-types', model=model) == {} %}
netbox.create_device_role_{{ salt['grains.get']('type') }}: netbox.create_device_type_{{ model|md5 }}:
module.run:
- name: netbox.create_device_type
- model: "{{ model }}"
- manufacturer: "{{ manufacturer }}"
{%- endif %}
{%- if salt['netbox.get'](app='dcim', endpoint='sites', name=location) == {} %}
netbox.create_site_{{ salt['grains.get']('location')|md5 }}:
module.run:
- name: netbox.create_site
- site: "{{ location }}"
{%- endif %}
{%- if salt['netbox.get'](app='dcim', endpoint='device-roles', name=type) == {} %}
netbox.create_device_role_{{ type|md5 }}:
module.run: module.run:
- name: netbox.create_device_role - name: netbox.create_device_role
- role: {{ salt['grains.get']('type') }} - role: "{{ type }}"
- color: "2196f3" - color: "2196f3"
{%- endif %} {%- endif %}
{%- if salt['netbox.get'](app='dcim', endpoint='devices', name=salt['grains.get']('nodename')) == {} %} {%- if salt['netbox.get'](app='dcim', endpoint='devices', name=nodename) == {} %}
netbox.create_device_{{ salt['grains.get']('nodename')|to_camelcase }}: netbox.create_device_{{ nodename|md5 }}:
module.run: module.run:
- name: netbox.create_device - name: netbox.create_device
- m_name: {{ salt['grains.get']('nodename') }} - m_name: "{{ nodename }}"
- site: {{ salt['grains.get']('location') }} - site: "{{ location }}"
- role: {{ salt['grains.get']('type') }} - role: "{{ type }}"
- manufacturer: default - manufacturer: "{{ manufacturer }}"
- model: default - model: "{{ model }}"
{%- else %}
netbox.update_device_{{ nodename|md5 }}:
module.run:
- name: netbox.update_device
- m_name: "{{ nodename }}"
- site: "{{ location }}"
- role: "{{ type }}"
- manufacturer: "{{ manufacturer }}"
- model: "{{ model }}"
{%- endif %} {%- endif %}