@spotinst/spinnaker-deck
Version:
Spinnaker-Deck service, forked with support to Spotinst
191 lines (186 loc) • 8.19 kB
HTML
<div class="details-panel" ng-class="{ disabled: serverGroup.isDisabled }">
<div class="header" ng-if="state.loading">
<div class="close-button">
<a class="btn btn-link" ui-sref="^">
<span class="glyphicon glyphicon-remove"></span>
</a>
</div>
<h4 class="text-center">
<span us-spinner="{radius:20, width:6, length: 12}"></span>
</h4>
</div>
<div class="header" ng-if="!state.loading">
<div class="close-button">
<a class="btn btn-link" ui-sref="^">
<span class="glyphicon glyphicon-remove"></span>
</a>
</div>
<div class="header-text horizontal middle">
<cloud-provider-logo provider="serverGroup.type" height="'36px'" width="'36px'"></cloud-provider-logo>
<h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
{{serverGroup.name}}
<render-if-feature feature="entityTags">
<entity-notifications
entity="serverGroup"
application="ctrl.application"
placement="bottom"
h-offset-percent="90%"
entity-type="serverGroup"
page-location="details"
on-update="ctrl.application.serverGroups.refresh()"
></entity-notifications>
</render-if-feature>
</h3>
</div>
<div>
<div class="actions" ng-class="{ insights: serverGroup.insightActions.length > 0 }">
<div class="dropdown" uib-dropdown dropdown-append-to-body>
<button type="button" class="btn btn-sm btn-primary dropdown-toggle" uib-dropdown-toggle>
Server Group Actions <span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu role="menu">
<li><a href ng-if="ctrl.isRollbackEnabled()" ng-click="ctrl.rollbackServerGroup()">Rollback</a></li>
<li role="presentation" class="divider" ng-if="ctrl.isRollbackEnabled()"></li>
<li><a href ng-click="ctrl.resizeServerGroup()">Resize</a></li>
<li><a href ng-if="!serverGroup.isDisabled" ng-click="ctrl.disableServerGroup()">Disable</a></li>
<li><a href ng-if="serverGroup.isDisabled" ng-click="ctrl.enableServerGroup()">Enable</a></li>
<li><a href ng-click="ctrl.destroyServerGroup()">Destroy</a></li>
<li><a href ng-click="ctrl.cloneServerGroup()">Clone</a></li>
<add-entity-tag-links
component="serverGroup"
application="ctrl.application"
entity-type="serverGroup"
owner-options="ctrl.entityTagTargets"
on-update="ctrl.application.serverGroups.refresh()"
></add-entity-tag-links>
</ul>
</div>
<div class="dropdown" ng-if="serverGroup.insightActions.length > 0" uib-dropdown dropdown-append-to-body>
<button type="button" class="btn btn-sm btn-default dropdown-toggle" uib-dropdown-toggle>
Insight <span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu role="menu">
<li
ng-repeat="action in serverGroup.insightActions"
analytics-on="click"
analytics-category="Insight Menu (Server Group)"
analytics-event="{{action.label}} clicked"
analytics-label="{{serverGroup.account}}/{{serverGroup.region}}/{{serverGroup.name}}"
>
<a target="_blank" href="{{action.url}}">{{action.label}}</a>
</li>
</ul>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
<div class="content" ng-if="!state.loading">
<div class="band band-info" ng-if="serverGroup.isDisabled">Job is Disabled</div>
<managed-resource-details-indicator
ng-if="!state.loading && serverGroup.isManaged"
resource-summary="serverGroup.managedResourceSummary"
application="ctrl.application"
></managed-resource-details-indicator>
<server-group-running-tasks-details
server-group="serverGroup"
application="ctrl.application"
></server-group-running-tasks-details>
<collapsible-section heading="Server Group Information" expanded="true">
<dl class="dl-horizontal dl-narrow">
<dt>Created</dt>
<dd>{{serverGroup.createdTime | timestamp}}</dd>
<dt>In</dt>
<dd>
<account-tag account="serverGroup.account" pad="right"></account-tag>
{{serverGroup.region}}
</dd>
<dt>Job Id</dt>
<dd><a href="{{titusUiEndpoint}}jobs/{{serverGroup.id}}" target="_blank">{{serverGroup.id}}</a></dd>
<entity-source metadata="serverGroup.entityTags.creationMetadata"></entity-source>
</dl>
</collapsible-section>
<collapsible-section heading="Capacity" expanded="true">
<titus-capacity-details-section
app="ctrl.application"
server-group="serverGroup"
></titus-capacity-details-section>
</collapsible-section>
<collapsible-section heading="Health" expanded="true" ng-if="serverGroup.instanceCounts.total > 0">
<dl class="dl-horizontal dl-narrow" ng-if="serverGroup">
<dt>Tasks</dt>
<dd>
<health-counts container="serverGroup.instanceCounts" class="pull-left"></health-counts>
</dd>
</dl>
</collapsible-section>
<collapsible-section heading="Launch Configuration">
<titus-launch-config-section server-group="serverGroup"></titus-launch-config-section>
</collapsible-section>
<titus-security-groups
app="ctrl.application"
server-group="serverGroup"
class="collapsible-section"
style="display: block"
></titus-security-groups>
<collapsible-section heading="Service Job Processes">
<titus-service-job-processes-section
app="ctrl.application"
server-group="serverGroup"
></titus-service-job-processes-section>
</collapsible-section>
<collapsible-section heading="Scaling Policies">
<titus-scaling-policy-summary
ng-repeat="policy in serverGroup.scalingPolicies"
policy="policy"
server-group="serverGroup"
application="ctrl.application"
></titus-scaling-policy-summary>
<titus-create-scaling-policy-button
server-group="serverGroup"
application="ctrl.application"
></titus-create-scaling-policy-button>
<div ng-if="ctrl.awsAccountId">
<config-bin-link
application="ctrl.application"
aws-account-id="ctrl.awsAccountId"
cluster-name="serverGroup.cluster"
region="serverGroup.region"
env="ctrl.env"
cloud-provider="'titus'"
></config-bin-link>
</div>
<titus-custom-scaling-policy
application="ctrl.application"
server-group="serverGroup"
></titus-custom-scaling-policy>
</collapsible-section>
<collapsible-section heading="Job Disruption Budget">
<titus-disruption-budget-section
app="ctrl.application"
server-group="serverGroup"
></titus-disruption-budget-section>
</collapsible-section>
<collapsible-section heading="Job Attributes">
<div ng-if="!serverGroup.labels">No job attributes associated with this server group</div>
<dl ng-if="labels">
<dt ng-repeat-start="(key, val) in labels">{{key}}</dt>
<dd ng-repeat-end>{{val}}</dd>
</dl>
</collapsible-section>
<collapsible-section heading="Container Attributes">
<div ng-if="!serverGroup.containerAttributes">No container attributes associated with this server group</div>
<dl ng-if="serverGroup.containerAttributes">
<dt ng-repeat-start="(key, val) in serverGroup.containerAttributes">{{key}}</dt>
<dd ng-repeat-end>{{val}}</dd>
</dl>
</collapsible-section>
<collapsible-section heading="Environment Variables">
<div ng-if="!serverGroup.env">No environment variables associated with this server group</div>
<dl ng-if="serverGroup.env">
<dt ng-repeat-start="(key, val) in serverGroup.env">{{key}}</dt>
<dd ng-repeat-end>{{val}}</dd>
</dl>
</collapsible-section>
</div>
</div>