Update run-parser to work with proper user parameters as sent through the apis

Fixes Issue #42

Signed-off-by: Steven Dake <sdake@redhat.com>
This commit is contained in:
Steven Dake 2012-03-28 13:51:35 -07:00
parent 1e7c0eff6c
commit 4c93dcf75a
1 changed files with 21 additions and 15 deletions

View File

@ -12,34 +12,40 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')):
from heat.engine import parser
parameter_count = 1
def setparam(t, key, value):
if not t.has_key('Parameters'):
t['Parameters'] = {}
global parameter_count
key_name = 'Parameters.member.%d.ParameterKey' % parameter_count
value_name = 'Parameters.member.%d.ParameterValue' % parameter_count
print 'key_name %s' % key_name
if not t['Parameters'].has_key(key):
t['Parameters'][key] = {}
t['Parameters'][key]['Value'] = value
t[key_name] = key
t[value_name] = value
parameter_count += 1
filename = sys.argv[1]
with open(filename) as f:
blob = json.load(f)
json_blob = json.load(f)
(stack_name, tmp) = os.path.splitext(os.path.basename(filename))
setparam(blob, 'AWS::StackName', stack_name)
params_dict = {}
setparam(params_dict, 'AWS::StackName', stack_name)
# Don't immediately see a way to have key name as a parameter and also
# file injection and monitoring
# need to insert key on creation and know what private key is
setparam(blob, 'KeyName', '309842309484') # <- that gets inserted into image
setparam(params_dict, 'KeyName', '309842309484') # <- that gets inserted into image
setparam(blob, 'InstanceType', 't1.micro')
setparam(blob, 'DBUsername', 'eddie.jones')
setparam(blob, 'DBPassword', 'adm1n')
setparam(blob, 'DBRootPassword', 'admone')
setparam(blob, 'LinuxDistribution', 'F16')
setparam(params_dict, 'AWS::StackName', stack_name)
setparam(params_dict, 'InstanceType', 't1.micro')
setparam(params_dict, 'DBUsername', 'eddie.jones')
setparam(params_dict, 'DBPassword', 'adm1n')
setparam(params_dict, 'DBRootPassword', 'admone')
setparam(params_dict, 'LinuxDistribution', 'F16')
stack = parser.Stack(stack_name, blob)
stack = parser.Stack(stack_name, json_blob, params_dict)
stack.start()