nautobot 1.6.31__py3-none-any.whl → 1.6.32__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.
- nautobot/circuits/forms.py +6 -0
- nautobot/circuits/views.py +1 -0
- nautobot/core/graphql/schema.py +3 -1
- nautobot/core/graphql/types.py +10 -0
- nautobot/core/models/__init__.py +2 -0
- nautobot/core/templates/generic/object_list.html +1 -1
- nautobot/core/tests/test_views.py +73 -0
- nautobot/core/urls.py +3 -3
- nautobot/core/views/__init__.py +21 -0
- nautobot/dcim/forms.py +29 -0
- nautobot/dcim/models/device_component_templates.py +4 -0
- nautobot/dcim/models/device_components.py +4 -0
- nautobot/dcim/models/devices.py +2 -0
- nautobot/dcim/views.py +4 -0
- nautobot/extras/forms/forms.py +12 -0
- nautobot/extras/models/customfields.py +2 -0
- nautobot/extras/models/datasources.py +2 -0
- nautobot/extras/models/groups.py +8 -0
- nautobot/extras/models/jobs.py +10 -0
- nautobot/extras/models/models.py +2 -0
- nautobot/extras/models/secrets.py +8 -2
- nautobot/extras/secrets/__init__.py +14 -0
- nautobot/extras/tests/test_models.py +26 -0
- nautobot/extras/views.py +1 -0
- nautobot/ipam/filters.py +1 -1
- nautobot/ipam/forms.py +6 -0
- nautobot/ipam/models.py +8 -0
- nautobot/ipam/views.py +1 -0
- nautobot/project-static/docs/404.html +62 -0
- nautobot/project-static/docs/additional-features/caching.html +62 -0
- nautobot/project-static/docs/additional-features/change-logging.html +62 -0
- nautobot/project-static/docs/additional-features/config-contexts.html +62 -0
- nautobot/project-static/docs/additional-features/graphql.html +62 -0
- nautobot/project-static/docs/additional-features/healthcheck.html +62 -0
- nautobot/project-static/docs/additional-features/job-scheduling-and-approvals.html +63 -1
- nautobot/project-static/docs/additional-features/jobs.html +62 -0
- nautobot/project-static/docs/additional-features/napalm.html +62 -0
- nautobot/project-static/docs/additional-features/prometheus-metrics.html +62 -0
- nautobot/project-static/docs/additional-features/template-filters.html +62 -0
- nautobot/project-static/docs/administration/celery-queues.html +63 -1
- nautobot/project-static/docs/administration/nautobot-server.html +62 -0
- nautobot/project-static/docs/administration/nautobot-shell.html +62 -0
- nautobot/project-static/docs/administration/permissions.html +62 -0
- nautobot/project-static/docs/administration/replicating-nautobot.html +62 -0
- nautobot/project-static/docs/administration/request-profiling.html +62 -0
- nautobot/project-static/docs/administration/security/index.html +4407 -0
- nautobot/project-static/docs/administration/security/notices.html +4797 -0
- nautobot/project-static/docs/apps/index.html +62 -0
- nautobot/project-static/docs/apps/nautobot-apps.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +83 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +67 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +140 -52
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +3203 -3101
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +210 -148
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +62 -0
- nautobot/project-static/docs/configuration/authentication/ldap.html +62 -0
- nautobot/project-static/docs/configuration/authentication/remote.html +62 -0
- nautobot/project-static/docs/configuration/authentication/sso.html +62 -0
- nautobot/project-static/docs/configuration/index.html +62 -0
- nautobot/project-static/docs/configuration/optional-settings.html +67 -5
- nautobot/project-static/docs/configuration/required-settings.html +62 -0
- nautobot/project-static/docs/core-functionality/circuits.html +62 -0
- nautobot/project-static/docs/core-functionality/device-types.html +62 -0
- nautobot/project-static/docs/core-functionality/devices.html +62 -0
- nautobot/project-static/docs/core-functionality/ipam.html +62 -0
- nautobot/project-static/docs/core-functionality/power.html +62 -0
- nautobot/project-static/docs/core-functionality/secrets.html +62 -0
- nautobot/project-static/docs/core-functionality/services.html +62 -0
- nautobot/project-static/docs/core-functionality/sites-and-racks.html +62 -0
- nautobot/project-static/docs/core-functionality/tenancy.html +62 -0
- nautobot/project-static/docs/core-functionality/virtualization.html +62 -0
- nautobot/project-static/docs/core-functionality/vlans.html +62 -0
- nautobot/project-static/docs/development/application-registry.html +62 -0
- nautobot/project-static/docs/development/best-practices.html +62 -0
- nautobot/project-static/docs/development/docker-compose-advanced-use-cases.html +62 -0
- nautobot/project-static/docs/development/extending-models.html +62 -0
- nautobot/project-static/docs/development/generic-views.html +62 -0
- nautobot/project-static/docs/development/getting-started.html +63 -1
- nautobot/project-static/docs/development/homepage.html +62 -0
- nautobot/project-static/docs/development/index.html +62 -0
- nautobot/project-static/docs/development/navigation-menu.html +62 -0
- nautobot/project-static/docs/development/release-checklist.html +62 -0
- nautobot/project-static/docs/development/style-guide.html +62 -0
- nautobot/project-static/docs/development/templates.html +62 -0
- nautobot/project-static/docs/development/testing.html +62 -0
- nautobot/project-static/docs/development/user-preferences.html +62 -0
- nautobot/project-static/docs/docker/index.html +62 -0
- nautobot/project-static/docs/index.html +62 -0
- nautobot/project-static/docs/installation/centos.html +62 -0
- nautobot/project-static/docs/installation/external-authentication.html +62 -0
- nautobot/project-static/docs/installation/http-server.html +62 -0
- nautobot/project-static/docs/installation/index.html +62 -0
- nautobot/project-static/docs/installation/migrating-from-netbox.html +62 -0
- nautobot/project-static/docs/installation/migrating-from-postgresql.html +62 -0
- nautobot/project-static/docs/installation/nautobot.html +62 -0
- nautobot/project-static/docs/installation/selinux-troubleshooting.html +62 -0
- nautobot/project-static/docs/installation/services.html +62 -0
- nautobot/project-static/docs/installation/ubuntu.html +62 -0
- nautobot/project-static/docs/installation/upgrading.html +62 -0
- nautobot/project-static/docs/models/circuits/circuit.html +62 -0
- nautobot/project-static/docs/models/circuits/circuittermination.html +62 -0
- nautobot/project-static/docs/models/circuits/circuittype.html +62 -0
- nautobot/project-static/docs/models/circuits/provider.html +62 -0
- nautobot/project-static/docs/models/circuits/providernetwork.html +62 -0
- nautobot/project-static/docs/models/dcim/cable.html +62 -0
- nautobot/project-static/docs/models/dcim/consoleport.html +62 -0
- nautobot/project-static/docs/models/dcim/consoleporttemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/consoleserverport.html +62 -0
- nautobot/project-static/docs/models/dcim/consoleserverporttemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/device.html +62 -0
- nautobot/project-static/docs/models/dcim/devicebay.html +62 -0
- nautobot/project-static/docs/models/dcim/devicebaytemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/deviceredundancygroup.html +62 -0
- nautobot/project-static/docs/models/dcim/devicerole.html +62 -0
- nautobot/project-static/docs/models/dcim/devicetype.html +62 -0
- nautobot/project-static/docs/models/dcim/frontport.html +62 -0
- nautobot/project-static/docs/models/dcim/frontporttemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/interface.html +62 -0
- nautobot/project-static/docs/models/dcim/interfaceredundancygroup.html +62 -0
- nautobot/project-static/docs/models/dcim/interfacetemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/inventoryitem.html +62 -0
- nautobot/project-static/docs/models/dcim/location.html +62 -0
- nautobot/project-static/docs/models/dcim/locationtype.html +62 -0
- nautobot/project-static/docs/models/dcim/manufacturer.html +62 -0
- nautobot/project-static/docs/models/dcim/platform.html +62 -0
- nautobot/project-static/docs/models/dcim/powerfeed.html +62 -0
- nautobot/project-static/docs/models/dcim/poweroutlet.html +62 -0
- nautobot/project-static/docs/models/dcim/poweroutlettemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/powerpanel.html +62 -0
- nautobot/project-static/docs/models/dcim/powerport.html +62 -0
- nautobot/project-static/docs/models/dcim/powerporttemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/rack.html +62 -0
- nautobot/project-static/docs/models/dcim/rackgroup.html +62 -0
- nautobot/project-static/docs/models/dcim/rackreservation.html +62 -0
- nautobot/project-static/docs/models/dcim/rackrole.html +62 -0
- nautobot/project-static/docs/models/dcim/rearport.html +62 -0
- nautobot/project-static/docs/models/dcim/rearporttemplate.html +62 -0
- nautobot/project-static/docs/models/dcim/region.html +62 -0
- nautobot/project-static/docs/models/dcim/site.html +62 -0
- nautobot/project-static/docs/models/dcim/virtualchassis.html +62 -0
- nautobot/project-static/docs/models/extras/computedfield.html +63 -1
- nautobot/project-static/docs/models/extras/configcontext.html +62 -0
- nautobot/project-static/docs/models/extras/configcontextschema.html +62 -0
- nautobot/project-static/docs/models/extras/customfield.html +62 -0
- nautobot/project-static/docs/models/extras/customlink.html +63 -1
- nautobot/project-static/docs/models/extras/dynamicgroup.html +62 -0
- nautobot/project-static/docs/models/extras/exporttemplate.html +62 -0
- nautobot/project-static/docs/models/extras/gitrepository.html +62 -0
- nautobot/project-static/docs/models/extras/graphqlquery.html +62 -0
- nautobot/project-static/docs/models/extras/imageattachment.html +62 -0
- nautobot/project-static/docs/models/extras/job.html +62 -0
- nautobot/project-static/docs/models/extras/jobbutton.html +63 -1
- nautobot/project-static/docs/models/extras/jobhook.html +62 -0
- nautobot/project-static/docs/models/extras/joblogentry.html +62 -0
- nautobot/project-static/docs/models/extras/jobresult.html +62 -0
- nautobot/project-static/docs/models/extras/note.html +62 -0
- nautobot/project-static/docs/models/extras/relationship.html +62 -0
- nautobot/project-static/docs/models/extras/secret.html +62 -0
- nautobot/project-static/docs/models/extras/secretsgroup.html +62 -0
- nautobot/project-static/docs/models/extras/status.html +62 -0
- nautobot/project-static/docs/models/extras/tag.html +62 -0
- nautobot/project-static/docs/models/extras/webhook.html +62 -0
- nautobot/project-static/docs/models/ipam/aggregate.html +62 -0
- nautobot/project-static/docs/models/ipam/ipaddress.html +62 -0
- nautobot/project-static/docs/models/ipam/prefix.html +62 -0
- nautobot/project-static/docs/models/ipam/rir.html +62 -0
- nautobot/project-static/docs/models/ipam/role.html +62 -0
- nautobot/project-static/docs/models/ipam/routetarget.html +62 -0
- nautobot/project-static/docs/models/ipam/service.html +62 -0
- nautobot/project-static/docs/models/ipam/vlan.html +62 -0
- nautobot/project-static/docs/models/ipam/vlangroup.html +62 -0
- nautobot/project-static/docs/models/ipam/vrf.html +62 -0
- nautobot/project-static/docs/models/tenancy/tenant.html +62 -0
- nautobot/project-static/docs/models/tenancy/tenantgroup.html +62 -0
- nautobot/project-static/docs/models/users/objectpermission.html +62 -0
- nautobot/project-static/docs/models/users/token.html +62 -0
- nautobot/project-static/docs/models/virtualization/cluster.html +62 -0
- nautobot/project-static/docs/models/virtualization/clustergroup.html +62 -0
- nautobot/project-static/docs/models/virtualization/clustertype.html +62 -0
- nautobot/project-static/docs/models/virtualization/virtualmachine.html +62 -0
- nautobot/project-static/docs/models/virtualization/vminterface.html +62 -0
- nautobot/project-static/docs/plugins/development.html +63 -1
- nautobot/project-static/docs/plugins/index.html +62 -0
- nautobot/project-static/docs/plugins/porting-from-netbox.html +62 -0
- nautobot/project-static/docs/release-notes/index.html +62 -0
- nautobot/project-static/docs/release-notes/version-1.0.html +62 -0
- nautobot/project-static/docs/release-notes/version-1.1.html +64 -2
- nautobot/project-static/docs/release-notes/version-1.2.html +63 -1
- nautobot/project-static/docs/release-notes/version-1.3.html +62 -0
- nautobot/project-static/docs/release-notes/version-1.4.html +62 -0
- nautobot/project-static/docs/release-notes/version-1.5.html +62 -0
- nautobot/project-static/docs/release-notes/version-1.6.html +354 -188
- nautobot/project-static/docs/rest-api/authentication.html +62 -0
- nautobot/project-static/docs/rest-api/filtering.html +62 -0
- nautobot/project-static/docs/rest-api/overview.html +62 -0
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +197 -187
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guides/custom-fields.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/creating-devices.html +63 -1
- nautobot/project-static/docs/user-guides/getting-started/index.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/interfaces.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/ipam.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/platforms.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/regions.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/search-bar.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/tenants.html +62 -0
- nautobot/project-static/docs/user-guides/getting-started/vlans-and-vlan-groups.html +63 -1
- nautobot/project-static/docs/user-guides/git-data-source.html +62 -0
- nautobot/project-static/docs/user-guides/graphql.html +62 -0
- nautobot/project-static/docs/user-guides/relationships.html +62 -0
- nautobot/project-static/docs/user-guides/s3-django-storage.html +62 -0
- nautobot/tenancy/forms.py +10 -0
- nautobot/tenancy/views.py +1 -0
- nautobot/users/models.py +4 -0
- nautobot/utilities/testing/views.py +17 -1
- nautobot/utilities/tests/test_jinja_filters.py +26 -2
- nautobot/utilities/utils.py +14 -0
- nautobot/virtualization/forms.py +12 -0
- nautobot/virtualization/views.py +2 -0
- {nautobot-1.6.31.dist-info → nautobot-1.6.32.dist-info}/METADATA +1 -1
- {nautobot-1.6.31.dist-info → nautobot-1.6.32.dist-info}/RECORD +235 -233
- {nautobot-1.6.31.dist-info → nautobot-1.6.32.dist-info}/LICENSE.txt +0 -0
- {nautobot-1.6.31.dist-info → nautobot-1.6.32.dist-info}/NOTICE +0 -0
- {nautobot-1.6.31.dist-info → nautobot-1.6.32.dist-info}/WHEEL +0 -0
- {nautobot-1.6.31.dist-info → nautobot-1.6.32.dist-info}/entry_points.txt +0 -0
|
@@ -869,6 +869,68 @@
|
|
|
869
869
|
|
|
870
870
|
|
|
871
871
|
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_7" >
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
<label class="md-nav__link" for="__nav_2_5_7" id="__nav_2_5_7_label" tabindex="0">
|
|
888
|
+
Security
|
|
889
|
+
<span class="md-nav__icon md-icon"></span>
|
|
890
|
+
</label>
|
|
891
|
+
|
|
892
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_7_label" aria-expanded="false">
|
|
893
|
+
<label class="md-nav__title" for="__nav_2_5_7">
|
|
894
|
+
<span class="md-nav__icon md-icon"></span>
|
|
895
|
+
Security
|
|
896
|
+
</label>
|
|
897
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
<li class="md-nav__item">
|
|
905
|
+
<a href="../../../administration/security/index.html" class="md-nav__link">
|
|
906
|
+
Nautobot Security
|
|
907
|
+
</a>
|
|
908
|
+
</li>
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
<li class="md-nav__item">
|
|
919
|
+
<a href="../../../administration/security/notices.html" class="md-nav__link">
|
|
920
|
+
Notices
|
|
921
|
+
</a>
|
|
922
|
+
</li>
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
</ul>
|
|
928
|
+
</nav>
|
|
929
|
+
</li>
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
|
|
872
934
|
</ul>
|
|
873
935
|
</nav>
|
|
874
936
|
</li>
|
|
@@ -4461,7 +4523,9 @@ can be used for the same purpose in most cases.</p>
|
|
|
4461
4523
|
<span class="normal"><a href="#__codelineno-0-77">77</a></span>
|
|
4462
4524
|
<span class="normal"><a href="#__codelineno-0-78">78</a></span>
|
|
4463
4525
|
<span class="normal"><a href="#__codelineno-0-79">79</a></span>
|
|
4464
|
-
<span class="normal"><a href="#__codelineno-0-80">80</a></span
|
|
4526
|
+
<span class="normal"><a href="#__codelineno-0-80">80</a></span>
|
|
4527
|
+
<span class="normal"><a href="#__codelineno-0-81">81</a></span>
|
|
4528
|
+
<span class="normal"><a href="#__codelineno-0-82">82</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-12" name="__codelineno-0-12"></a><span class="k">class</span> <span class="nc">BaseModel</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
|
|
4465
4529
|
<a id="__codelineno-0-13" name="__codelineno-0-13"></a><span class="w"> </span><span class="sd">"""</span>
|
|
4466
4530
|
<a id="__codelineno-0-14" name="__codelineno-0-14"></a><span class="sd"> Base model class that all models should inherit from.</span>
|
|
4467
4531
|
<a id="__codelineno-0-15" name="__codelineno-0-15"></a>
|
|
@@ -4530,6 +4594,8 @@ can be used for the same purpose in most cases.</p>
|
|
|
4530
4594
|
<a id="__codelineno-0-78" name="__codelineno-0-78"></a><span class="sd"> """</span>
|
|
4531
4595
|
<a id="__codelineno-0-79" name="__codelineno-0-79"></a> <span class="bp">self</span><span class="o">.</span><span class="n">full_clean</span><span class="p">()</span>
|
|
4532
4596
|
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="bp">self</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
4597
|
+
<a id="__codelineno-0-81" name="__codelineno-0-81"></a>
|
|
4598
|
+
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="n">validated_save</span><span class="o">.</span><span class="n">alters_data</span> <span class="o">=</span> <span class="kc">True</span>
|
|
4533
4599
|
</code></pre></div></td></tr></table></div>
|
|
4534
4600
|
</details>
|
|
4535
4601
|
|
|
@@ -869,6 +869,68 @@
|
|
|
869
869
|
|
|
870
870
|
|
|
871
871
|
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_7" >
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
<label class="md-nav__link" for="__nav_2_5_7" id="__nav_2_5_7_label" tabindex="0">
|
|
888
|
+
Security
|
|
889
|
+
<span class="md-nav__icon md-icon"></span>
|
|
890
|
+
</label>
|
|
891
|
+
|
|
892
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_7_label" aria-expanded="false">
|
|
893
|
+
<label class="md-nav__title" for="__nav_2_5_7">
|
|
894
|
+
<span class="md-nav__icon md-icon"></span>
|
|
895
|
+
Security
|
|
896
|
+
</label>
|
|
897
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
<li class="md-nav__item">
|
|
905
|
+
<a href="../../../administration/security/index.html" class="md-nav__link">
|
|
906
|
+
Nautobot Security
|
|
907
|
+
</a>
|
|
908
|
+
</li>
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
<li class="md-nav__item">
|
|
919
|
+
<a href="../../../administration/security/notices.html" class="md-nav__link">
|
|
920
|
+
Notices
|
|
921
|
+
</a>
|
|
922
|
+
</li>
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
</ul>
|
|
928
|
+
</nav>
|
|
929
|
+
</li>
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
|
|
872
934
|
</ul>
|
|
873
935
|
</nav>
|
|
874
936
|
</li>
|
|
@@ -4164,9 +4226,7 @@
|
|
|
4164
4226
|
|
|
4165
4227
|
<details class="quote">
|
|
4166
4228
|
<summary>Source code in <code>nautobot/extras/secrets/__init__.py</code></summary>
|
|
4167
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
4168
|
-
<span class="normal"><a href="#__codelineno-0-9"> 9</a></span>
|
|
4169
|
-
<span class="normal"><a href="#__codelineno-0-10">10</a></span>
|
|
4229
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-10">10</a></span>
|
|
4170
4230
|
<span class="normal"><a href="#__codelineno-0-11">11</a></span>
|
|
4171
4231
|
<span class="normal"><a href="#__codelineno-0-12">12</a></span>
|
|
4172
4232
|
<span class="normal"><a href="#__codelineno-0-13">13</a></span>
|
|
@@ -4198,41 +4258,67 @@
|
|
|
4198
4258
|
<span class="normal"><a href="#__codelineno-0-39">39</a></span>
|
|
4199
4259
|
<span class="normal"><a href="#__codelineno-0-40">40</a></span>
|
|
4200
4260
|
<span class="normal"><a href="#__codelineno-0-41">41</a></span>
|
|
4201
|
-
<span class="normal"><a href="#__codelineno-0-42">42</a></span
|
|
4202
|
-
<
|
|
4203
|
-
<
|
|
4204
|
-
<
|
|
4205
|
-
<
|
|
4206
|
-
<
|
|
4207
|
-
<
|
|
4208
|
-
<
|
|
4209
|
-
<
|
|
4210
|
-
<
|
|
4211
|
-
<
|
|
4212
|
-
<
|
|
4213
|
-
<
|
|
4214
|
-
<
|
|
4215
|
-
<a id="__codelineno-0-
|
|
4216
|
-
<a id="__codelineno-0-
|
|
4217
|
-
<a id="__codelineno-0-
|
|
4218
|
-
<a id="__codelineno-0-
|
|
4219
|
-
<a id="__codelineno-0-
|
|
4220
|
-
<a id="__codelineno-0-
|
|
4221
|
-
<a id="__codelineno-0-
|
|
4222
|
-
<a id="__codelineno-0-
|
|
4223
|
-
<a id="__codelineno-0-
|
|
4224
|
-
<a id="__codelineno-0-
|
|
4225
|
-
<a id="__codelineno-0-
|
|
4226
|
-
<a id="__codelineno-0-
|
|
4227
|
-
<a id="__codelineno-0-
|
|
4228
|
-
<a id="__codelineno-0-
|
|
4229
|
-
<a id="__codelineno-0-
|
|
4230
|
-
<a id="__codelineno-0-
|
|
4231
|
-
<a id="__codelineno-0-
|
|
4232
|
-
<a id="__codelineno-0-
|
|
4233
|
-
<a id="__codelineno-0-
|
|
4234
|
-
<a id="__codelineno-0-
|
|
4235
|
-
<a id="__codelineno-0-
|
|
4261
|
+
<span class="normal"><a href="#__codelineno-0-42">42</a></span>
|
|
4262
|
+
<span class="normal"><a href="#__codelineno-0-43">43</a></span>
|
|
4263
|
+
<span class="normal"><a href="#__codelineno-0-44">44</a></span>
|
|
4264
|
+
<span class="normal"><a href="#__codelineno-0-45">45</a></span>
|
|
4265
|
+
<span class="normal"><a href="#__codelineno-0-46">46</a></span>
|
|
4266
|
+
<span class="normal"><a href="#__codelineno-0-47">47</a></span>
|
|
4267
|
+
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
|
|
4268
|
+
<span class="normal"><a href="#__codelineno-0-49">49</a></span>
|
|
4269
|
+
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
|
|
4270
|
+
<span class="normal"><a href="#__codelineno-0-51">51</a></span>
|
|
4271
|
+
<span class="normal"><a href="#__codelineno-0-52">52</a></span>
|
|
4272
|
+
<span class="normal"><a href="#__codelineno-0-53">53</a></span>
|
|
4273
|
+
<span class="normal"><a href="#__codelineno-0-54">54</a></span>
|
|
4274
|
+
<span class="normal"><a href="#__codelineno-0-55">55</a></span>
|
|
4275
|
+
<span class="normal"><a href="#__codelineno-0-56">56</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-10" name="__codelineno-0-10"></a><span class="k">class</span> <span class="nc">SecretsProvider</span><span class="p">(</span><span class="n">ABC</span><span class="p">):</span>
|
|
4276
|
+
<a id="__codelineno-0-11" name="__codelineno-0-11"></a><span class="w"> </span><span class="sd">"""Abstract base class for concrete providers of secret retrieval features."""</span>
|
|
4277
|
+
<a id="__codelineno-0-12" name="__codelineno-0-12"></a>
|
|
4278
|
+
<a id="__codelineno-0-13" name="__codelineno-0-13"></a> <span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
4279
|
+
<a id="__codelineno-0-14" name="__codelineno-0-14"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">"<</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">>"</span>
|
|
4280
|
+
<a id="__codelineno-0-15" name="__codelineno-0-15"></a>
|
|
4281
|
+
<a id="__codelineno-0-16" name="__codelineno-0-16"></a> <span class="nd">@property</span>
|
|
4282
|
+
<a id="__codelineno-0-17" name="__codelineno-0-17"></a> <span class="nd">@abstractmethod</span>
|
|
4283
|
+
<a id="__codelineno-0-18" name="__codelineno-0-18"></a> <span class="k">def</span> <span class="nf">slug</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
4284
|
+
<a id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="w"> </span><span class="sd">"""String uniquely identifying this class; will be used as a key to look up the class owning a given Secret."""</span>
|
|
4285
|
+
<a id="__codelineno-0-20" name="__codelineno-0-20"></a>
|
|
4286
|
+
<a id="__codelineno-0-21" name="__codelineno-0-21"></a> <span class="nd">@property</span>
|
|
4287
|
+
<a id="__codelineno-0-22" name="__codelineno-0-22"></a> <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
4288
|
+
<a id="__codelineno-0-23" name="__codelineno-0-23"></a><span class="w"> </span><span class="sd">"""Human-friendly name for this class, falling back to the slug if not overridden."""</span>
|
|
4289
|
+
<a id="__codelineno-0-24" name="__codelineno-0-24"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">slug</span>
|
|
4290
|
+
<a id="__codelineno-0-25" name="__codelineno-0-25"></a>
|
|
4291
|
+
<a id="__codelineno-0-26" name="__codelineno-0-26"></a> <span class="nd">@property</span>
|
|
4292
|
+
<a id="__codelineno-0-27" name="__codelineno-0-27"></a> <span class="nd">@abstractmethod</span>
|
|
4293
|
+
<a id="__codelineno-0-28" name="__codelineno-0-28"></a> <span class="k">def</span> <span class="nf">ParametersForm</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
4294
|
+
<a id="__codelineno-0-29" name="__codelineno-0-29"></a><span class="w"> </span><span class="sd">"""Django Form class with inputs for describing the parameter(s) required for a Secret to use this Provider.</span>
|
|
4295
|
+
<a id="__codelineno-0-30" name="__codelineno-0-30"></a>
|
|
4296
|
+
<a id="__codelineno-0-31" name="__codelineno-0-31"></a><span class="sd"> The clean() method may be implemented to provide additional input validation.</span>
|
|
4297
|
+
<a id="__codelineno-0-32" name="__codelineno-0-32"></a><span class="sd"> """</span>
|
|
4298
|
+
<a id="__codelineno-0-33" name="__codelineno-0-33"></a>
|
|
4299
|
+
<a id="__codelineno-0-34" name="__codelineno-0-34"></a> <span class="nd">@classmethod</span>
|
|
4300
|
+
<a id="__codelineno-0-35" name="__codelineno-0-35"></a> <span class="nd">@abstractmethod</span>
|
|
4301
|
+
<a id="__codelineno-0-36" name="__codelineno-0-36"></a> <span class="nd">@unsafe</span>
|
|
4302
|
+
<a id="__codelineno-0-37" name="__codelineno-0-37"></a> <span class="k">def</span> <span class="nf">get_value_for_secret</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">secret</span><span class="p">,</span> <span class="n">obj</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
4303
|
+
<a id="__codelineno-0-38" name="__codelineno-0-38"></a><span class="w"> </span><span class="sd">"""Retrieve the stored value described by the given Secret record.</span>
|
|
4304
|
+
<a id="__codelineno-0-39" name="__codelineno-0-39"></a>
|
|
4305
|
+
<a id="__codelineno-0-40" name="__codelineno-0-40"></a><span class="sd"> May raise a SecretError or one of its subclasses if an error occurs.</span>
|
|
4306
|
+
<a id="__codelineno-0-41" name="__codelineno-0-41"></a>
|
|
4307
|
+
<a id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="sd"> Args:</span>
|
|
4308
|
+
<a id="__codelineno-0-43" name="__codelineno-0-43"></a><span class="sd"> secret (nautobot.extras.models.Secret): DB entry describing the secret or family of secrets in question.</span>
|
|
4309
|
+
<a id="__codelineno-0-44" name="__codelineno-0-44"></a><span class="sd"> obj (object): Django model instance or similar providing additional context for retrieving the secret.</span>
|
|
4310
|
+
<a id="__codelineno-0-45" name="__codelineno-0-45"></a><span class="sd"> """</span>
|
|
4311
|
+
<a id="__codelineno-0-46" name="__codelineno-0-46"></a>
|
|
4312
|
+
<a id="__codelineno-0-47" name="__codelineno-0-47"></a> <span class="n">get_value_for_secret</span><span class="o">.</span><span class="vm">__func__</span><span class="o">.</span><span class="n">do_not_call_in_templates</span> <span class="o">=</span> <span class="kc">True</span>
|
|
4313
|
+
<a id="__codelineno-0-48" name="__codelineno-0-48"></a>
|
|
4314
|
+
<a id="__codelineno-0-49" name="__codelineno-0-49"></a> <span class="k">def</span> <span class="nf">__init_subclass__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
4315
|
+
<a id="__codelineno-0-50" name="__codelineno-0-50"></a> <span class="c1"># Automatically apply protection against Django and Jinja2 template execution to child classes.</span>
|
|
4316
|
+
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">get_value_for_secret</span><span class="p">,</span> <span class="s2">"do_not_call_in_templates"</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span> <span class="c1"># Django</span>
|
|
4317
|
+
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="bp">cls</span><span class="o">.</span><span class="n">get_value_for_secret</span><span class="o">.</span><span class="vm">__func__</span><span class="o">.</span><span class="n">do_not_call_in_templates</span> <span class="o">=</span> <span class="kc">True</span>
|
|
4318
|
+
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">get_value_for_secret</span><span class="p">,</span> <span class="s2">"unsafe_callable"</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span> <span class="c1"># Jinja @unsafe decorator</span>
|
|
4319
|
+
<a id="__codelineno-0-54" name="__codelineno-0-54"></a> <span class="bp">cls</span><span class="o">.</span><span class="n">get_value_for_secret</span><span class="o">.</span><span class="vm">__func__</span><span class="o">.</span><span class="n">unsafe_callable</span> <span class="o">=</span> <span class="kc">True</span>
|
|
4320
|
+
<a id="__codelineno-0-55" name="__codelineno-0-55"></a>
|
|
4321
|
+
<a id="__codelineno-0-56" name="__codelineno-0-56"></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">__init_subclass__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
4236
4322
|
</code></pre></div></td></tr></table></div>
|
|
4237
4323
|
</details>
|
|
4238
4324
|
|
|
@@ -4381,9 +4467,7 @@
|
|
|
4381
4467
|
|
|
4382
4468
|
<details class="quote">
|
|
4383
4469
|
<summary>Source code in <code>nautobot/extras/secrets/__init__.py</code></summary>
|
|
4384
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
4385
|
-
<span class="normal"><a href="#__codelineno-0-33">33</a></span>
|
|
4386
|
-
<span class="normal"><a href="#__codelineno-0-34">34</a></span>
|
|
4470
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-34">34</a></span>
|
|
4387
4471
|
<span class="normal"><a href="#__codelineno-0-35">35</a></span>
|
|
4388
4472
|
<span class="normal"><a href="#__codelineno-0-36">36</a></span>
|
|
4389
4473
|
<span class="normal"><a href="#__codelineno-0-37">37</a></span>
|
|
@@ -4391,17 +4475,21 @@
|
|
|
4391
4475
|
<span class="normal"><a href="#__codelineno-0-39">39</a></span>
|
|
4392
4476
|
<span class="normal"><a href="#__codelineno-0-40">40</a></span>
|
|
4393
4477
|
<span class="normal"><a href="#__codelineno-0-41">41</a></span>
|
|
4394
|
-
<span class="normal"><a href="#__codelineno-0-42">42</a></span
|
|
4395
|
-
<
|
|
4396
|
-
<
|
|
4397
|
-
<a id="__codelineno-0-
|
|
4398
|
-
<a id="__codelineno-0-
|
|
4399
|
-
<a id="__codelineno-0-
|
|
4400
|
-
<a id="__codelineno-0-
|
|
4401
|
-
<a id="__codelineno-0-
|
|
4402
|
-
<a id="__codelineno-0-
|
|
4403
|
-
<a id="__codelineno-0-
|
|
4404
|
-
<a id="__codelineno-0-
|
|
4478
|
+
<span class="normal"><a href="#__codelineno-0-42">42</a></span>
|
|
4479
|
+
<span class="normal"><a href="#__codelineno-0-43">43</a></span>
|
|
4480
|
+
<span class="normal"><a href="#__codelineno-0-44">44</a></span>
|
|
4481
|
+
<span class="normal"><a href="#__codelineno-0-45">45</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-34" name="__codelineno-0-34"></a><span class="nd">@classmethod</span>
|
|
4482
|
+
<a id="__codelineno-0-35" name="__codelineno-0-35"></a><span class="nd">@abstractmethod</span>
|
|
4483
|
+
<a id="__codelineno-0-36" name="__codelineno-0-36"></a><span class="nd">@unsafe</span>
|
|
4484
|
+
<a id="__codelineno-0-37" name="__codelineno-0-37"></a><span class="k">def</span> <span class="nf">get_value_for_secret</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">secret</span><span class="p">,</span> <span class="n">obj</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
4485
|
+
<a id="__codelineno-0-38" name="__codelineno-0-38"></a><span class="w"> </span><span class="sd">"""Retrieve the stored value described by the given Secret record.</span>
|
|
4486
|
+
<a id="__codelineno-0-39" name="__codelineno-0-39"></a>
|
|
4487
|
+
<a id="__codelineno-0-40" name="__codelineno-0-40"></a><span class="sd"> May raise a SecretError or one of its subclasses if an error occurs.</span>
|
|
4488
|
+
<a id="__codelineno-0-41" name="__codelineno-0-41"></a>
|
|
4489
|
+
<a id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="sd"> Args:</span>
|
|
4490
|
+
<a id="__codelineno-0-43" name="__codelineno-0-43"></a><span class="sd"> secret (nautobot.extras.models.Secret): DB entry describing the secret or family of secrets in question.</span>
|
|
4491
|
+
<a id="__codelineno-0-44" name="__codelineno-0-44"></a><span class="sd"> obj (object): Django model instance or similar providing additional context for retrieving the secret.</span>
|
|
4492
|
+
<a id="__codelineno-0-45" name="__codelineno-0-45"></a><span class="sd"> """</span>
|
|
4405
4493
|
</code></pre></div></td></tr></table></div>
|
|
4406
4494
|
</details>
|
|
4407
4495
|
</div>
|
|
@@ -869,6 +869,68 @@
|
|
|
869
869
|
|
|
870
870
|
|
|
871
871
|
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_7" >
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
<label class="md-nav__link" for="__nav_2_5_7" id="__nav_2_5_7_label" tabindex="0">
|
|
888
|
+
Security
|
|
889
|
+
<span class="md-nav__icon md-icon"></span>
|
|
890
|
+
</label>
|
|
891
|
+
|
|
892
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_7_label" aria-expanded="false">
|
|
893
|
+
<label class="md-nav__title" for="__nav_2_5_7">
|
|
894
|
+
<span class="md-nav__icon md-icon"></span>
|
|
895
|
+
Security
|
|
896
|
+
</label>
|
|
897
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
<li class="md-nav__item">
|
|
905
|
+
<a href="../../../administration/security/index.html" class="md-nav__link">
|
|
906
|
+
Nautobot Security
|
|
907
|
+
</a>
|
|
908
|
+
</li>
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
<li class="md-nav__item">
|
|
919
|
+
<a href="../../../administration/security/notices.html" class="md-nav__link">
|
|
920
|
+
Notices
|
|
921
|
+
</a>
|
|
922
|
+
</li>
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
</ul>
|
|
928
|
+
</nav>
|
|
929
|
+
</li>
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
|
|
872
934
|
</ul>
|
|
873
935
|
</nav>
|
|
874
936
|
</li>
|