Class: CloudManager::Configuration::Service::AnsibleMachine

Inherits:
Machine
  • Object
show all
Defined in:
lib/cloud_manager/configuration/service/ansible.rb

Overview

This class represents a machine along with its configuration management settings.

Since:

  • 0.1.0

Instance Attribute Summary

Attributes inherited from Machine

#alias, #config, #parent_service

Instance Method Summary collapse

Constructor Details

#initialize(machine_alias, config, parent_service) ⇒ AnsibleMachine

Returns a new instance of AnsibleMachine.

Parameters:

  • machine_alias (String)

    the machine alias

  • config (Hash)

    the machine configuration

  • parent_service (Ansible)

    the initiator service

Since:

  • 0.1.0



166
167
168
169
170
171
172
# File 'lib/cloud_manager/configuration/service/ansible.rb', line 166

def initialize(machine_alias, config, parent_service)
  super(machine_alias, config, parent_service)
  @playbooks = []
  @ips = nil

  raise "services.ec2.#{@alias} configuration is missing" unless @config.is_a?(Hash)
end

Instance Method Details

#get_ips!Array<String> (private)

Collects the IP list for the machine.

Returns:

  • (Array<String>)

    IPs of the machine

Since:

  • 0.1.0



187
188
189
# File 'lib/cloud_manager/configuration/service/ansible.rb', line 187

def get_ips!
  @ips = @parent_service.base_configuration.ips_of(@alias)
end

#ipsArray<String>

Returns the IP list of the machine.

Returns:

  • (Array<String>)

    IPs of the machine

Since:

  • 0.1.0



177
178
179
180
# File 'lib/cloud_manager/configuration/service/ansible.rb', line 177

def ips
  get_ips! if @ips.nil?
  @ips
end