Topics
- Allow rack to be in query_param_ids [#443](netbox-community#443)
- netbox_cable - Add tags option [#455](netbox-community#455)
- netbox_cluster_type - Add description option [#451](netbox-community#451)
- netbox_ipam_role - Add description option [#451](netbox-community#451)
- netbox_manufacturer - Add description option [#451](netbox-community#451)
- netbox_rir - Add description option [#451](netbox-community#451)
- netbox_tenant_group - Add parent_tenant_group option [#460](netbox-community#460)
- Remove ansible.netcommon and community.general dependencies from collection
- Inventory - Added ansible_host_dns_name to set ansible_host to dns_name
- netbox_device_role - Added description option
- netbox_platform - Added description option
- netbox_ip_address - Added assigned_object to ALLOWED_QUERY_PARAMS
- Added
import_targets
andexport_targets
options tonetbox_vrf
- netbox_site - Changed latitude/longitude type from float to str [#418](netbox-community#418)
- netbox_utils - If query_dict is None, fail and provide meaningful error [#419](netbox-community#419)
- netbox_utils - Remove manual manipulation for building query params for netbox_ip_address and assigned object [#421](netbox-community#421)
- netbox.netbox.netbox_route_target - Creates or removes route targets from Netbox
- Allow IDs to be passed into objects that accept a list (netbox-community#407)
- nb_inventory - Add
dns_name
option that addsdns_name
to the host whenTrue
and device has a primary IP address. (#394) - nb_inventory - Add
status
as agroup_by
option. (398) - nb_inventory - Move around
extracted_primary_ip
to allow forconfig_context
orcustom_field
to overwite. (#377) - nb_inventory - Services are now a list of integers due to NetBox 2.10 changes. (#396)
- nb_lookup - Allow ID to be passed in and use
.get
instead of.filter
. (#376) - nb_lookup - Allow
api_endpoint
andtoken
to be found via env. (#391)
- nb_inventory - Added
status
as host_var. (359) - nb_inventory - Added documentation for using
keyed_groups
. (#361) - nb_inventory - Allow to use virtual chassis name instead of device name. (#383)
- nb_lookup - Allow lookup of plugin endpoints. (#360)
- nb_lookup - Documentation update to show Fully Qualified Collection Name (FQCN). (#355)
- netbox_service - Add
ports
option for NetBox 2.10+ and convertport
toports
if NetBox 2.9 or lower. (#396) - netbox_virtual_machine - Added
comments
option. (#380) - netbox_virtual_machine - Added
local_context_data
option. (#357)
- Version checks were failing due to converting "2.10" to a float made it an integer of 2.1 which broke version related logic. (#396)
- netbox_device_interface - Fixed copy pasta in documentation. (#371)
- netbox_ip_address - Updated documentation to show that
family
option has been deprecated. (#388) - netbox_utils - Fixed typo for
circuits.circuittermination
searches. (#367) - netbox_utils - Skip all modifications to
query_params
whenuser_query_params
is defined. (#389) - netbox_vlan - Fixed uniqueness for vlan searches to add
group
. (#386)
- netbox.netbox.netbox_tag - Creates or removes tags from Netbox
- Add
follow_redirects
option to inventory plugin (netbox-community#323)
- Prevent inventory plugin from failing on 403 and print warning message (netbox-community#354)
- Update
netbox_ip_address
module to acceptassigned_object
to work with NetBox 2.9 (netbox-community#345) - Update inventory plugin to properly associate IP address to interfaces with NetBox 2.9 (netbox-community#334)
- Update inventory plugin to work with tags with NetBox 2.9 (netbox-community#340)
- Update modules to be able to properly update tags to work with NetBox 2.9 (netbox-community#345)
- Add
virtual_machine_role=slug
toQUERY_TYPES
to properly search for Virtual Machine roles and not use the defaultq
search (netbox-community#327) - Remove
device
beingrequired
and implementedrequired_one_of
to allow eitherdevice
orvirtual_machine
to be specified fornetbox_service
(netbox-community#326) - When tags specified, it prevents other data from being updated on the object. (netbox-community#325)
- Inventory - Add group_by option
rack_role
andrack_group
- Inventory - Add group_by option
services
(netbox-community#286)
- Fix
nb_inventory
cache for ip addresses (netbox-community#276) - Return HTTPError body output when encountering HTTP errors (netbox-community#294)
- Fix query_dict for device_bay/interface_template to use
devicetype_id
(netbox-community#282) - This expands the fix to all _template modules to use devicetype_id for the query_dict when attempting to resolve the search (netbox-community#300)
- Default
validate_certs
toTrue
(netbox-community#273)
- Add
local_context_data
andflatten_local_context_data
option tonb_inventory
(netbox-community#258) - Add
local_context_data
option tonetbox_device
(netbox-community#258) - Add
virtual_chassis
,vc_position
,vc_priority
tonetbox_device
options (netbox-community#251)
To pass in integers via Ansible Jinja filters for a key in
data
that requires querying an endpoint is now done by making it a dictionary with anid
key. The previous behavior was to just pass in an integer and it was converted when normalizing the data, but some people may have names that are all integers and those were being converted erroneously so we made the decision to change the method to convert to an integer for the NetBox API.tasks: - name: Create device within NetBox with only required information netbox_device: netbox_url: http://netbox-demo.org:32768 netbox_token: 0123456789abcdef0123456789abcdef01234567 data: name: Test66 device_type: id: "{{ some_jinja_variable }}" device_role: Core Switch site: Test Site status: Staged state: present
pynetbox
changed to usingrequests.Session()
to manage the HTTP session which broke passing inssl_verify
when building the NetBox API client. This PR makespynetbox 5.0.4+
the new required version of pynetbox for the Ansible modules and lookup plugin. (netbox-community#269)
- Allows OR operations in API fitlers for
nb_lookup
plugin (netbox-community#246) - Build the
rear_port
andrear_port_template
query_params to properly find rear port (netbox-community#262) - Compares tags as a set to prevent issues with order difference between user supplied tags and NetBox API (netbox-community#242)
- Fixes typo for
CONVERT_TO_ID
mapping innetbox_utils
fordcim.powerport
anddcim.poweroutlet
(netbox-community#265) - Fixes typo for
CONVERT_TO_ID
mapping innetbox_utils
fordcim.rearport
(netbox-community#261) - Normalize
mac_address
to upper case (netbox-community#254) - Normalize descriptions to remove any extra whitespace (netbox-community#243)
- netbox.netbox.netbox_cable - Create, update or delete cables within Netbox
- netbox.netbox.netbox_device_bay_template - Create, update or delete device bay templates within Netbox
- netbox.netbox.netbox_device_interface_template - Creates or removes interfaces on devices from Netbox
- netbox.netbox.netbox_virtual_chassis - Create, update or delete virtual chassis within Netbox
- Adds
discovered
field tonetbox_inventory_item
(netbox-community#187) - Adds
query_params
to all modules to allow users to define thequery_params
(netbox-community#215) - Adds
tenant
field tonetbox_cluster
(netbox-community#219) - Allows private key to be passed in to
validate_certs
within modules (netbox-community#216) - Better error handling if read-only token is provided for modules. Updated README as well to say that a
write-enabled
token is required (netbox-community#238)
- Fixes bug in
netbox_prefix
failing when usingcheck_mode
(netbox-community#228) - Fixes bug in inventory plugin that fails if there are either no virtual machines, but devices defined in NetBox or vice versa from failing when
fetch_all
is set toFalse
(netbox-community#214) - Normalize any string values that are passed in via Jinja into an integer within the _normalize_data method (netbox-community#231)
- netbox.netbox.netbox_console_port - Create, update or delete console ports within Netbox
- netbox.netbox.netbox_console_port_template - Create, update or delete console port templates within Netbox
- netbox.netbox.netbox_console_server_port - Create, update or delete console server ports within Netbox
- netbox.netbox.netbox_console_server_port_template - Create, update or delete console server port templates within Netbox
- netbox.netbox.netbox_front_port - Create, update or delete front ports within Netbox
- netbox.netbox.netbox_front_port_template - Create, update or delete front port templates within Netbox
- netbox.netbox.netbox_power_feed - Create, update or delete power feeds within Netbox
- netbox.netbox.netbox_power_outlet - Create, update or delete power outlets within Netbox
- netbox.netbox.netbox_power_outlet_template - Create, update or delete power outlet templates within Netbox
- netbox.netbox.netbox_power_panel - Create, update or delete power panels within Netbox
- netbox.netbox.netbox_power_port - Create, update or delete power ports within Netbox
- netbox.netbox.netbox_power_port_template - Create, update or delete power port templates within Netbox
- netbox.netbox.netbox_rear_port - Create, update or delete rear ports within Netbox
- netbox.netbox.netbox_rear_port_template - Create, update or delete rear port templates within Netbox
- Changed
validate_certs
toraw
to allow private keys to be passed in (netbox-community#211)
- Added
interfaces
toALLOWED_QUERY_PARAMS
for ip addresses searches (netbox-community#201) - Added
type
toALLOWED_QUERY_PARAMS
for interface searches (netbox-community#208) - Remove
rack
as a choice when creating virtual machines (netbox-community#221)
- Added 21" width to netbox_rack (netbox-community#190)
- Added cluster, cluster_type, and cluster_group to group_by option in inventory plugin (netbox-community#188)
- Added option to change host_vars to singular rather than having single element lists (netbox-community#141)
- Added option to flatten
config_context
andcustom_fields
(netbox-community#193)
- Added
type
tonetbox_device_interface
and deprecation notice forform_factor
(netbox-community#193) - Fixes inventory performance issues, properly shows virtual chassis masters. (netbox-community#202)
- Add
custom_fields
tonetbox_virtual_machine
(netbox-community#170) - Add
device_query_filters
andvm_query_filters
to allow users to specify query filters for the specific type (netbox-community#140) - Added
group_names_raw
option to the netbox inventory to allow users have the group names be the slug rather than prepending the group name with the type (netbox-community#138) - Added
raw_output
option to netbox lookup plugin to return the exact output from the API with no doctoring (netbox-community#136) - Added
services
option to the netbox inventory to allow users to toggle whether services are included or not (netbox-community#143) - Added
update_vc_child
option to netbox_device_interface to allow child interfaces to be updated if device specified is the master device within the virtual chassis (netbox-community#105) - Remove token from being required for nb_inventory as some NetBox setups don't require authorization for GET functions (netbox-community#177)
- Remove token from being required for nb_lookup as some NetBox setups don't require authorization for GET functions (netbox-community#183)
- Change
ip-addresses
key in netbox inventory plugin toip_addresses
(netbox-community#139)
- Allow integers to be passed in via Jinja string to properly convert back to integer (netbox-community#45)
- Allow services to be created with a different protocol (netbox-community#174)
- Properly find LAG if defined just as a string rather than dictionary with the relevant data (netbox-community#166)
- Removed choices within argument_spec for
mode
innetbox_device_interface
andnetbox_vm_interface
. This allows the API to return any error if an invalid choice is selected formode
(netbox-community#151) - Updated rack width choices for latest NetBox version (netbox-community#167)
- Updated inventory plugin name from netbox.netbox.netbox to netbox.netbox.nb_inventory (netbox-community#129)
- This version has a few breaking changes due to new namespace and collection name. I felt it necessary to change the name of the lookup plugin and inventory plugin just not to have a non descriptive namespace call to use them. Below is an example:
netbox.netbox.netbox
would be used for both inventory plugin and lookup plugin, but in different contexts so no collision will arise, but confusion will. I renamed the lookup plugin tonb_lookup
so it will be used with the FQCNnetbox.netbox.nb_lookup
. The inventory plugin will now be called within an inventory file bynetbox.netbox.nb_inventory
- Update
netbox_tenant
andnetbox_tenant_group
to use slugs for searching (available since NetBox 2.6). Added slug options to netbox_site, netbox_tenant, netbox_tenant_group (netbox-community#120)
- If interface existed already, caused traceback and crashed playbook (netbox-community#114)
- Added fetching services for devices in Netbox Inventory Plugin (netbox-community#58)
- Added option for interfaces and IP addresses of interfaces to be fetched via inventory plugin (netbox-community#60)
- Change lookups to property for subclassing of inventory plugin (netbox-community#62)
- Assigning to parent log now finds LAG interface type dynamically rather than set statically in code (netbox-community#106)
- Create device with empty string to assign the device a UUID (netbox-community#107)
- If query_filters supplied are not allowed for either device or VM lookups, or no valid query filters, it will not attempt to fetch from devices or VMs. This should prevent devices or VMs from being fetched that do not meet the query_filters specified. (netbox-community#63)
- Properly create interface on correct device when in a VC (netbox-community#105)
- Updated _to_slug to follow same constructs NetBox uses (netbox-community#95)
- Add dns_name to netbox_ip_address (netbox-community#84)
- Add region and region_id to query_filter for Netbox Inventory plugin (netbox-community#83)
- Fixed vlan searching with vlan_group for netbox_prefix (netbox-community#85)
- Removed static choices from netbox_utils and now pulls the choices for each endpoint from the Netbox API at call time (netbox-community#67)
- Add argument specs for every module to validate data passed in. Fixes some idempotency issues. POSSIBLE BREAKING CHANGE (netbox-community#68)
- Allow name updates to manufacturers (netbox-community#76)
- Builds slug for netbox_device_type from model which is now required and slug is optional. Model will be slugified if slug is not provided BREAKING CHANGE (netbox-community#77)
- Fail module with proper exception when connection to Netbox API cannot be established (netbox-community#80)
- netbox_device_interface Lag no longer has to be a dictionary and the value of the key can be the name of the LAG (netbox-community#81)
- netbox_ip_address If no address has no CIDR notation, it will convert it into a /32 and pass to Netbox. Fixes idempotency cidr notation is not provided (netbox-community#78)
- netbox.netbox.netbox_service - Creates or removes service from Netbox
- Add error handling for invalid key_file for lookup plugin (netbox-community#52)
- Allow endpoint choices to be an integer of the choice rather than attempting to dynamically determine the choice ID (netbox-community#47)
- Fixed issue with netbox_vm_interface where it would fail if different virtual machine had the same interface name (netbox-community#40)
- Updated netbox_ip_address to find interfaces on virtual machines correctly (netbox-community#40)
- Add
primary_ip4/6
tonetbox_ip_address
(netbox-community#10)
- Changed
group
totenant_group
innetbox_tenant.py
(netbox-community#9) - Changed
role
toprefix_role
innetbox_prefix.py
(netbox-community#9) - Module failures when required fields arent provided (netbox-community#24)
- Renamed
netbox_interface
tonetbox_device_interface
(netbox-community#9)
- netbox.netbox.netbox_aggregate - Creates or removes aggregates from Netbox
- netbox.netbox.netbox_circuit - Create, update or delete circuits within Netbox
- netbox.netbox.netbox_circuit_termination - Create, update or delete circuit terminations within Netbox
- netbox.netbox.netbox_circuit_type - Create, update or delete circuit types within Netbox
- netbox.netbox.netbox_cluster - Create, update or delete clusters within Netbox
- netbox.netbox.netbox_cluster_group - Create, update or delete cluster groups within Netbox
- netbox.netbox.netbox_cluster_type - Create, update or delete cluster types within Netbox
- netbox.netbox.netbox_device_bay - Create, update or delete device bays within Netbox
- netbox.netbox.netbox_device_role - Create, update or delete devices roles within Netbox
- netbox.netbox.netbox_device_type - Create, update or delete device types within Netbox
- netbox.netbox.netbox_inventory_item - Creates or removes inventory items from Netbox
- netbox.netbox.netbox_ipam_role - Creates or removes ipam roles from Netbox
- netbox.netbox.netbox_manufacturer - Create or delete manufacturers within Netbox
- netbox.netbox.netbox_platform - Create or delete platforms within Netbox
- netbox.netbox.netbox_provider - Create, update or delete providers within Netbox
- netbox.netbox.netbox_rack - Create, update or delete racks within Netbox
- netbox.netbox.netbox_rack_group - Create, update or delete racks groups within Netbox
- netbox.netbox.netbox_rack_role - Create, update or delete racks roles within Netbox
- netbox.netbox.netbox_region - Creates or removes regions from Netbox
- netbox.netbox.netbox_rir - Create, update or delete RIRs within Netbox
- netbox.netbox.netbox_tenant - Creates or removes tenants from Netbox
- netbox.netbox.netbox_tenant_group - Creates or removes tenant groups from Netbox
- netbox.netbox.netbox_virtual_machine - Create, update or delete virtual_machines within Netbox
- netbox.netbox.netbox_vlan - Create, update or delete vlans within Netbox
- netbox.netbox.netbox_vlan_group - Create, update or delete vlans groups within Netbox
- netbox.netbox.netbox_vm_interface - Creates or removes interfaces from virtual machines in Netbox
- netbox.netbox.netbox_vrf - Create, update or delete vrfs within Netbox