Class: Serverspec::Type::DockerService
- Inherits:
-
DockerBase
- Object
- DockerBase
- Serverspec::Type::DockerService
- Defined in:
- lib/serverspec_extra_types/types/docker_service.rb
Instance Method Summary collapse
- #exist? ⇒ Boolean
- #global? ⇒ Boolean
- #has_host?(host) ⇒ Boolean
- #has_image?(image) ⇒ Boolean
- #has_image_sha?(image) ⇒ Boolean
- #has_mount?(source, target, type) ⇒ Boolean
- #has_network?(name) ⇒ Boolean
- #has_placement_constraint?(constraint) ⇒ Boolean
- #has_restart_limit?(limit) ⇒ Boolean
- #has_restart_policy?(policy) ⇒ Boolean
- #has_user?(user) ⇒ Boolean
- #hosts ⇒ Object
- #image ⇒ Object
- #image_sha ⇒ Object
- #map_port?(published, target, protocol = 'tcp', mode = 'ingress') ⇒ Boolean
- #mounts ⇒ Object
- #networks ⇒ Object
- #placement_constraints ⇒ Object
- #port_map ⇒ Object
- #replicas ⇒ Object
- #replicated? ⇒ Boolean
- #restart_limit ⇒ Object
- #restart_policy ⇒ Object
- #user ⇒ Object
Instance Method Details
#exist? ⇒ Boolean
7 8 9 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 7 def exist? get_inspection.success? end |
#global? ⇒ Boolean
84 85 86 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 84 def global? inspection['Spec']['Mode']['Global'] end |
#has_host?(host) ⇒ Boolean
61 62 63 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 61 def has_host?(host) hosts.include? host end |
#has_image?(image) ⇒ Boolean
27 28 29 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 27 def has_image?(image) self.image == image end |
#has_image_sha?(image) ⇒ Boolean
31 32 33 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 31 def has_image_sha?(image) self.image == image end |
#has_mount?(source, target, type) ⇒ Boolean
51 52 53 54 55 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 51 def has_mount?(source, target, type) mounts.find do |mount| mount['Source'] == source && mount['Target'] == target && mount['Type'] == type end end |
#has_network?(name) ⇒ Boolean
96 97 98 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 96 def has_network?(name) networks.find { |network| network['Aliases'].include? name } end |
#has_placement_constraint?(constraint) ⇒ Boolean
69 70 71 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 69 def has_placement_constraint?(constraint) placement_constraints.include? constraint end |
#has_restart_limit?(limit) ⇒ Boolean
15 16 17 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 15 def has_restart_limit?(limit) restart_limit == limit end |
#has_restart_policy?(policy) ⇒ Boolean
11 12 13 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 11 def has_restart_policy?(policy) restart_policy == policy end |
#has_user?(user) ⇒ Boolean
43 44 45 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 43 def has_user?(user) self.user == user end |
#hosts ⇒ Object
65 66 67 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 65 def hosts inspection['Spec']['TaskTemplate']['ContainerSpec']['Hosts'] end |
#image ⇒ Object
35 36 37 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 35 def image inspection['Spec']['TaskTemplate']['ContainerSpec']['Image'].split('@')[0] end |
#image_sha ⇒ Object
39 40 41 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 39 def image_sha inspection['Spec']['TaskTemplate']['ContainerSpec']['Image'].split('@')[1] end |
#map_port?(published, target, protocol = 'tcp', mode = 'ingress') ⇒ Boolean
104 105 106 107 108 109 110 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 104 def map_port?(published, target, protocol = 'tcp',mode = 'ingress') port_map.find do |port| port['PublishedPort'] == published.to_i && port['TargetPort'] == target.to_i && port['PublishMode'] == mode && port['Protocol'] == protocol end end |
#mounts ⇒ Object
57 58 59 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 57 def mounts inspection['Spec']['TaskTemplate']['ContainerSpec']['Mounts'] end |
#networks ⇒ Object
92 93 94 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 92 def networks inspection['Spec']['TaskTemplate']['Networks'] end |
#placement_constraints ⇒ Object
73 74 75 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 73 def placement_constraints inspection['Spec']['TaskTemplate']['Placement']['Constraints'] end |
#port_map ⇒ Object
100 101 102 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 100 def port_map inspection['Spec']['EndpointSpec']['Ports'] end |
#replicas ⇒ Object
81 82 83 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 81 def replicas ['Spec']['Mode']['Replicated']['Replicas'] end |
#replicated? ⇒ Boolean
77 78 79 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 77 def replicated? inspection['Spec']['Mode']['Replicated'] end |
#restart_limit ⇒ Object
23 24 25 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 23 def restart_limit inspection['Spec']['TaskTemplate']['RestartPolicy']['MaxAttempts'] end |
#restart_policy ⇒ Object
19 20 21 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 19 def restart_policy inspection['Spec']['TaskTemplate']['RestartPolicy']['Condition'] end |
#user ⇒ Object
47 48 49 |
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 47 def user inspection['Spec']['TaskTemplate']['ContainerSpec']['User'] end |