return IMPL.stack_get(context, stack_id)
+def stack_get_by_name(context, stack_name):
+ return IMPL.stack_get_by_name(context, stack_name)
+
+
def stack_get_all(context):
return IMPL.stack_get_all(context)
return IMPL.stack_create(context, values)
-def stack_delete(context, stack_name):
- return IMPL.stack_delete(context, stack_name)
+def stack_delete(context, stack_id):
+ return IMPL.stack_delete(context, stack_id)
def user_creds_create(context):
return results
+def stack_get_by_name(context, stack_name):
+ result = model_query(context, models.Stack).\
+ filter_by(name=stack_name).first()
+ if (result is not None and context is not None and
+ result.username != context.username):
+ return None
+ return result
+
+
def stack_get(context, stack_id):
result = model_query(context, models.Stack).\
- filter_by(name=stack_id).first()
- if result is not None and context is not None and\
- result.username != context.username:
+ filter_by(id=stack_id).first()
+ if (result is not None and context is not None and
+ result.username != context.username):
return None
return result
def stack_get_by_user(context):
results = model_query(context, models.Stack).\
- filter_by(username=context.username).all()
+ filter_by(username=context.username).all()
return results
return stack_ref
-def stack_delete(context, stack_name):
- s = stack_get(context, stack_name)
+def stack_delete(context, stack_id):
+ s = stack_get(context, stack_id)
if not s:
raise NotFound('Attempt to delete a stack with id: %s %s' %
(stack_name, 'that does not exist'))
self._authenticate(context)
res = {'stacks': []}
- s = db_api.stack_get(context, stack_name)
+ s = db_api.stack_get_by_name(context, stack_name)
if s:
ps = parser.Stack(context, s.name,
s.raw_template.parsed_template.template,
self._authenticate(context)
- if db_api.stack_get(None, stack_name):
+ if db_api.stack_get_by_name(None, stack_name):
return {'Error': 'Stack already exists with that name.'}
metadata_server = config.FLAGS.heat_metadata_server_url
arg3 -> Dict of http request parameters passed in from API side.
"""
self._authenticate(context)
- s = db_api.stack_get(None, stack_name)
+ s = db_api.stack_get_by_name(None, stack_name)
if s:
return s.raw_template.template
return None
self._authenticate(context)
- st = db_api.stack_get(context, stack_name)
+ st = db_api.stack_get_by_name(context, stack_name)
if not st:
return {'Error': 'No stack by that name'}
self._authenticate(context)
if stack_name is not None:
- st = db_api.stack_get(context, stack_name)
+ st = db_api.stack_get_by_name(context, stack_name)
if not st:
return {'Error': 'No stack by that name'}
stack_name = event['stack']
resource_name = event['resource']
- stack = db_api.stack_get(context, stack_name)
+ stack = db_api.stack_get_by_name(context, stack_name)
resource = db_api.resource_get_by_name_and_stack(context,
resource_name,
stack.id)
"""
Return the resource IDs of the given stack.
"""
- stack = db_api.stack_get(context, stack_name)
+ stack = db_api.stack_get_by_name(context, stack_name)
if stack:
return [res.name for res in stack]
else:
Get the metadata for the given resource.
"""
- s = db_api.stack_get(context, stack_name)
+ s = db_api.stack_get_by_name(context, stack_name)
if not s:
return ['stack', None]
"""
Update the metadata for the given resource.
"""
- s = db_api.stack_get(context, stack_name)
+ s = db_api.stack_get_by_name(context, stack_name)
if not s:
return ['stack', None]
pt_id = s.raw_template.parsed_template.id
logger.info('no action for new state %s',
new_state)
else:
- s = db_api.stack_get(None, wr.stack_name)
+ s = db_api.stack_get_by_name(None, wr.stack_name)
if s:
ps = parser.Stack(context, s.name,
s.raw_template.parsed_template.template,
created, so commands like describe will work.
'''
if self.parsed_template_id == 0:
- stack = db_api.stack_get(self.context, self.name)
+ stack = db_api.stack_get(self.context, self.id)
if stack:
self.parsed_template_id = stack.raw_template.parsed_template.id
else:
'Failed to delete ' + ', '.join(failures))
else:
self.state_set(self.DELETE_COMPLETE, 'Deleted successfully')
- db_api.stack_delete(self.context, self.name)
+ db_api.stack_delete(self.context, self.id)
def get_outputs(self):
outputs = self.resolve_runtime_data(self.outputs)
'''
if self.parsed_template_id == 0:
- stack = db_api.stack_get(self.context, self.name)
+ stack = db_api.stack_get(self.context, self.id)
if stack:
self.parsed_template_id = stack.raw_template.parsed_template.id