class AWS::CloudFormation::StackResourceCollection

StackResourceCollection

This collection represents the resources for a single {Stack}. You can enumerate resources, or request a specific resource by its logical resource id.

Other Ways to Get Resource Details

If you want to get a {StackResource} by its physical resource id, then you should use {CloudFormation#stack_resource}.

You can also take a look at {Stack#resource_summaries} for light-weight hashes of stack resource details.

@example Enumerating stack resources

# enumerating all resources for a stack
stack.resources.each do |resource|
  puts resource.resource_type + " " + resource.physical_resource_id
end

@example Getting a stack resource by its logical resource id

resource = stack.resources['web']

Attributes

stack[R]

@return [Stack]

Public Class Methods

new(stack, options = {}) click to toggle source

@param [Stack] stack @param [Hash] options

Calls superclass method
# File lib/aws/cloud_formation/stack_resource_collection.rb, line 49
def initialize stack, options = {}
  @stack = stack
  super
end

Public Instance Methods

[](logical_resource_id) click to toggle source

@param [String] logical_resource_id @return [StackResource] Returns a stack resource with the given

logical resource id.
# File lib/aws/cloud_formation/stack_resource_collection.rb, line 60
def [] logical_resource_id 
  StackResource.new(stack, logical_resource_id)
end

Protected Instance Methods

_each_item(options = {}) { |stack_resource| ... } click to toggle source
# File lib/aws/cloud_formation/stack_resource_collection.rb, line 66
def _each_item options = {}
  options[:stack_name] = stack.name
  response = client.describe_stack_resources(options)
  response.stack_resources.each do |details|

    stack_resource = StackResource.new_from(
      :describe_stack_resources, 
      details,
      self, 
      details.logical_resource_id)

    yield(stack_resource)

  end
end