lib/kumogata/client.rb in kumogata-0.1.2 vs lib/kumogata/client.rb in kumogata-0.1.3
- old
+ new
@@ -55,15 +55,25 @@
def list(stack_name = nil)
stacks = describe_stacks(stack_name)
JSON.pretty_generate(stacks)
end
- def export(stack_name = nil)
+ def export(stack_name)
template = export_template(stack_name)
devaluate_template(template).chomp
end
+ def show_outputs(stack_name)
+ outputs = describe_outputs(stack_name)
+ JSON.pretty_generate(outputs)
+ end
+
+ def show_resources(stack_name)
+ resources = describe_resources(stack_name)
+ JSON.pretty_generate(resources)
+ end
+
private ###########################################################
def open_template(path_or_url)
open(path_or_url) do |f|
if ruby_template?(path_or_url)
@@ -236,9 +246,25 @@
def export_template(stack_name)
stack = @cloud_formation.stacks[stack_name]
stack.status
JSON.parse(stack.template)
+ end
+
+ def describe_outputs(stack_name)
+ AWS.memoize do
+ stack = @cloud_formation.stacks[stack_name]
+ stack.status
+ outputs_for(stack)
+ end
+ end
+
+ def describe_resources(stack_name)
+ AWS.memoize do
+ stack = @cloud_formation.stacks[stack_name]
+ stack.status
+ resource_summaries_for(stack)
+ end
end
def while_in_progress(stack, complete_status)
while stack.status =~ /_IN_PROGRESS\Z/
print '.'.intense_black unless @options.debug?