nautobot 2.4.15__py3-none-any.whl → 2.4.17__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (374) hide show
  1. nautobot/apps/utils.py +2 -0
  2. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +3 -3
  3. nautobot/cloud/views.py +7 -0
  4. nautobot/core/apps/__init__.py +1 -0
  5. nautobot/core/celery/__init__.py +2 -1
  6. nautobot/core/templates/components/panel/panel.html +1 -1
  7. nautobot/core/templates/inc/paginator.html +3 -3
  8. nautobot/core/templates/inc/table.html +2 -2
  9. nautobot/core/templatetags/helpers.py +80 -6
  10. nautobot/core/testing/mixins.py +1 -1
  11. nautobot/core/testing/views.py +2 -4
  12. nautobot/core/ui/bulk_buttons.py +53 -53
  13. nautobot/core/ui/object_detail.py +9 -4
  14. nautobot/core/utils/data.py +13 -0
  15. nautobot/core/utils/deprecation.py +2 -0
  16. nautobot/dcim/migrations/0073_alter_powerport_power_factor_and_more.py +41 -0
  17. nautobot/dcim/models/device_component_templates.py +4 -2
  18. nautobot/dcim/models/device_components.py +3 -2
  19. nautobot/dcim/templates/dcim/rack_elevation_list.html +4 -4
  20. nautobot/dcim/views.py +9 -0
  21. nautobot/extras/models/customfields.py +45 -9
  22. nautobot/extras/tables.py +12 -0
  23. nautobot/extras/templates/extras/configcontext_retrieve.html +1 -1
  24. nautobot/extras/templates/extras/configcontext_update.html +49 -49
  25. nautobot/extras/templates/extras/configcontextschema_retrieve.html +47 -47
  26. nautobot/extras/templates/extras/configcontextschema_update.html +18 -18
  27. nautobot/extras/templates/extras/inc/job_table.html +1 -1
  28. nautobot/extras/templates/extras/inc/object_contact_header.html +2 -2
  29. nautobot/extras/templates/extras/marketplace.html +1 -1
  30. nautobot/extras/templates/extras/note_retrieve.html +53 -53
  31. nautobot/extras/templates/extras/secretsgroup_retrieve.html +2 -29
  32. nautobot/extras/templates/extras/tag_retrieve.html +1 -1
  33. nautobot/extras/templates/extras/tag_update.html +14 -14
  34. nautobot/extras/templates/extras/team_retrieve.html +1 -1
  35. nautobot/extras/tests/test_models.py +216 -0
  36. nautobot/extras/tests/test_plugins.py +12 -0
  37. nautobot/extras/tests/test_views.py +2 -2
  38. nautobot/extras/views.py +20 -4
  39. nautobot/ipam/apps.py +1 -0
  40. nautobot/ipam/jobs/__init__.py +10 -0
  41. nautobot/ipam/jobs/cleanup.py +296 -0
  42. nautobot/ipam/models.py +301 -178
  43. nautobot/ipam/templates/ipam/inc/ipadress_edit_header.html +3 -3
  44. nautobot/ipam/templates/ipam/inc/toggle_available.html +2 -2
  45. nautobot/ipam/templates/ipam/ipaddress_assign.html +1 -1
  46. nautobot/ipam/templates/ipam/prefix_list.html +1 -1
  47. nautobot/ipam/templates/ipam/vlan_retrieve.html +1 -77
  48. nautobot/ipam/tests/test_jobs.py +454 -0
  49. nautobot/ipam/tests/test_models.py +290 -122
  50. nautobot/ipam/tests/test_views.py +40 -164
  51. nautobot/ipam/urls.py +0 -11
  52. nautobot/ipam/utils/testing.py +9 -4
  53. nautobot/ipam/views.py +166 -235
  54. nautobot/project-static/docs/404.html +9 -6
  55. nautobot/project-static/docs/apps/index.html +9 -6
  56. nautobot/project-static/docs/apps/nautobot-apps.html +9 -6
  57. nautobot/project-static/docs/assets/javascripts/bundle.92b07e13.min.js +16 -0
  58. nautobot/project-static/docs/assets/javascripts/{bundle.50899def.min.js.map → bundle.92b07e13.min.js.map} +2 -2
  59. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js → search.973d3a69.min.js} +4 -4
  60. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js.map → search.973d3a69.min.js.map} +1 -1
  61. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +9 -6
  62. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +9 -6
  63. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +9 -6
  64. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +9 -6
  65. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +10 -7
  66. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +9 -6
  67. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +9 -6
  68. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +9 -6
  69. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +9 -6
  70. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +9 -6
  71. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +9 -6
  72. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +9 -6
  73. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +9 -6
  74. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +9 -6
  75. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +9 -6
  76. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +11 -8
  77. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +9 -6
  78. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +9 -6
  79. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +11 -8
  80. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +9 -6
  81. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +28 -9
  82. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +9 -6
  83. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +69 -7
  84. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +9 -6
  85. nautobot/project-static/docs/development/apps/api/configuration-view.html +13 -10
  86. nautobot/project-static/docs/development/apps/api/database-backend-config.html +11 -8
  87. nautobot/project-static/docs/development/apps/api/models/django-admin.html +13 -10
  88. nautobot/project-static/docs/development/apps/api/models/global-search.html +10 -7
  89. nautobot/project-static/docs/development/apps/api/models/graphql.html +18 -15
  90. nautobot/project-static/docs/development/apps/api/models/index.html +14 -11
  91. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +11 -8
  92. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +15 -12
  93. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +9 -6
  94. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +15 -12
  95. nautobot/project-static/docs/development/apps/api/platform-features/index.html +9 -6
  96. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +11 -8
  97. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +16 -13
  98. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +12 -10305
  99. nautobot/project-static/docs/development/apps/api/platform-features/prepopulating-data.html +10722 -0
  100. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +15 -12
  101. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +14 -11
  102. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +9 -6
  103. nautobot/project-static/docs/development/apps/api/prometheus.html +15 -12
  104. nautobot/project-static/docs/development/apps/api/setup.html +9 -6
  105. nautobot/project-static/docs/development/apps/api/testing.html +9 -6
  106. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +12 -9
  107. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +9 -6
  108. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +9 -6
  109. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +9 -6
  110. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +20 -17
  111. nautobot/project-static/docs/development/apps/api/views/base-template.html +9 -6
  112. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +15 -12
  113. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +14 -11
  114. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +9 -6
  115. nautobot/project-static/docs/development/apps/api/views/index.html +9 -6
  116. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +10 -7
  117. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +24 -21
  118. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +12 -9
  119. nautobot/project-static/docs/development/apps/api/views/notes.html +10 -7
  120. nautobot/project-static/docs/development/apps/api/views/rest-api.html +19 -16
  121. nautobot/project-static/docs/development/apps/api/views/urls.html +11 -8
  122. nautobot/project-static/docs/development/apps/index.html +9 -6
  123. nautobot/project-static/docs/development/apps/migration/code-updates.html +19 -16
  124. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +9 -6
  125. nautobot/project-static/docs/development/apps/migration/from-v1.html +9 -6
  126. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +22 -19
  127. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +9 -6
  128. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +9 -6
  129. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +9 -6
  130. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +9 -6
  131. nautobot/project-static/docs/development/apps/migration/ui-component-framework/breadcrumbs-titles.html +14 -11
  132. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +27 -24
  133. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +20 -17
  134. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +20 -17
  135. nautobot/project-static/docs/development/apps/porting-from-netbox.html +9 -6
  136. nautobot/project-static/docs/development/core/application-registry.html +23 -20
  137. nautobot/project-static/docs/development/core/best-practices.html +23 -20
  138. nautobot/project-static/docs/development/core/bootstrap-ui.html +9 -6
  139. nautobot/project-static/docs/development/core/caching.html +9 -6
  140. nautobot/project-static/docs/development/core/controllers.html +9 -6
  141. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +10 -7
  142. nautobot/project-static/docs/development/core/generic-views.html +9 -6
  143. nautobot/project-static/docs/development/core/getting-started.html +9 -6
  144. nautobot/project-static/docs/development/core/homepage.html +12 -9
  145. nautobot/project-static/docs/development/core/index.html +9 -6
  146. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9 -6
  147. nautobot/project-static/docs/development/core/model-checklist.html +9 -6
  148. nautobot/project-static/docs/development/core/model-features.html +11 -8
  149. nautobot/project-static/docs/development/core/natural-keys.html +21 -18
  150. nautobot/project-static/docs/development/core/navigation-menu.html +10 -7
  151. nautobot/project-static/docs/development/core/release-checklist.html +9 -6
  152. nautobot/project-static/docs/development/core/role-internals.html +9 -6
  153. nautobot/project-static/docs/development/core/settings.html +9 -6
  154. nautobot/project-static/docs/development/core/style-guide.html +32 -29
  155. nautobot/project-static/docs/development/core/templates.html +9 -6
  156. nautobot/project-static/docs/development/core/testing.html +10 -7
  157. nautobot/project-static/docs/development/core/ui-component-framework.html +36 -33
  158. nautobot/project-static/docs/development/core/user-preferences.html +9 -6
  159. nautobot/project-static/docs/development/index.html +9 -6
  160. nautobot/project-static/docs/development/jobs/getting-started.html +13 -10
  161. nautobot/project-static/docs/development/jobs/index.html +9 -6
  162. nautobot/project-static/docs/development/jobs/installation.html +23 -20
  163. nautobot/project-static/docs/development/jobs/job-extensions.html +25 -22
  164. nautobot/project-static/docs/development/jobs/job-logging.html +12 -9
  165. nautobot/project-static/docs/development/jobs/job-patterns.html +45 -42
  166. nautobot/project-static/docs/development/jobs/job-structure.html +53 -50
  167. nautobot/project-static/docs/development/jobs/migration/from-v1.html +23 -20
  168. nautobot/project-static/docs/development/jobs/testing.html +14 -11
  169. nautobot/project-static/docs/index.html +9 -6
  170. nautobot/project-static/docs/objects.inv +0 -0
  171. nautobot/project-static/docs/overview/application_stack.html +9 -6
  172. nautobot/project-static/docs/overview/design_philosophy.html +9 -6
  173. nautobot/project-static/docs/release-notes/index.html +9 -6
  174. nautobot/project-static/docs/release-notes/version-1.0.html +9 -6
  175. nautobot/project-static/docs/release-notes/version-1.1.html +9 -6
  176. nautobot/project-static/docs/release-notes/version-1.2.html +10 -7
  177. nautobot/project-static/docs/release-notes/version-1.3.html +9 -6
  178. nautobot/project-static/docs/release-notes/version-1.4.html +9 -6
  179. nautobot/project-static/docs/release-notes/version-1.5.html +13 -10
  180. nautobot/project-static/docs/release-notes/version-1.6.html +9 -6
  181. nautobot/project-static/docs/release-notes/version-2.0.html +9 -6
  182. nautobot/project-static/docs/release-notes/version-2.1.html +9 -6
  183. nautobot/project-static/docs/release-notes/version-2.2.html +9 -6
  184. nautobot/project-static/docs/release-notes/version-2.3.html +9 -6
  185. nautobot/project-static/docs/release-notes/version-2.4.html +342 -6
  186. nautobot/project-static/docs/requirements.txt +2 -2
  187. nautobot/project-static/docs/search/search_index.json +1 -1
  188. nautobot/project-static/docs/sitemap.xml +301 -301
  189. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  190. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +15 -12
  191. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +9 -6
  192. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +16 -13
  193. nautobot/project-static/docs/user-guide/administration/configuration/index.html +9 -6
  194. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +9 -6
  195. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +11 -8
  196. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +9 -6
  197. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +9 -6
  198. nautobot/project-static/docs/user-guide/administration/guides/docker.html +9 -6
  199. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +9 -6
  200. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +9 -6
  201. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +9 -6
  202. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +9 -6
  203. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +9 -6
  204. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +16 -13
  205. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +9 -6
  206. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +9 -6
  207. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +9 -6
  208. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +9 -6
  209. nautobot/project-static/docs/user-guide/administration/installation/index.html +9 -6
  210. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +9 -6
  211. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +9 -6
  212. nautobot/project-static/docs/user-guide/administration/installation/services.html +12 -9
  213. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +13 -10
  214. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +10 -7
  215. nautobot/project-static/docs/user-guide/administration/security/index.html +9 -6
  216. nautobot/project-static/docs/user-guide/administration/security/notices.html +9 -6
  217. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +9 -6
  218. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +10 -7
  219. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +9 -6
  220. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +9 -6
  221. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +9 -6
  222. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +9 -6
  223. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +9 -6
  224. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +9 -6
  225. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +9 -6
  226. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +15 -12
  227. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +9 -6
  228. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +9 -6
  229. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +9 -6
  230. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +9 -6
  231. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +9 -6
  232. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +9 -6
  233. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +9 -6
  234. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +9 -6
  235. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +9 -6
  236. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +9 -6
  237. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +9 -6
  238. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +9 -6
  239. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +9 -6
  240. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +9 -6
  241. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +9 -6
  242. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +9 -6
  243. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +9 -6
  244. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +9 -6
  245. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +9 -6
  246. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +9 -6
  247. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +9 -6
  248. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +9 -6
  249. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +9 -6
  250. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +9 -6
  251. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +13 -10
  252. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +9 -6
  253. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +9 -6
  254. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +9 -6
  255. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +9 -6
  256. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +9 -6
  257. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +9 -6
  258. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +9 -6
  259. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +9 -6
  260. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +9 -6
  261. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +9 -6
  262. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +9 -6
  263. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +9 -6
  264. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +9 -6
  265. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +9 -6
  266. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +9 -6
  267. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +9 -6
  268. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +9 -6
  269. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +9 -6
  270. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +9 -6
  271. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +9 -6
  272. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +9 -6
  273. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +9 -6
  274. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +9 -6
  275. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +9 -6
  276. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +9 -6
  277. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +9 -6
  278. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +9 -6
  279. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +9 -6
  280. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +9 -6
  281. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +9 -6
  282. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +9 -6
  283. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +9 -6
  284. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +9 -6
  285. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +11 -8
  286. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +11 -8
  287. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +41 -41
  288. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +9 -6
  289. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +197 -54
  290. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +9 -6
  291. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +9 -6
  292. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +9 -6
  293. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +9 -6
  294. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +9 -6
  295. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +9 -6
  296. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +9 -6
  297. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +9 -6
  298. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +9 -6
  299. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +9 -6
  300. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +9 -6
  301. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +9 -6
  302. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +9 -6
  303. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +9 -6
  304. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +9 -6
  305. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +9 -6
  306. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +9 -6
  307. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +9 -6
  308. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +9 -6
  309. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +9 -6
  310. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +9 -6
  311. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +9 -6
  312. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +9 -6
  313. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +9 -6
  314. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +9 -6
  315. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +9 -6
  316. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +9 -6
  317. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +9 -6
  318. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +9 -6
  319. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +9 -6
  320. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +13 -10
  321. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +9 -6
  322. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +9 -6
  323. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +9 -6
  324. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9 -6
  325. nautobot/project-static/docs/user-guide/index.html +9 -6
  326. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +9 -6
  327. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +9 -6
  328. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +10 -7
  329. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +9 -6
  330. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +9 -6
  331. nautobot/project-static/docs/user-guide/platform-functionality/events.html +11 -8
  332. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +9 -6
  333. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +9 -6
  334. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +9 -6
  335. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +9 -6
  336. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +9 -6
  337. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +9 -6
  338. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +9 -6
  339. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +9 -6
  340. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +9 -6
  341. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +9 -6
  342. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +9 -6
  343. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9 -6
  344. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +9 -6
  345. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +9 -6
  346. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +9 -6
  347. nautobot/project-static/docs/user-guide/platform-functionality/note.html +9 -6
  348. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +12 -9
  349. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +9 -6
  350. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +9 -6
  351. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +9 -6
  352. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +9 -6
  353. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +9 -6
  354. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +9 -6
  355. nautobot/project-static/docs/user-guide/platform-functionality/role.html +9 -6
  356. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +9 -6
  357. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +11 -8
  358. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +9 -6
  359. nautobot/project-static/docs/user-guide/platform-functionality/status.html +9 -6
  360. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +9 -6
  361. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +9 -6
  362. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +9 -6
  363. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +9 -6
  364. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +9 -6
  365. nautobot/project-static/fonts/UFL.txt +96 -96
  366. nautobot/project-static/js/forms.js +35 -2
  367. nautobot/virtualization/filters.py +7 -0
  368. {nautobot-2.4.15.dist-info → nautobot-2.4.17.dist-info}/METADATA +6 -6
  369. {nautobot-2.4.15.dist-info → nautobot-2.4.17.dist-info}/RECORD +373 -368
  370. nautobot/project-static/docs/assets/javascripts/bundle.50899def.min.js +0 -16
  371. {nautobot-2.4.15.dist-info → nautobot-2.4.17.dist-info}/LICENSE.txt +0 -0
  372. {nautobot-2.4.15.dist-info → nautobot-2.4.17.dist-info}/NOTICE +0 -0
  373. {nautobot-2.4.15.dist-info → nautobot-2.4.17.dist-info}/WHEEL +0 -0
  374. {nautobot-2.4.15.dist-info → nautobot-2.4.17.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7662,12 +7664,12 @@
7662
7664
 
7663
7665
 
7664
7666
  <li class="md-nav__item">
7665
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7667
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7666
7668
 
7667
7669
 
7668
7670
 
7669
7671
  <span class="md-ellipsis">
7670
- Populating Extensibility Features
7672
+ Prepopulating Data
7671
7673
 
7672
7674
  </span>
7673
7675
 
@@ -10931,7 +10933,8 @@
10931
10933
  <!-- RTD version flyout injected on live site -->
10932
10934
  <div id="readthedocs-embed-flyout"></div>
10933
10935
 
10934
- <div class="md-social">
10936
+
10937
+ <div class="md-social">
10935
10938
 
10936
10939
 
10937
10940
 
@@ -10987,10 +10990,10 @@
10987
10990
 
10988
10991
 
10989
10992
 
10990
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10993
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10991
10994
 
10992
10995
 
10993
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10996
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10994
10997
 
10995
10998
 
10996
10999
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7671,12 +7673,12 @@
7671
7673
 
7672
7674
 
7673
7675
  <li class="md-nav__item">
7674
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7676
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7675
7677
 
7676
7678
 
7677
7679
 
7678
7680
  <span class="md-ellipsis">
7679
- Populating Extensibility Features
7681
+ Prepopulating Data
7680
7682
 
7681
7683
  </span>
7682
7684
 
@@ -10930,7 +10932,8 @@
10930
10932
  <!-- RTD version flyout injected on live site -->
10931
10933
  <div id="readthedocs-embed-flyout"></div>
10932
10934
 
10933
- <div class="md-social">
10935
+
10936
+ <div class="md-social">
10934
10937
 
10935
10938
 
10936
10939
 
@@ -10986,10 +10989,10 @@
10986
10989
 
10987
10990
 
10988
10991
 
10989
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10992
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10990
10993
 
10991
10994
 
10992
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10995
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10993
10996
 
10994
10997
 
10995
10998
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7566,12 +7568,12 @@
7566
7568
 
7567
7569
 
7568
7570
  <li class="md-nav__item">
7569
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7571
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7570
7572
 
7571
7573
 
7572
7574
 
7573
7575
  <span class="md-ellipsis">
7574
- Populating Extensibility Features
7576
+ Prepopulating Data
7575
7577
 
7576
7578
  </span>
7577
7579
 
@@ -10676,7 +10678,8 @@ permissions with constraints. (<a href="https://github.com/nautobot/nautobot/iss
10676
10678
  <!-- RTD version flyout injected on live site -->
10677
10679
  <div id="readthedocs-embed-flyout"></div>
10678
10680
 
10679
- <div class="md-social">
10681
+
10682
+ <div class="md-social">
10680
10683
 
10681
10684
 
10682
10685
 
@@ -10732,10 +10735,10 @@ permissions with constraints. (<a href="https://github.com/nautobot/nautobot/iss
10732
10735
 
10733
10736
 
10734
10737
 
10735
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10738
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10736
10739
 
10737
10740
 
10738
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10741
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10739
10742
 
10740
10743
 
10741
10744
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7491,12 +7493,12 @@
7491
7493
 
7492
7494
 
7493
7495
  <li class="md-nav__item">
7494
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7496
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7495
7497
 
7496
7498
 
7497
7499
 
7498
7500
  <span class="md-ellipsis">
7499
- Populating Extensibility Features
7501
+ Prepopulating Data
7500
7502
 
7501
7503
  </span>
7502
7504
 
@@ -10391,7 +10393,8 @@
10391
10393
  <!-- RTD version flyout injected on live site -->
10392
10394
  <div id="readthedocs-embed-flyout"></div>
10393
10395
 
10394
- <div class="md-social">
10396
+
10397
+ <div class="md-social">
10395
10398
 
10396
10399
 
10397
10400
 
@@ -10447,10 +10450,10 @@
10447
10450
 
10448
10451
 
10449
10452
 
10450
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10453
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10451
10454
 
10452
10455
 
10453
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10456
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10454
10457
 
10455
10458
 
10456
10459
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7515,12 +7517,12 @@
7515
7517
 
7516
7518
 
7517
7519
  <li class="md-nav__item">
7518
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7520
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7519
7521
 
7520
7522
 
7521
7523
 
7522
7524
  <span class="md-ellipsis">
7523
- Populating Extensibility Features
7525
+ Prepopulating Data
7524
7526
 
7525
7527
  </span>
7526
7528
 
@@ -10422,7 +10424,8 @@
10422
10424
  <!-- RTD version flyout injected on live site -->
10423
10425
  <div id="readthedocs-embed-flyout"></div>
10424
10426
 
10425
- <div class="md-social">
10427
+
10428
+ <div class="md-social">
10426
10429
 
10427
10430
 
10428
10431
 
@@ -10478,10 +10481,10 @@
10478
10481
 
10479
10482
 
10480
10483
 
10481
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10484
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10482
10485
 
10483
10486
 
10484
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10487
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10485
10488
 
10486
10489
 
10487
10490
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7560,12 +7562,12 @@
7560
7562
 
7561
7563
 
7562
7564
  <li class="md-nav__item">
7563
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7565
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7564
7566
 
7565
7567
 
7566
7568
 
7567
7569
  <span class="md-ellipsis">
7568
- Populating Extensibility Features
7570
+ Prepopulating Data
7569
7571
 
7570
7572
  </span>
7571
7573
 
@@ -10520,7 +10522,8 @@
10520
10522
  <!-- RTD version flyout injected on live site -->
10521
10523
  <div id="readthedocs-embed-flyout"></div>
10522
10524
 
10523
- <div class="md-social">
10525
+
10526
+ <div class="md-social">
10524
10527
 
10525
10528
 
10526
10529
 
@@ -10576,10 +10579,10 @@
10576
10579
 
10577
10580
 
10578
10581
 
10579
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10582
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10580
10583
 
10581
10584
 
10582
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10585
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10583
10586
 
10584
10587
 
10585
10588
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7476,12 +7478,12 @@
7476
7478
 
7477
7479
 
7478
7480
  <li class="md-nav__item">
7479
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7481
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7480
7482
 
7481
7483
 
7482
7484
 
7483
7485
  <span class="md-ellipsis">
7484
- Populating Extensibility Features
7486
+ Prepopulating Data
7485
7487
 
7486
7488
  </span>
7487
7489
 
@@ -10282,14 +10284,14 @@
10282
10284
  </code></pre></div>
10283
10285
  <p>At a high level this takes care of everything you'd need for standard Nautobot deployment, but what if you're creating an App and you have a requirement for the data to be stored in an additional directory?</p>
10284
10286
  <p>This is where using the generic <code>FileField</code> provided by Django comes into play. For example, lets say a new App is being developed and storing the software images is one of the key requirements. The model might look something like the snippet below:</p>
10285
- <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="k">class</span> <span class="nc">SoftwareFileAttachment</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
10287
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="k">class</span><span class="w"> </span><span class="nc">SoftwareFileAttachment</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
10286
10288
  <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;An uploaded software bin file for OS upgrades.&quot;&quot;&quot;</span>
10287
10289
  <a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a>
10288
10290
  <a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">FileField</span><span class="p">(</span><span class="n">upload_to</span><span class="o">=</span><span class="s2">&quot;uploads/&quot;</span><span class="p">)</span>
10289
10291
  <a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
10290
10292
  <a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a> <span class="n">created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">auto_now_add</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
10291
10293
  <a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a>
10292
- <a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
10294
+ <a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
10293
10295
  <a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;String value for HTML rendering.&quot;&quot;&quot;</span>
10294
10296
  <a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">file</span><span class="si">}</span><span class="s2">&quot;</span>
10295
10297
  </code></pre></div>
@@ -10297,23 +10299,23 @@
10297
10299
  <p>The nice thing about using <code>django-storages</code> is the ease of use and the ability to easily extend storage backends. One use case for extending storage backends that has been used is to store certain App data attachments in its own S3 bucket with different permissions. If we take this concept to the example of <code>SoftwareFileAttachment</code> we can put the software images in their own S3 bucket by creating a custom storage backend that we can pass to our <code>models.FileField</code> model field.</p>
10298
10300
  <p>For this example I created a simple Python file called <code>customer_storage.py</code> in the root of my App.</p>
10299
10301
  <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="sd">&quot;&quot;&quot;Example of a custom extension to support flexible s3 storage.&quot;&quot;&quot;</span>
10300
- <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="kn">from</span> <span class="nn">storages.backends.s3</span> <span class="kn">import</span> <span class="n">S3Storage</span>
10302
+ <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">storages.backends.s3</span><span class="w"> </span><span class="kn">import</span> <span class="n">S3Storage</span>
10301
10303
  <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a>
10302
- <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="k">class</span> <span class="nc">MediaStorage</span><span class="p">(</span><span class="n">S3Storage</span><span class="p">):</span>
10304
+ <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="k">class</span><span class="w"> </span><span class="nc">MediaStorage</span><span class="p">(</span><span class="n">S3Storage</span><span class="p">):</span>
10303
10305
  <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a> <span class="n">bucket_name</span> <span class="o">=</span> <span class="s1">&#39;nautobot-sw-media&#39;</span>
10304
10306
  <a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a> <span class="n">location</span> <span class="o">=</span> <span class="s2">&quot;software_images&quot;</span> <span class="c1"># store files under directory `software_images/` in bucket `nautobot-sw-media`</span>
10305
10307
  </code></pre></div>
10306
10308
  <p>In the model you just need to pass in the <code>storage=</code> argument.</p>
10307
- <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="kn">from</span> <span class="nn">custom_config_app.custom_storage</span> <span class="kn">import</span> <span class="n">MediaStorage</span>
10309
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">custom_config_app.custom_storage</span><span class="w"> </span><span class="kn">import</span> <span class="n">MediaStorage</span>
10308
10310
  <a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a>
10309
- <a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="k">class</span> <span class="nc">SoftwareFileAttachment</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
10311
+ <a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="k">class</span><span class="w"> </span><span class="nc">SoftwareFileAttachment</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
10310
10312
  <a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;An uploaded software bin file for OS upgrades.&quot;&quot;&quot;</span>
10311
10313
  <a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a>
10312
10314
  <a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">FileField</span><span class="p">(</span><span class="n">upload_to</span><span class="o">=</span><span class="s2">&quot;uploads/&quot;</span><span class="p">,</span> <span class="n">storage</span><span class="o">=</span><span class="n">MediaStorage</span><span class="p">)</span>
10313
10315
  <a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
10314
10316
  <a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a> <span class="n">created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">auto_now_add</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
10315
10317
  <a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a>
10316
- <a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
10318
+ <a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
10317
10319
  <a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;String value for HTML rendering.&quot;&quot;&quot;</span>
10318
10320
  <a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">file</span><span class="si">}</span><span class="s2">&quot;</span>
10319
10321
  </code></pre></div>
@@ -10410,7 +10412,8 @@
10410
10412
  <!-- RTD version flyout injected on live site -->
10411
10413
  <div id="readthedocs-embed-flyout"></div>
10412
10414
 
10413
- <div class="md-social">
10415
+
10416
+ <div class="md-social">
10414
10417
 
10415
10418
 
10416
10419
 
@@ -10466,10 +10469,10 @@
10466
10469
 
10467
10470
 
10468
10471
 
10469
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10472
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10470
10473
 
10471
10474
 
10472
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10475
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10473
10476
 
10474
10477
 
10475
10478
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7458,12 +7460,12 @@
7458
7460
 
7459
7461
 
7460
7462
  <li class="md-nav__item">
7461
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7463
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7462
7464
 
7463
7465
 
7464
7466
 
7465
7467
  <span class="md-ellipsis">
7466
- Populating Extensibility Features
7468
+ Prepopulating Data
7467
7469
 
7468
7470
  </span>
7469
7471
 
@@ -10430,7 +10432,8 @@ Since Nginx is communicating with the Nautobot application via HTTP, the second
10430
10432
  <!-- RTD version flyout injected on live site -->
10431
10433
  <div id="readthedocs-embed-flyout"></div>
10432
10434
 
10433
- <div class="md-social">
10435
+
10436
+ <div class="md-social">
10434
10437
 
10435
10438
 
10436
10439
 
@@ -10486,10 +10489,10 @@ Since Nginx is communicating with the Nautobot application via HTTP, the second
10486
10489
 
10487
10490
 
10488
10491
 
10489
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10492
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10490
10493
 
10491
10494
 
10492
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10495
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10493
10496
 
10494
10497
 
10495
10498
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7494,12 +7496,12 @@
7494
7496
 
7495
7497
 
7496
7498
  <li class="md-nav__item">
7497
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7499
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7498
7500
 
7499
7501
 
7500
7502
 
7501
7503
  <span class="md-ellipsis">
7502
- Populating Extensibility Features
7504
+ Prepopulating Data
7503
7505
 
7504
7506
  </span>
7505
7507
 
@@ -10408,7 +10410,8 @@
10408
10410
  <!-- RTD version flyout injected on live site -->
10409
10411
  <div id="readthedocs-embed-flyout"></div>
10410
10412
 
10411
- <div class="md-social">
10413
+
10414
+ <div class="md-social">
10412
10415
 
10413
10416
 
10414
10417
 
@@ -10464,10 +10467,10 @@
10464
10467
 
10465
10468
 
10466
10469
 
10467
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10470
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10468
10471
 
10469
10472
 
10470
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10473
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10471
10474
 
10472
10475
 
10473
10476
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});