def initialize route_table, details
@route_table = route_table
@destination_cidr_block = details.destination_cidr_block
if details.respond_to?(:gateway_id)
@internet_gateway = InternetGateway.new(
details.gateway_id,
:config => route_table.config)
end
if details.respond_to?(:instance_id)
@instance = Instance.new(details.instance_id,
:vpc_id => route_table.vpc_id,
:owner_id => details.instance_owner_id,
:config => route_table.config)
end
if details.respond_to?(:network_interface_id)
@network_interface = NetworkInterface.new(
details.network_interface_id,
:vpc_id => route_table.vpc_id,
:config => route_table.config)
end
@target = (internet_gateway || instance || network_interface)
@state = details.state.to_sym
end