netbox-docker-plugin 4.2.0__tar.gz → 4.4.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 (137) hide show
  1. {netbox_docker_plugin-4.2.0/netbox_docker_plugin.egg-info → netbox_docker_plugin-4.4.0}/PKG-INFO +1 -1
  2. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/__init__.py +1 -1
  3. netbox_docker_plugin-4.4.0/netbox_docker_plugin/migrations/1039_alter_port_public_port.py +26 -0
  4. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/models/container.py +13 -1
  5. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/signals.py +2 -0
  6. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container-layout.html +18 -0
  7. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/container/test_container_api.py +2 -0
  8. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0/netbox_docker_plugin.egg-info}/PKG-INFO +1 -1
  9. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin.egg-info/SOURCES.txt +1 -0
  10. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/pyproject.toml +1 -1
  11. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/LICENSE +0 -0
  12. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/MANIFEST.in +0 -0
  13. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/README.md +0 -0
  14. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/api/__init__.py +0 -0
  15. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/api/renderers.py +0 -0
  16. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/api/serializers.py +0 -0
  17. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/api/urls.py +0 -0
  18. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/api/views.py +0 -0
  19. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/filtersets.py +0 -0
  20. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/__init__.py +0 -0
  21. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/bind.py +0 -0
  22. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/container.py +0 -0
  23. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/device.py +0 -0
  24. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/env.py +0 -0
  25. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/host.py +0 -0
  26. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/image.py +0 -0
  27. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/label.py +0 -0
  28. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/log_driver_option.py +0 -0
  29. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/mount.py +0 -0
  30. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/network.py +0 -0
  31. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/network_setting.py +0 -0
  32. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/port.py +0 -0
  33. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/registry.py +0 -0
  34. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/forms/volume.py +0 -0
  35. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0001_initial.py +0 -0
  36. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0002_image.py +0 -0
  37. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0003_image_size.py +0 -0
  38. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0004_volume.py +0 -0
  39. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0005_network.py +0 -0
  40. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0006_container_port_mount_label_env_and_more.py +0 -0
  41. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0007_remove_container_netbox_docker_plugin_container_unique_name_host__and_more.py +0 -0
  42. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0008_alter_network_unique_together_network_networkid_and_more.py +0 -0
  43. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0009_remove_container_network_networksettings_and_more.py +0 -0
  44. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0010_container_containerid_and_more.py +0 -0
  45. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0011_host_token.py +0 -0
  46. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0012_host_state.py +0 -0
  47. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0013_host_netbox_url.py +0 -0
  48. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0014_container_operation.py +0 -0
  49. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0015_remove_mount_netbox_docker_plugin_mount_unique_volume_and_more.py +0 -0
  50. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0016_alter_env_value.py +0 -0
  51. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0017_network_state.py +0 -0
  52. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0018_alter_mount_volume_alter_networksetting_network.py +0 -0
  53. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0019_host_agent_version_host_docker_api_version.py +0 -0
  54. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0020_container_hostname.py +0 -0
  55. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0021_registry_and_more.py +0 -0
  56. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0022_bind_bind_netbox_docker_plugin_bind_unique_bind.py +0 -0
  57. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0023_delete_hosts.py +0 -0
  58. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0024_registry_host_alter_registry_name_and_more.py +0 -0
  59. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0025_alter_image_version.py +0 -0
  60. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0026_image_digest.py +0 -0
  61. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0027_container_restart_policy.py +0 -0
  62. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0028_mount_and_bind_read_only.py +0 -0
  63. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0029_alter_container_state.py +0 -0
  64. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0030_alter_container_containerid_alter_container_hostname_and_more.py +0 -0
  65. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0031_container_cap_add.py +0 -0
  66. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0032_device_and_more.py +0 -0
  67. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0033_host_operation.py +0 -0
  68. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0034_volume_max_size.py +0 -0
  69. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0035_container_log_driver_logdriveroption.py +0 -0
  70. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0036_alter_container_log_driver.py +0 -0
  71. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0037_alter_env_value.py +0 -0
  72. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/0038_container_cmd.py +0 -0
  73. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/migrations/__init__.py +0 -0
  74. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/models/__init__.py +0 -0
  75. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/models/host.py +0 -0
  76. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/models/image.py +0 -0
  77. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/models/network.py +0 -0
  78. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/models/registry.py +0 -0
  79. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/models/volume.py +0 -0
  80. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/navigation.py +0 -0
  81. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tables.py +0 -0
  82. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container-exec.html +0 -0
  83. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container-logs.html +0 -0
  84. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/container.html +0 -0
  85. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/host-graph.html +0 -0
  86. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/host.html +0 -0
  87. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/image.html +0 -0
  88. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/network.html +0 -0
  89. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/registry.html +0 -0
  90. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templates/netbox_docker_plugin/volume.html +0 -0
  91. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templatetags/__init__.py +0 -0
  92. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/templatetags/host.py +0 -0
  93. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/__init__.py +0 -0
  94. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/base.py +0 -0
  95. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/container/__init__.py +0 -0
  96. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/container/test_container_actions.py +0 -0
  97. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/container/test_container_api_exec.py +0 -0
  98. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/container/test_container_operation_view.py +0 -0
  99. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/container/test_container_validation.py +0 -0
  100. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/container/test_container_views.py +0 -0
  101. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/host/__init__.py +0 -0
  102. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/host/test_host_api.py +0 -0
  103. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/host/test_host_views.py +0 -0
  104. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/host/test_replace_password.py +0 -0
  105. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/image/__init__.py +0 -0
  106. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/image/test_image_api.py +0 -0
  107. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/image/test_image_views.py +0 -0
  108. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/network/__init__.py +0 -0
  109. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/network/test_network_api.py +0 -0
  110. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/network/test_network_views.py +0 -0
  111. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/registry/__init__.py +0 -0
  112. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/registry/test_registry_api.py +0 -0
  113. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/registry/test_registry_views.py +0 -0
  114. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/test_init.py +0 -0
  115. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/volume/__init__.py +0 -0
  116. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/volume/test_volume_api.py +0 -0
  117. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/tests/volume/test_volume_views.py +0 -0
  118. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/urls.py +0 -0
  119. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/utilities/__init__.py +0 -0
  120. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/__init__.py +0 -0
  121. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/bind.py +0 -0
  122. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/container.py +0 -0
  123. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/device.py +0 -0
  124. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/env.py +0 -0
  125. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/host.py +0 -0
  126. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/image.py +0 -0
  127. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/label.py +0 -0
  128. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/log_driver_option.py +0 -0
  129. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/mount.py +0 -0
  130. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/network.py +0 -0
  131. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/network_setting.py +0 -0
  132. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/port.py +0 -0
  133. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/registry.py +0 -0
  134. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin/views/volume.py +0 -0
  135. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin.egg-info/dependency_links.txt +0 -0
  136. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/netbox_docker_plugin.egg-info/top_level.txt +0 -0
  137. {netbox_docker_plugin-4.2.0 → netbox_docker_plugin-4.4.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-docker-plugin
3
- Version: 4.2.0
3
+ Version: 4.4.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.2.0"
14
+ version = "4.4.0"
15
15
  base_url = "docker"
16
16
  min_version = "4.2.0"
17
17
  author = "Vincent Simonin <vincent@saashup.com>, David Delassus <david.jose.delassus@gmail.com>"
@@ -0,0 +1,26 @@
1
+ # pylint: disable=C0103
2
+ """Migration file"""
3
+
4
+ import django.core.validators
5
+ from django.db import migrations, models
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+ """Migration file"""
10
+
11
+ dependencies = [
12
+ ("netbox_docker_plugin", "0038_container_cmd"),
13
+ ]
14
+
15
+ operations = [
16
+ migrations.AlterField(
17
+ model_name="port",
18
+ name="public_port",
19
+ field=models.IntegerField(
20
+ validators=[
21
+ django.core.validators.MinValueValidator(limit_value=-1),
22
+ django.core.validators.MaxValueValidator(limit_value=65535),
23
+ ]
24
+ ),
25
+ ),
26
+ ]
@@ -52,6 +52,8 @@ class ContainerOperationChoices(ChoiceSet):
52
52
  ("start", "Start", "blue"),
53
53
  ("restart", "Restart", "blue"),
54
54
  ("stop", "Stop", "blue"),
55
+ ("pause", "Pause", "blue"),
56
+ ("unpause", "Unpause", "blue"),
55
57
  ("recreate", "Recreate", "blue"),
56
58
  ("kill", "Kill", "red"),
57
59
  ("none", "None", "white"),
@@ -210,6 +212,16 @@ class Container(NetBoxModel):
210
212
  """Check if the container can be killed"""
211
213
  return self.state in ["created", "restarting", "running", "exited", "dead"]
212
214
 
215
+ @property
216
+ def can_pause(self) -> bool:
217
+ """Check if the container can be paused"""
218
+ return self.state in ["running"]
219
+
220
+ @property
221
+ def can_unpause(self) -> bool:
222
+ """Check if the container can be unpaused"""
223
+ return self.state in ["paused"]
224
+
213
225
  class Meta:
214
226
  """Image Model Meta Class"""
215
227
 
@@ -256,7 +268,7 @@ class Port(models.Model):
256
268
  )
