2016-01-31 17:52:11 +03:00
|
|
|
class ChefNodeNameBuilder
|
2016-02-20 17:39:02 +03:00
|
|
|
DEFAULT_MASK = '$project-$cfname-$env'
|
|
|
|
|
|
2016-01-31 17:52:11 +03:00
|
|
|
def initialize(server_info, project, env)
|
|
|
|
|
@server_info, @project, @env = server_info, project, env
|
2016-02-20 17:39:02 +03:00
|
|
|
@mask = (server_info['tags']['cid:node-name-mask'] || DEFAULT_MASK).dup
|
2016-01-31 17:52:11 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def build_node_name
|
|
|
|
|
@mask.gsub!('$project', @project.id)
|
|
|
|
|
@mask.gsub!('$env', @env.identifier)
|
2016-02-20 17:39:02 +03:00
|
|
|
@mask.gsub!('$instanceid', @server_info['id'])
|
|
|
|
|
@mask.gsub!('$cfname', @server_info['tags']['Name'] || '')
|
2016-01-31 17:52:11 +03:00
|
|
|
@mask.gsub!('$time', Time.now.to_i.to_s)
|
|
|
|
|
@mask.gsub!('_', '-')
|
|
|
|
|
@mask
|
|
|
|
|
end
|
|
|
|
|
end
|