1 {% load i18n sizeformat parse_date %} 2 3 <div class="detail"> 4 <dl class="dl-horizontal"> 5 <dt>{% trans "Name" %}</dt> 6 <dd data-display="{{ volume.name|default:volume.id }}" class="word-wrap">{{ volume.name }}</dd> 7 <dt>{% trans "ID" %}</dt> 8 <dd>{{ volume.id }}</dd> 9 {% if volume.description %} 10 <dt>{% trans "Description" %}</dt> 11 <dd>{{ volume.description }}</dd> 12 {% endif %} 13 <dt>{% trans "Project ID" %}</dt> 14 <dd>{{ volume.tenant_id|default:_("-") }}</dd> 15 <dt>{% trans "Status" %}</dt> 16 <dd>{{ volume.status_label|capfirst }}</dd> 17 <dt>{% trans "Group" %}</dt> 18 {% if group %} 19 <dd><a href="{% url 'horizon:project:volume_groups:detail' volume.group_id %}">{{ group.name_or_id }}</a></dd> 20 {% else %} 21 <dd>{% trans "-" %}</dd> 22 {% endif %} 23 </dl> 24 25 <h4>{% trans "Specs" %}</h4> 26 <hr class="header_rule"> 27 <dl class="dl-horizontal"> 28 <dt>{% trans "Size" %}</dt> 29 <dd>{{ volume.size }} {% trans "GiB" %}</dd> 30 {% if volume.volume_type %} 31 <dt>{% trans "Type" %}</dt> 32 <dd>{{ volume.volume_type }}</dd> 33 {% endif %} 34 {% if volume.availabilty_zone %} 35 <dt>{% trans "Availability zone" %}</dt> 36 <dd>{{ volume.availability_zone }}</dd> 37 {% endif %} 38 <dt>{% trans "Bootable" %}</dt> 39 <dd>{{ volume.is_bootable|yesno|capfirst }}</dd> 40 <dt>{% trans "Encrypted" %}</dt> 41 {% if volume.encrypted %} 42 <dd><a href="{% url detail_url.encryption volume.id %}">{% trans "Yes" %}</a></dd> 43 {% else %} 44 <dd>{% trans "No" %}</dd> 45 {% endif %} 46 <dt>{% trans "Created" context "Created time" %}</dt> 47 <dd>{{ volume.created_at|parse_date }}</dd> 48 </dl> 49 50 <h4>{% trans "Attachments" %}</h4> 51 <hr class="header_rule"> 52 <dl class="dl-horizontal"> 53 {% for attachment in volume.attachments %} 54 <dt>{% trans "Attached To" %}</dt> 55 <dd class="word-wrap"> 56 {% url detail_url.instance attachment.server_id as instance_url %} 57 {% blocktrans trimmed with instance_name=attachment.instance.name device=attachment.device %} 58 <a href="{{ instance_url }}">{{ instance_name }}</a> on {{ device }} 59 {% endblocktrans %} 60 </dd> 61 {% empty %} 62 <dt>{% trans "Attached To" %}</dt> 63 <dd><em>{% trans "Not attached" %}</em></dd> 64 {% endfor %} 65 </dl> 66 67 {% if volume.volume_image_metadata %} 68 <h4>{% trans "Volume Source" %}</h4> 69 <hr class="header_rule"> 70 <dl class="dl-horizontal"> 71 <dt>{% trans "Image" %}</dt> 72 <dd class="word-wrap"> 73 {% url detail_url.image volume.volume_image_metadata.image_id as image_url %} 74 <a href="{{ image_url }}">{{ volume.volume_image_metadata.image_name }}</a> 75 </dd> 76 </dl> 77 {% endif %} 78 79 <h4>{% trans "Metadata" %}</h4> 80 <hr class="header_rule"> 81 <dl class="dl-horizontal word-wrap"> 82 {% if volume.metadata.items %} 83 {% for key, value in volume.metadata.items %} 84 <dt>{{ key }}</dt> 85 <dd>{{ value }}</dd> 86 {% endfor %} 87 {% else %} 88 <dd>{% trans "None" %}</dd> 89 {% endif %} 90 </dl> 91 92 {% if volume.transfer %} 93 <h4>{% trans "Volume Transfer" %}</h4> 94 <hr class="header_rule"> 95 <dl> 96 <dt>{% trans "ID" %}</dt> 97 <dd>{{ volume.transfer.id }}</dd> 98 </dl> 99 <dl> 100 <dt>{% trans "Name" %}</dt> 101 <dd class="word-wrap">{{ volume.transfer.name }}</dd> 102 </dl> 103 <dl> 104 <dt>{% trans "Created" context "Created time" %}</dt> 105 <dd>{{ volume.transfer.created_at|parse_date }}</dd> 106 </dl> 107 {% endif %} 108 109 {% if volume.messages %} 110 <h4>{% trans "Messages" %}</h4> 111 <hr class="header_rule"> 112 <div> 113 {% for m in volume.messages %} 114 <div class="alert 115 {% if m.message_level == 'ERROR' %}alert-danger 116 {% elif m.message_level == 'WARNING' %}alert-warning 117 {% elif m.message_level == 'INFO' %}alert-info 118 {% else %}alert-success 119 {% endif %} 120 "> 121 {{ m.user_message }} 122 </div> 123 {% endfor %} 124 </div> 125 {% endif %} 126 </div>