Class: Serverspec::Type::DockerService

Inherits:
DockerBase
  • Object
show all
Defined in:
lib/serverspec_extra_types/types/docker_service.rb

Instance Method Summary collapse

Instance Method Details

#exist?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 7

def exist?
  get_inspection.success?
end

#global?Boolean

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (Boolean)


43
44
45
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 43

def has_user?(user)
  self.user == user
end

#hostsObject



65
66
67
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 65

def hosts
  inspection['Spec']['TaskTemplate']['ContainerSpec']['Hosts']
end

#imageObject



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_shaObject



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

Returns:

  • (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

#mountsObject



57
58
59
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 57

def mounts
  inspection['Spec']['TaskTemplate']['ContainerSpec']['Mounts']
end

#networksObject



92
93
94
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 92

def networks
  inspection['Spec']['TaskTemplate']['Networks']
end

#placement_constraintsObject



73
74
75
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 73

def placement_constraints
  inspection['Spec']['TaskTemplate']['Placement']['Constraints']
end

#port_mapObject



100
101
102
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 100

def port_map
  inspection['Spec']['EndpointSpec']['Ports']
end

#replicasObject



81
82
83
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 81

def replicas
  ['Spec']['Mode']['Replicated']['Replicas']
end

#replicated?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 77

def replicated?
  inspection['Spec']['Mode']['Replicated']
end

#restart_limitObject



23
24
25
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 23

def restart_limit
  inspection['Spec']['TaskTemplate']['RestartPolicy']['MaxAttempts']
end

#restart_policyObject



19
20
21
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 19

def restart_policy
  inspection['Spec']['TaskTemplate']['RestartPolicy']['Condition']
end

#userObject



47
48
49
# File 'lib/serverspec_extra_types/types/docker_service.rb', line 47

def user
  inspection['Spec']['TaskTemplate']['ContainerSpec']['User']
end