class Serverspec::Type::DockerService
Public Instance Methods
configs()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 72 def configs inspection['Spec']['TaskTemplate']['ContainerSpec']['Configs'] end
environment_variable(regex)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 145 def environment_variable(regex) environment_variables.find { |str| str =~ /^#{regex}=/ }.split('=')[1..-1].join('=') end
environment_variables()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 149 def environment_variables inspection['Spec']['TaskTemplate']['ContainerSpec']['Env'] end
exist?()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 10 def exist? get_inspection.success? end
global?()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 108 def global? inspection['Spec']['Mode']['Global'] end
has_config?(name, target = nil)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 64 def has_config?(name, target = nil) if target configs.find { |config| config['ConfigName'] == name && config['File']['Name'] == target } else configs.find { |config| config['ConfigName'] == name } end end
has_environment_variable?(regex, value = nil)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 137 def has_environment_variable?(regex, value = nil) if value environment_variable(regex) == value else environment_variable(regex) end end
has_host?(host)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 88 def has_host?(host) hosts.include? host end
has_image?(image)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 30 def has_image?(image) self.image == image end
has_image_sha?(image)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 34 def has_image_sha?(image) self.image == image end
has_label?(label, value = nil)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 153 def has_label?(label, value = nil) if value label(label)[1] == value else label(label) end end
has_mount?(source, target, type)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 54 def has_mount?(source, target, type) mounts.find do |mount| mount['Source'] == source && mount['Target'] == target && mount['Type'] == type end end
has_network?(name)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 120 def has_network?(name) target_network = DockerNetwork.new(name) networks.find { |network| network['Target'].include? target_network.id } end
has_placement_constraint?(constraint)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 96 def has_placement_constraint?(constraint) placement_constraints.include? constraint end
has_restart_limit?(limit)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 18 def has_restart_limit?(limit) restart_limit == limit end
has_restart_policy?(policy)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 14 def has_restart_policy?(policy) restart_policy == policy end
has_secret?(name, target = nil)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 76 def has_secret?(name, target = nil) if target secrets.find { |secret| secret['SecretName'] == name && secret['File']['Name'] == target } else secrets.find { |secret| secret['SecretName'] == name } end end
has_user?(user)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 46 def has_user?(user) self.user == user end
hosts()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 92 def hosts inspection['Spec']['TaskTemplate']['ContainerSpec']['Hosts'] end
image()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 38 def image inspection['Spec']['TaskTemplate']['ContainerSpec']['Image'].split('@')[0] end
image_sha()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 42 def image_sha inspection['Spec']['TaskTemplate']['ContainerSpec']['Image'].split('@')[1] end
label(label)
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 161 def label(label) labels.find { |key, _val| key == label } end
labels()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 165 def labels inspection['Spec']['Labels'] end
map_port?(published, target, protocol = 'tcp', mode = 'ingress')
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 129 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()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 60 def mounts inspection['Spec']['TaskTemplate']['ContainerSpec']['Mounts'] end
networks()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 116 def networks inspection['Spec']['TaskTemplate']['Networks'] end
placement_constraints()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 100 def placement_constraints inspection['Spec']['TaskTemplate']['Placement']['Constraints'] end
port_map()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 125 def port_map inspection['Spec']['EndpointSpec']['Ports'] end
replicas()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 112 def replicas inspection['Spec']['Mode']['Replicated']['Replicas'] end
replicated?()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 104 def replicated? inspection['Spec']['Mode']['Replicated'] end
restart_limit()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 26 def restart_limit inspection['Spec']['TaskTemplate']['RestartPolicy']['MaxAttempts'] end
restart_policy()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 22 def restart_policy inspection['Spec']['TaskTemplate']['RestartPolicy']['Condition'] end
secrets()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 84 def secrets inspection['Spec']['TaskTemplate']['ContainerSpec']['Secrets'] end
user()
click to toggle source
# File lib/serverspec_extra_types/types/docker_service.rb, line 50 def user inspection['Spec']['TaskTemplate']['ContainerSpec']['User'] end
Private Instance Methods
get_inspection()
click to toggle source
rubocop:disable Naming/AccessorMethodName
# File lib/serverspec_extra_types/types/docker_service.rb, line 172 def get_inspection @get_inspection ||= @runner.run_command("docker service inspect #{@name}") end