def list_stacks(self, context): """ The list_stacks method returns attributes of all stacks. arg1 -> RPC context. """ stacks = db_api.stack_get_by_tenant(context) or [] def format_stack_detail(s): stack = parser.Stack.load(context, stack=s, resolve_data=False) return api.format_stack(stack) return {'stacks': [format_stack_detail(s) for s in stacks]}
def show_stack(self, context, stack_identity): """ The show_stack method returns the attributes of one stack. arg1 -> RPC context. arg2 -> Name of the stack you want to see, or None to see all """ if stack_identity is not None: stacks = [self._get_stack(context, stack_identity)] else: stacks = db_api.stack_get_by_tenant(context) or [] def format_stack_detail(s): stack = parser.Stack.load(context, s.id) return api.format_stack(stack) return {'stacks': [format_stack_detail(s) for s in stacks]}
def show_stack(self, context, stack_name, params): """ The show_stack method returns the attributes of one stack. arg1 -> RPC context. arg2 -> Name of the stack you want to see, or None to see all arg3 -> Dict of http request parameters passed in from API side. """ auth.authenticate(context) if stack_name is not None: s = db_api.stack_get_by_name(context, stack_name) if s: stacks = [s] else: raise AttributeError('Unknown stack name') else: stacks = db_api.stack_get_by_tenant(context) or [] def format_stack_detail(s): stack = parser.Stack.load(context, s.id) return api.format_stack(stack) return {'stacks': [format_stack_detail(s) for s in stacks]}