netbox-docker-plugin 4.9.0__tar.gz → 4.10.0__tar.gz

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.
Files changed (146) hide show
  1. {netbox_docker_plugin-4.9.0/netbox_docker_plugin.egg-info → netbox_docker_plugin-4.10.0}/PKG-INFO +1 -1
  2. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/__init__.py +1 -1
  3. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/bind.py +17 -4
  4. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/container.py +7 -5
  5. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/device.py +17 -4
  6. netbox_docker_plugin-4.10.0/netbox_docker_plugin/forms/env.py +41 -0
  7. netbox_docker_plugin-4.10.0/netbox_docker_plugin/forms/label.py +41 -0
  8. netbox_docker_plugin-4.10.0/netbox_docker_plugin/forms/log_driver_option.py +41 -0
  9. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/mount.py +22 -5
  10. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/network_setting.py +24 -9
  11. netbox_docker_plugin-4.10.0/netbox_docker_plugin/forms/port.py +43 -0
  12. netbox_docker_plugin-4.10.0/netbox_docker_plugin/forms/sysctl.py +41 -0
  13. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tables.py +170 -17
  14. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/host.html +39 -41
  15. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/urls.py +25 -0
  16. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/container.py +17 -0
  17. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/image.py +10 -0
  18. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/network.py +11 -0
  19. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/registry.py +10 -0
  20. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/volume.py +10 -0
  21. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0/netbox_docker_plugin.egg-info}/PKG-INFO +1 -1
  22. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/pyproject.toml +1 -1
  23. netbox_docker_plugin-4.9.0/netbox_docker_plugin/forms/env.py +0 -28
  24. netbox_docker_plugin-4.9.0/netbox_docker_plugin/forms/label.py +0 -28
  25. netbox_docker_plugin-4.9.0/netbox_docker_plugin/forms/log_driver_option.py +0 -28
  26. netbox_docker_plugin-4.9.0/netbox_docker_plugin/forms/port.py +0 -30
  27. netbox_docker_plugin-4.9.0/netbox_docker_plugin/forms/sysctl.py +0 -28
  28. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/LICENSE +0 -0
  29. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/MANIFEST.in +0 -0
  30. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/README.md +0 -0
  31. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/api/__init__.py +0 -0
  32. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/api/renderers.py +0 -0
  33. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/api/serializers.py +0 -0
  34. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/api/urls.py +0 -0
  35. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/api/views.py +0 -0
  36. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/filtersets.py +0 -0
  37. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/__init__.py +0 -0
  38. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/host.py +0 -0
  39. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/image.py +0 -0
  40. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/network.py +0 -0
  41. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/registry.py +0 -0
  42. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/forms/volume.py +0 -0
  43. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0001_initial.py +0 -0
  44. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0002_image.py +0 -0
  45. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0003_image_size.py +0 -0
  46. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0004_volume.py +0 -0
  47. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0005_network.py +0 -0
  48. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0006_container_port_mount_label_env_and_more.py +0 -0
  49. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0007_remove_container_netbox_docker_plugin_container_unique_name_host__and_more.py +0 -0
  50. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0008_alter_network_unique_together_network_networkid_and_more.py +0 -0
  51. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0009_remove_container_network_networksettings_and_more.py +0 -0
  52. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0010_container_containerid_and_more.py +0 -0
  53. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0011_host_token.py +0 -0
  54. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0012_host_state.py +0 -0
  55. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0013_host_netbox_url.py +0 -0
  56. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0014_container_operation.py +0 -0
  57. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0015_remove_mount_netbox_docker_plugin_mount_unique_volume_and_more.py +0 -0
  58. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0016_alter_env_value.py +0 -0
  59. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0017_network_state.py +0 -0
  60. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0018_alter_mount_volume_alter_networksetting_network.py +0 -0
  61. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0019_host_agent_version_host_docker_api_version.py +0 -0
  62. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0020_container_hostname.py +0 -0
  63. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0021_registry_and_more.py +0 -0
  64. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0022_bind_bind_netbox_docker_plugin_bind_unique_bind.py +0 -0
  65. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0023_delete_hosts.py +0 -0
  66. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0024_registry_host_alter_registry_name_and_more.py +0 -0
  67. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0025_alter_image_version.py +0 -0
  68. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0026_image_digest.py +0 -0
  69. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0027_container_restart_policy.py +0 -0
  70. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0028_mount_and_bind_read_only.py +0 -0
  71. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0029_alter_container_state.py +0 -0
  72. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0030_alter_container_containerid_alter_container_hostname_and_more.py +0 -0
  73. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0031_container_cap_add.py +0 -0
  74. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0032_device_and_more.py +0 -0
  75. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0033_host_operation.py +0 -0
  76. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0034_volume_max_size.py +0 -0
  77. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0035_container_log_driver_logdriveroption.py +0 -0
  78. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0036_alter_container_log_driver.py +0 -0
  79. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0037_alter_env_value.py +0 -0
  80. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/0038_container_cmd.py +0 -0
  81. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/1039_alter_port_public_port.py +0 -0
  82. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/1040_alter_container_log_driver.py +0 -0
  83. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/1041_sysctl.py +0 -0
  84. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/migrations/__init__.py +0 -0
  85. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/models/__init__.py +0 -0
  86. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/models/container.py +0 -0
  87. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/models/host.py +0 -0
  88. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/models/image.py +0 -0
  89. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/models/network.py +0 -0
  90. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/models/registry.py +0 -0
  91. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/models/volume.py +0 -0
  92. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/navigation.py +0 -0
  93. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/signals.py +0 -0
  94. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container-exec.html +0 -0
  95. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container-layout.html +0 -0
  96. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container-logs.html +0 -0
  97. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container.html +0 -0
  98. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/host-graph.html +0 -0
  99. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/image.html +0 -0
  100. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/network.html +0 -0
  101. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/registry.html +0 -0
  102. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templates/netbox_docker_plugin/volume.html +0 -0
  103. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templatetags/__init__.py +0 -0
  104. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/templatetags/host.py +0 -0
  105. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/__init__.py +0 -0
  106. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/base.py +0 -0
  107. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/container/__init__.py +0 -0
  108. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/container/test_container_actions.py +0 -0
  109. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/container/test_container_api.py +0 -0
  110. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/container/test_container_api_exec.py +0 -0
  111. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/container/test_container_operation_view.py +0 -0
  112. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/container/test_container_validation.py +0 -0
  113. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/container/test_container_views.py +0 -0
  114. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/host/__init__.py +0 -0
  115. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/host/test_host_api.py +0 -0
  116. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/host/test_host_views.py +0 -0
  117. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/host/test_replace_password.py +0 -0
  118. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/image/__init__.py +0 -0
  119. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/image/test_image_api.py +0 -0
  120. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/image/test_image_views.py +0 -0
  121. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/network/__init__.py +0 -0
  122. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/network/test_network_api.py +0 -0
  123. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/network/test_network_views.py +0 -0
  124. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/registry/__init__.py +0 -0
  125. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/registry/test_registry_api.py +0 -0
  126. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/registry/test_registry_views.py +0 -0
  127. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/test_init.py +0 -0
  128. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/volume/__init__.py +0 -0
  129. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/volume/test_volume_api.py +0 -0
  130. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/tests/volume/test_volume_views.py +0 -0
  131. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/utilities/__init__.py +0 -0
  132. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/__init__.py +0 -0
  133. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/bind.py +0 -0
  134. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/device.py +0 -0
  135. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/env.py +0 -0
  136. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/host.py +0 -0
  137. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/label.py +0 -0
  138. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/log_driver_option.py +0 -0
  139. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/mount.py +0 -0
  140. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/network_setting.py +0 -0
  141. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/port.py +0 -0
  142. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin/views/sysctl.py +0 -0
  143. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin.egg-info/SOURCES.txt +0 -0
  144. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin.egg-info/dependency_links.txt +0 -0
  145. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/netbox_docker_plugin.egg-info/top_level.txt +0 -0
  146. {netbox_docker_plugin-4.9.0 → netbox_docker_plugin-4.10.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-docker-plugin
3
- Version: 4.9.0
3
+ Version: 4.10.0
4
4
  Summary: Manage Docker with Netbox & style.
5
5
  Author-email: Vincent Simonin <vincent@saashup.com>, David Delassus <david.jose.delassus@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/SaaShup/netbox-docker-plugin
@@ -11,7 +11,7 @@ class NetBoxDockerConfig(PluginConfig):
11
11
  name = "netbox_docker_plugin"
12
12
  verbose_name = " NetBox Docker Plugin"
13
13
  description = "Manage Docker"
14
- version = "4.9.0"
14
+ version = "4.10.0"
15
15
  base_url = "docker"
16
16
  min_version = "4.3.7"
17
17
  author = "Vincent Simonin <vincent@saashup.com>, David Delassus <david.jose.delassus@gmail.com>"
@@ -3,7 +3,6 @@
3
3
  from django import forms
4
4
  from utilities.forms.fields import (
5
5
  DynamicModelMultipleChoiceField,
6
- DynamicModelChoiceField,
7
6
  )
8
7
  from netbox.forms import (
9
8
  NetBoxModelFilterSetForm,
@@ -14,8 +13,11 @@ from ..models.container import Bind, Container
14
13
  class BindForm(forms.ModelForm):
15
14
  """Bind form definition class"""
16
15
 
17
- container = DynamicModelChoiceField(
18
- label="Container", queryset=Container.objects.all(), required=True
16
+ container = forms.ModelChoiceField(
17
+ label="Container",
18
+ queryset=Container.objects.all(),
19
+ required=True,
20
+ widget=forms.HiddenInput,
19
21
  )
20
22
 
21
23
  class Meta:
@@ -29,12 +31,23 @@ class BindForm(forms.ModelForm):
29
31
  "read_only",
30
32
  )
31
33
  labels = {
32
- "container": "Container",
33
34
  "host_path": "Path to mount on host",
34
35
  "container_path": "Mountpoint in container",
35
36
  "read_only": "Mount as read-only within the container",
36
37
  }
37
38
 
39
+ def __init__(self, *args, **kwargs):
40
+ super().__init__(*args, **kwargs)
41
+
42
+ if "data" in kwargs:
43
+ container = Container.objects.filter(id=kwargs["data"]["container"])
44
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
45
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
46
+ else:
47
+ container = Container.objects.filter(id=self.instance.container.id)
48
+
49
+ self.instance._meta.verbose_name = f"Bind — {container.first()}"
50
+
38
51
 
39
52
  class BindFilterForm(NetBoxModelFilterSetForm):
40
53
  """Bind filter form definition class"""
@@ -67,11 +67,10 @@ class ContainerForm(NetBoxModelForm):
67
67
  class ContainerEditForm(NetBoxModelForm):
68
68
  """Container form definition class"""
69
69
 
70
- image = DynamicModelChoiceField(
70
+ image = forms.ModelChoiceField(
71
71
  label="Image",
72
72
  queryset=Image.objects.all(),
73
73
  required=True,
74
- query_params={"host_id": "$host"},
75
74
  )
76
75
  cap_add = forms.MultipleChoiceField(choices=ContainerCapAddChoices, required=False)
77
76
 
@@ -99,6 +98,11 @@ class ContainerEditForm(NetBoxModelForm):
99
98
  "cmd": "Command",
100
99
  }
101
100
 
101
+ def __init__(self, *args, **kwargs):
102
+ super().__init__(*args, **kwargs)
103
+
104
+ self.fields["image"].queryset = Image.objects.filter(host=self.instance.host)
105
+
102
106
 
103
107
  class ContainerFilterForm(NetBoxModelFilterSetForm):
104
108
  """Container filter form definition class"""
@@ -124,9 +128,7 @@ class ContainerFilterForm(NetBoxModelFilterSetForm):
124
128
  restart_policy = forms.ChoiceField(
125
129
  label="Restart Policy", choices=ContainerRestartPolicyChoices, required=False
126
130
  )
127
- log_driver = forms.ChoiceField(
128
- label="Logging driver", required=False
129
- )
131
+ log_driver = forms.ChoiceField(label="Logging driver", required=False)
130
132
  tag = TagFilterField(model)
131
133
 
132
134
 
@@ -3,7 +3,6 @@
3
3
  from django import forms
4
4
  from utilities.forms.fields import (
5
5
  DynamicModelMultipleChoiceField,
6
- DynamicModelChoiceField,
7
6
  )
8
7
  from netbox.forms import (
9
8
  NetBoxModelFilterSetForm,
@@ -14,8 +13,11 @@ from ..models.container import Device, Container
14
13
  class DeviceForm(forms.ModelForm):
15
14
  """Device form definition class"""
16
15
 
17
- container = DynamicModelChoiceField(
18
- label="Container", queryset=Container.objects.all(), required=True
16
+ container = forms.ModelChoiceField(
17
+ label="Container",
18
+ queryset=Container.objects.all(),
19
+ required=True,
20
+ widget=forms.HiddenInput,
19
21
  )
20
22
 
21
23
  class Meta:
@@ -28,11 +30,22 @@ class DeviceForm(forms.ModelForm):
28
30
  "container_path",
29
31
  )
30
32
  labels = {
31
- "container": "Container",
32
33
  "host_path": "Path to the device on host",
33
34
  "container_path": "Path to the device in container",
34
35
  }
35
36
 
37
+ def __init__(self, *args, **kwargs):
38
+ super().__init__(*args, **kwargs)
39
+
40
+ if "data" in kwargs:
41
+ container = Container.objects.filter(id=kwargs["data"]["container"])
42
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
43
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
44
+ else:
45
+ container = Container.objects.filter(id=self.instance.container.id)
46
+
47
+ self.instance._meta.verbose_name = f"Device — {container.first()}"
48
+
36
49
 
37
50
  class DeviceFilterForm(NetBoxModelFilterSetForm):
38
51
  """Device filter form definition class"""
@@ -0,0 +1,41 @@
1
+ """Env Form definition"""
2
+
3
+ from django import forms
4
+ from ..models.container import Env, Container
5
+
6
+
7
+ class EnvForm(forms.ModelForm):
8
+ """Env form definition class"""
9
+
10
+ container = forms.ModelChoiceField(
11
+ label="Container",
12
+ queryset=Container.objects.all(),
13
+ required=True,
14
+ widget=forms.HiddenInput,
15
+ )
16
+
17
+ class Meta:
18
+ """Env form definition Meta class"""
19
+
20
+ model = Env
21
+ fields = (
22
+ "container",
23
+ "var_name",
24
+ "value",
25
+ )
26
+ labels = {
27
+ "var_name": "Variable Name",
28
+ "value": "Value",
29
+ }
30
+
31
+ def __init__(self, *args, **kwargs):
32
+ super().__init__(*args, **kwargs)
33
+
34
+ if "data" in kwargs:
35
+ container = Container.objects.filter(id=kwargs["data"]["container"])
36
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
37
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
38
+ else:
39
+ container = Container.objects.filter(id=self.instance.container.id)
40
+
41
+ self.instance._meta.verbose_name = f"Environment variable — {container.first()}"
@@ -0,0 +1,41 @@
1
+ """Label Form definition"""
2
+
3
+ from django import forms
4
+ from ..models.container import Label, Container
5
+
6
+
7
+ class LabelForm(forms.ModelForm):
8
+ """Label form definition class"""
9
+
10
+ container = forms.ModelChoiceField(
11
+ label="Container",
12
+ queryset=Container.objects.all(),
13
+ required=True,
14
+ widget=forms.HiddenInput,
15
+ )
16
+
17
+ class Meta:
18
+ """Label form definition Meta class"""
19
+
20
+ model = Label
21
+ fields = (
22
+ "container",
23
+ "key",
24
+ "value",
25
+ )
26
+ labels = {
27
+ "key": "Key",
28
+ "value": "Value",
29
+ }
30
+
31
+ def __init__(self, *args, **kwargs):
32
+ super().__init__(*args, **kwargs)
33
+
34
+ if "data" in kwargs:
35
+ container = Container.objects.filter(id=kwargs["data"]["container"])
36
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
37
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
38
+ else:
39
+ container = Container.objects.filter(id=self.instance.container.id)
40
+
41
+ self.instance._meta.verbose_name = f"Label — {container.first()}"
@@ -0,0 +1,41 @@
1
+ """Log Driver option Form definition"""
2
+
3
+ from django import forms
4
+ from ..models.container import LogDriverOption, Container
5
+
6
+
7
+ class LogDriverOptionForm(forms.ModelForm):
8
+ """Log Driver option form definition class"""
9
+
10
+ container = forms.ModelChoiceField(
11
+ label="Container",
12
+ queryset=Container.objects.all(),
13
+ required=True,
14
+ widget=forms.HiddenInput,
15
+ )
16
+
17
+ class Meta:
18
+ """Log Driver option form definition Meta class"""
19
+
20
+ model = LogDriverOption
21
+ fields = (
22
+ "container",
23
+ "option_name",
24
+ "value",
25
+ )
26
+ labels = {
27
+ "option_name": "Option Name",
28
+ "value": "Value",
29
+ }
30
+
31
+ def __init__(self, *args, **kwargs):
32
+ super().__init__(*args, **kwargs)
33
+
34
+ if "data" in kwargs:
35
+ container = Container.objects.filter(id=kwargs["data"]["container"])
36
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
37
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
38
+ else:
39
+ container = Container.objects.filter(id=self.instance.container.id)
40
+
41
+ self.instance._meta.verbose_name = f"Log driver option — {container.first()}"
@@ -3,7 +3,6 @@
3
3
  from django import forms
4
4
  from utilities.forms.fields import (
5
5
  DynamicModelMultipleChoiceField,
6
- DynamicModelChoiceField,
7
6
  )
8
7
  from netbox.forms import (
9
8
  NetBoxModelFilterSetForm,
@@ -15,10 +14,13 @@ from ..models.volume import Volume
15
14
  class MountForm(forms.ModelForm):
16
15
  """Mount form definition class"""
17
16
 
18
- container = DynamicModelChoiceField(
19
- label="Container", queryset=Container.objects.all(), required=True
17
+ container = forms.ModelChoiceField(
18
+ label="Container",
19
+ queryset=Container.objects.all(),
20
+ required=True,
21
+ widget=forms.HiddenInput,
20
22
  )
21
- volume = DynamicModelChoiceField(
23
+ volume = forms.ModelChoiceField(
22
24
  label="Volume", queryset=Volume.objects.all(), required=True
23
25
  )
24
26
 
@@ -33,12 +35,27 @@ class MountForm(forms.ModelForm):
33
35
  "read_only",
34
36
  )
35
37
  labels = {
36
- "container": "Container",
37
38
  "source": "Source directory",
38
39
  "volume": "Volume",
39
40
  "read_only": "Mount as read-only within the container",
40
41
  }
41
42
 
43
+ def __init__(self, *args, **kwargs):
44
+ super().__init__(*args, **kwargs)
45
+
46
+ if "data" in kwargs:
47
+ container = Container.objects.filter(id=kwargs["data"]["container"])
48
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
49
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
50
+ else:
51
+ container = Container.objects.filter(id=self.instance.container.id)
52
+
53
+ self.fields["volume"].queryset = Volume.objects.filter(
54
+ host=container.first().host
55
+ )
56
+
57
+ self.instance._meta.verbose_name = f"Mount — {container.first()}"
58
+
42
59
 
43
60
  class MountFilterForm(NetBoxModelFilterSetForm):
44
61
  """Mount filter form definition class"""
@@ -3,7 +3,6 @@
3
3
  from django import forms
4
4
  from utilities.forms.fields import (
5
5
  DynamicModelMultipleChoiceField,
6
- DynamicModelChoiceField,
7
6
  )
8
7
  from netbox.forms import (
9
8
  NetBoxModelFilterSetForm,
@@ -15,10 +14,13 @@ from ..models.network import Network
15
14
  class NetworkSettingForm(forms.ModelForm):
16
15
  """NetworkSetting form definition class"""
17
16
 
18
- container = DynamicModelChoiceField(
19
- label="Container", queryset=Container.objects.all(), required=True
17
+ container = forms.ModelChoiceField(
18
+ label="Container",
19
+ queryset=Container.objects.all(),
20
+ required=True,
21
+ widget=forms.HiddenInput,
20
22
  )
21
- network = DynamicModelChoiceField(
23
+ network = forms.ModelChoiceField(
22
24
  label="Network", queryset=Network.objects.all(), required=True
23
25
  )
24
26
 
@@ -26,15 +28,28 @@ class NetworkSettingForm(forms.ModelForm):
26
28
  """NetworkSetting form definition Meta class"""
27
29
 
28
30
  model = NetworkSetting
29
- fields = (
30
- "container",
31
- "network"
32
- )
31
+ fields = ("container", "network")
33
32
  labels = {
34
- "container": "Container",
35
33
  "network": "Network",
36
34
  }
37
35
 
36
+ def __init__(self, *args, **kwargs):
37
+ super().__init__(*args, **kwargs)
38
+
39
+ if "data" in kwargs:
40
+ container = Container.objects.filter(id=kwargs["data"]["container"])
41
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
42
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
43
+ else:
44
+ container = Container.objects.filter(id=self.instance.container.id)
45
+
46
+ self.fields["network"].queryset = Network.objects.filter(
47
+ host=container.first().host
48
+ )
49
+
50
+ self.instance._meta.verbose_name = f"Network setting — {container.first()}"
51
+
52
+
38
53
  class NetworkSettingFilterForm(NetBoxModelFilterSetForm):
39
54
  """Mount filter form definition class"""
40
55
 
@@ -0,0 +1,43 @@
1
+ """Port Form definition"""
2
+
3
+ from django import forms
4
+ from ..models.container import Port, Container
5
+
6
+
7
+ class PortForm(forms.ModelForm):
8
+ """Port form definition class"""
9
+
10
+ container = forms.ModelChoiceField(
11
+ label="Container",
12
+ queryset=Container.objects.all(),
13
+ required=True,
14
+ widget=forms.HiddenInput,
15
+ )
16
+
17
+ class Meta:
18
+ """Port form definition Meta class"""
19
+
20
+ model = Port
21
+ fields = (
22
+ "container",
23
+ "public_port",
24
+ "private_port",
25
+ "type",
26
+ )
27
+ labels = {
28
+ "public_port": "Public Port",
29
+ "private_port": "Private Port",
30
+ "type": "Type",
31
+ }
32
+
33
+ def __init__(self, *args, **kwargs):
34
+ super().__init__(*args, **kwargs)
35
+
36
+ if "data" in kwargs:
37
+ container = Container.objects.filter(id=kwargs["data"]["container"])
38
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
39
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
40
+ else:
41
+ container = Container.objects.filter(id=self.instance.container.id)
42
+
43
+ self.instance._meta.verbose_name = f"Port mapping — {container.first()}"
@@ -0,0 +1,41 @@
1
+ """Sysctl Form definition"""
2
+
3
+ from django import forms
4
+ from ..models.container import Sysctl, Container
5
+
6
+
7
+ class SysctlForm(forms.ModelForm):
8
+ """Sysctl form definition class"""
9
+
10
+ container = forms.ModelChoiceField(
11
+ label="Container",
12
+ queryset=Container.objects.all(),
13
+ required=True,
14
+ widget=forms.HiddenInput,
15
+ )
16
+
17
+ class Meta:
18
+ """Sysctl form definition Meta class"""
19
+
20
+ model = Sysctl
21
+ fields = (
22
+ "container",
23
+ "key",
24
+ "value",
25
+ )
26
+ labels = {
27
+ "key": " Sysctl Key",
28
+ "value": "Value",
29
+ }
30
+
31
+ def __init__(self, *args, **kwargs):
32
+ super().__init__(*args, **kwargs)
33
+
34
+ if "data" in kwargs:
35
+ container = Container.objects.filter(id=kwargs["data"]["container"])
36
+ elif "initial" in kwargs and "container" in kwargs["initial"]:
37
+ container = Container.objects.filter(id=kwargs["initial"]["container"])
38
+ else:
39
+ container = Container.objects.filter(id=self.instance.container.id)
40
+
41
+ self.instance._meta.verbose_name = f"Sysctl — {container.first()}"