yes, I have found the typo.
I have added next parameter service description to be able to limit the retirement just for an owner and specific services. So my final method looks this way.
$evm.log(‘info’, ‘Listing Root Object Attributes:’)
$evm.root.attributes.sort.each { |k, v| $evm.log(‘info’, ‘\t#{k}: # {v}’) }
owner_name = $evm.root[‘dialog_service_owner’]
$evm.log(“info”, “Entered owner name: #{owner_name}”)
service_description = $evm.root[‘dialog_service_description’]
$evm.log(“info”, “Entered service description: #{service_description}”)
owner = $evm.vmdb(:user).find_by_name(owner_name)
if owner.nil?
$evm.log(“info”, “Requested owner not found: #{owner_name}”)
exit MIQ_ABORT
end
$evm.log(“info”, “Services Owned by: #{owner.inspect}”)
$evm.log(“info”, “OwnerID: #{owner.id}”)
services = $evm.vmdb(:service).where([“evm_owner_id = ? AND description = ?”, owner.id, service_description])
$evm.log(“info”, “Services: Owned by: #{owner_name}”)
services.each do |s|
if s.retired?
$evm.log(“info”, “Service already retired: #{s.name}”)
next
end
$evm.log(“info”, “Initiating Retirement for Service: #{s.name}”)
s.retire_now
end