Class: Bosh::Registry::InstanceManager

Inherits:
Object
  • Object
show all
Defined in:
lib/bosh/registry/instance_manager.rb,
lib/bosh/registry/instance_manager/aws.rb,
lib/bosh/registry/instance_manager/openstack.rb

Direct Known Subclasses

Aws, Openstack

Defined Under Namespace

Classes: Aws, Openstack

Instance Method Summary collapse

Instance Method Details

#delete_settings(instance_id) ⇒ Object

Seletes instance settings

Parameters:

  • instance_id (String)

    instance id



37
38
39
# File 'lib/bosh/registry/instance_manager.rb', line 37

def delete_settings(instance_id)
  get_instance(instance_id).destroy
end

#instance_ips(instance_id) ⇒ Object

Get the list of IPs belonging to this instance

Parameters:

  • instance_id (String)

    instance id

Raises:



44
45
46
47
48
# File 'lib/bosh/registry/instance_manager.rb', line 44

def instance_ips(instance_id)
  raise NotImplemented, "Default implementation of InstanceManager does not support " \
                        "IPs retrieval. Create IaaS-specific subclass and override this method " \
                        "if IPs verfication is needed."
end

#read_settings(instance_id, remote_ip = nil) ⇒ Object

Reads instance settings

Parameters:

  • instance_id (String)

    instance id

  • remote_ip (optional, String) (defaults to: nil)

    If this IP is provided, check will be performed to see if it instance id actually has this IP address according to the IaaS.



28
29
30
31
32
# File 'lib/bosh/registry/instance_manager.rb', line 28

def read_settings(instance_id, remote_ip = nil)
  check_instance_ips(remote_ip, instance_id) if remote_ip

  get_instance(instance_id).settings
end

#update_settings(instance_id, settings) ⇒ Object

Updates instance settings

Parameters:

  • instance_id (String)

    instance id (instance record will be created in DB if it doesn’t already exist)

  • settings (String)

    New settings for the instance



12
13
14
15
16
17
18
19
20
# File 'lib/bosh/registry/instance_manager.rb', line 12

def update_settings(instance_id, settings)
  params = {
    :instance_id => instance_id
  }

  instance = Models::RegistryInstance[params] || Models::RegistryInstance.new(params)
  instance.settings = settings
  instance.save
end