class Bosh::Director::VmMetadataUpdater
Public Class Methods
build()
click to toggle source
# File lib/bosh/director/vm_metadata_updater.rb, line 3 def self.build new(Config.cloud, {director: Config.name}, Config.logger) end
new(cloud, director_metadata, logger)
click to toggle source
# File lib/bosh/director/vm_metadata_updater.rb, line 7 def initialize(cloud, director_metadata, logger) @cloud = cloud @director_metadata = director_metadata @logger = logger end
Public Instance Methods
update(instance, metadata)
click to toggle source
# File lib/bosh/director/vm_metadata_updater.rb, line 13 def update(instance, metadata) if @cloud.respond_to?(:set_vm_metadata) metadata = metadata.merge(@director_metadata) metadata[:deployment] = instance.deployment.name metadata[:id] = instance.uuid metadata[:job] = instance.job metadata[:index] = instance.index.to_s metadata[:name] = "#{instance.job}/#{instance.uuid}" metadata[:created_at] = Time.new.getutc.strftime('%Y-%m-%dT%H:%M:%SZ') @cloud.set_vm_metadata(instance.vm_cid, metadata) end rescue Bosh::Clouds::NotImplemented => e @logger.debug(e.inspect) end