257
269
  public_port = models.IntegerField(
258
270
  validators=[
259
- MinValueValidator(limit_value=0),
271
+ MinValueValidator(limit_value=-1),
260
272
  MaxValueValidator(limit_value=65535),
261
273
  ],
262
274
  )
@@ -43,6 +43,8 @@ def restrict_container_actions(instance, **_kwargs):
43
43
  instance.operation == "stop" and not instance.can_stop,
44
44
  instance.operation == "recreate" and not instance.can_recreate,
45
45
  instance.operation == "kill" and not instance.can_kill,
46
+ instance.operation == "pause" and not instance.can_pause,
47
+ instance.operation == "unpause" and not instance.can_unpause,
46
48
  ]
47
49
  ):
48
50
  raise AbortRequest(
@@ -31,6 +31,24 @@
31
31
  </button>
32
32
  </form>
33
33
 
34
+ {% if object.state == 'paused' %}
35
+ <form action="{% url 'plugins:netbox_docker_plugin:container_operation' pk=object.id operation='unpause' %}" method="post">
36
+ {% csrf_token %}
37
+ <input type="hidden" name="operation" value="unpause">
38
+ <button type="submit" class="btn btn-danger">
39
+ <i class="mdi mdi-play"></i>Unpause</button>
40
+ </form>
41
+
42
+ {% elif object.state == 'running' %}
43
+ <form action="{% url 'plugins:netbox_docker_plugin:container_operation' pk=object.id operation='pause' %}" method="post">
44
+ {% csrf_token %}
45
+ <input type="hidden" name="operation" value="pause">
46
+ <button type="submit" class="btn btn-success">
47
+ <i class="mdi mdi-stop"></i> Pause
48
+ </button>
49
+ </form>
50
+ {% endif %}
51
+
34
52
  <form action="{% url 'plugins:netbox_docker_plugin:container_operation' pk=object.id operation='restart' %}" method="post">
35
53
  {% csrf_token %}
36
54
  <input type="hidden" name="operation" value="restart">
@@ -108,6 +108,8 @@ class ContainerApiTestCase(
108
108
  "ports": [
109
109
  {"public_port": 80, "private_port": 80, "type": "tcp"},
110
110
  {"public_port": 443, "private_port": 443, "type": "tcp"},
111
+ {"public_port": 0, "private_port": 8080, "type": "tcp"},
112
+ {"public_port": -1, "private_port": 8080, "type": "tcp"},
111
113
  ],
112
114
  "env": [
113
115
  {"var_name": "ENV", "value": "prod"},
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-docker-plugin
3
- Version: 4.2.0
3
+ Version: 4.4.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
@@ -70,6 +70,7 @@ netbox_docker_plugin/migrations/0035_container_log_driver_logdriveroption.py
70
70
  netbox_docker_plugin/migrations/0036_alter_container_log_driver.py
71
71
  netbox_docker_plugin/migrations/0037_alter_env_value.py
72
72
  netbox_docker_plugin/migrations/0038_container_cmd.py
73
+ netbox_docker_plugin/migrations/1039_alter_port_public_port.py
73
74
  netbox_docker_plugin/migrations/__init__.py
74
75
  netbox_docker_plugin/models/__init__.py
75
76
  netbox_docker_plugin/models/container.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "netbox-docker-plugin"
7
- version = "4.2.0"
7
+ version = "4.4.0"
8
8
  authors = [
9
9
  { name="Vincent Simonin", email="vincent@saashup.com" },
10
10
  { name="David Delassus", email="david.jose.delassus@gmail.com" }