%instance{:href => instance_url(instance.id), :id => instance.id}

- if instance.name
  %ame<
    =instance.name
- if instance.owner_id
  %wner_id<
    =instance.owner_id
- if instance.image_id
  %mage{:href => image_url(instance.image_id), :id => instance.image_id }
- if instance.realm_id
  %ralm{:href => realm_url(instance.realm_id), :id => instance.realm_id }
- if instance.state
  %sate<
    =instance.state
- if instance.instance_profile
  - haml_tag :"hardware_profile", {:id => instance.instance_profile.id, :href => hardware_profile_url(instance.instance_profile.id)} do
    - instance.instance_profile.overrides.each do |p, v|
      %roperty{:kind => 'fixed', :name => p, :value => v, :unit => Deltacloud::HardwareProfile::unit(p)}
- if instance.actions
  %ctions
    - instance.actions.compact.each do |instance_action|
      %ink{:rel => instance_action, :method => instance_action_method(instance_action), :href => self.send("#{instance_action}_instance_url", instance.id)}
    - if driver.respond_to?(:run_on_instance)
      %ink{:rel => 'run', :method => :post, :href => "#{run_instance_url(instance.id)};id=#{instance.id}"}
    - if instance.can_create_image?
      %ink{:rel => 'create_image', :method => :post, :href => "#{create_image_url};instance_id=#{instance.id}"}
- if instance.launch_time
  %aunch_time<
    =instance.launch_time
- if instance.public_addresses
  %ublic_addresses<
    - instance.public_addresses.each do |a|
      %ddress{ :type => a.address_type, :port => a.port }=a.address
- if instance.private_addresses
  %rivate_addresses<
    - instance.private_addresses.each do |a|
      %ddress{ :type => a.address_type, :port => a.port }=a.address
- if instance.firewalls
  %irewalls<
    - instance.firewalls.each do |firewall|
      %irewall{:href => firewall_url(firewall), :id => firewall }
- if instance.storage_volumes
  %sorage_volumes<
    - instance.storage_volumes.each do |volume|
      %sorage_volume{:href=> storage_volume_url(volume.keys.first), :id => volume.keys.first, :device => volume.values.first}
- if driver.class.has_feature?(:instances, :authentication_key) or driver.class.has_feature?(:instances, :authentication_password)
  %uthentication{ :type => auth_feature_name }
    - if instance.authn_feature_failed?
      %rror  #{instance.authn_error}
    - else
      - if instance.password
        %ogin
          %sername #{instance.username}
          %assword=cdata(instance.password)
      - if instance.keyname
        %ogin
          %eyname #{instance.keyname}