Skip to content

Commit

Permalink
Merge branch 'master' into lb-is-loading
Browse files Browse the repository at this point in the history
  • Loading branch information
stuart-pollock authored Feb 22, 2019
2 parents a35b4cb + 70fb404 commit 754c540
Show file tree
Hide file tree
Showing 641 changed files with 15,003 additions and 10,370 deletions.
2 changes: 1 addition & 1 deletion app/scripts/modules/amazon/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@spinnaker/amazon",
"version": "0.0.175",
"version": "0.0.176",
"main": "lib/lib.js",
"typings": "lib/index.d.ts",
"scripts": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
<div class="col-sm-3 sm-label-right">AWS Settings</div>
<div class="col-sm-9 checkbox" style="margin-bottom: 0; margin-top: 5px">
<label>
<input type="checkbox"
ng-init="$ctrl.initializeApplicationField('aws.useAmiBlockDeviceMappings')"
ng-model="$ctrl.application.providerSettings.aws.useAmiBlockDeviceMappings"/>
<input
type="checkbox"
ng-init="$ctrl.initializeApplicationField('aws.useAmiBlockDeviceMappings')"
ng-model="$ctrl.application.providerSettings.aws.useAmiBlockDeviceMappings"
/>
Prefer AMI Block Device Mappings
</label>
</div>
Expand Down
155 changes: 109 additions & 46 deletions app/scripts/modules/amazon/src/instance/details/instanceDetails.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ <h3>Could not find instance {{instanceIdNotFound}}.</h3>
<div class="details-panel" ng-if="!state.notFoundStandalone">
<div class="header" ng-if="state.loading">
<div class="close-button" ng-if="!state.standalone">
<a class="btn btn-link"
ui-sref="^">
<a class="btn btn-link" ui-sref="^">
<span class="glyphicon glyphicon-remove"></span>
</a>
</div>
Expand All @@ -17,8 +16,7 @@ <h3>Could not find instance {{instanceIdNotFound}}.</h3>

<div class="header" ng-if="!state.loading">
<div class="close-button" ng-if="!state.standalone">
<a class="btn btn-link"
ui-sref="^">
<a class="btn btn-link" ui-sref="^">
<span class="glyphicon glyphicon-remove"></span>
</a>
</div>
Expand All @@ -31,28 +29,64 @@ <h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
<div>
<div class="actions" ng-class="{ insights: instance.insightActions.length > 0 }" ng-if="instance.placement">
<div class="dropdown" uib-dropdown dropdown-append-to-body>
<button type="button" class="btn btn-sm btn-primary dropdown-toggle" ng-disabled="disabled" uib-dropdown-toggle>
<button
type="button"
class="btn btn-sm btn-primary dropdown-toggle"
ng-disabled="disabled"
uib-dropdown-toggle
>
Instance Actions <span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu role="menu">
<li><a href ng-click="ctrl.enableInstanceInDiscovery()" ng-if="ctrl.canRegisterWithDiscovery()">Enable in Discovery</a></li>
<li><a href ng-click="ctrl.disableInstanceInDiscovery()" ng-if="ctrl.hasHealthState('Discovery', 'Up') || ctrl.hasHealthState('Discovery', 'Down')">Disable in Discovery</a></li>
<li><a href ng-click="ctrl.registerInstanceWithLoadBalancer()" ng-if="ctrl.canRegisterWithLoadBalancer()">Register with Load Balancer</a></li>
<li><a href ng-click="ctrl.deregisterInstanceFromLoadBalancer()" ng-if="ctrl.canDeregisterFromLoadBalancer()">Deregister from Load Balancer</a></li>
<li><a href ng-click="ctrl.registerInstanceWithTargetGroup()" ng-if="ctrl.canRegisterWithTargetGroup()">Register with Target Group</a></li>
<li><a href ng-click="ctrl.deregisterInstanceFromTargetGroup()" ng-if="ctrl.canDeregisterFromTargetGroup()">Deregister from Target Group</a></li>
<li>
<a href ng-click="ctrl.enableInstanceInDiscovery()" ng-if="ctrl.canRegisterWithDiscovery()"
>Enable in Discovery</a
>
</li>
<li>
<a
href
ng-click="ctrl.disableInstanceInDiscovery()"
ng-if="ctrl.hasHealthState('Discovery', 'Up') || ctrl.hasHealthState('Discovery', 'Down')"
>Disable in Discovery</a
>
</li>
<li>
<a href ng-click="ctrl.registerInstanceWithLoadBalancer()" ng-if="ctrl.canRegisterWithLoadBalancer()"
>Register with Load Balancer</a
>
</li>
<li>
<a href ng-click="ctrl.deregisterInstanceFromLoadBalancer()" ng-if="ctrl.canDeregisterFromLoadBalancer()"
>Deregister from Load Balancer</a
>
</li>
<li>
<a href ng-click="ctrl.registerInstanceWithTargetGroup()" ng-if="ctrl.canRegisterWithTargetGroup()"
>Register with Target Group</a
>
</li>
<li>
<a href ng-click="ctrl.deregisterInstanceFromTargetGroup()" ng-if="ctrl.canDeregisterFromTargetGroup()"
>Deregister from Target Group</a
>
</li>
<li role="presentation" class="divider" ng-if="instance.health.length > 0"></li>
<li><a href ng-click="ctrl.rebootInstance()">Reboot</a></li>
<li><a href ng-click="ctrl.terminateInstance()">Terminate</a></li>
<li><a href ng-click="ctrl.terminateInstanceAndShrinkServerGroup()">Terminate and Shrink Server Group</a></li>
<li>
<a href ng-click="ctrl.terminateInstanceAndShrinkServerGroup()">Terminate and Shrink Server Group</a>
</li>
</ul>
</div>
<div class="dropdown" ng-if="instance.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 instance.insightActions"><a target=_blank href="{{action.url}}">{{action.label}}</a></li>
<li ng-repeat="action in instance.insightActions">
<a target="_blank" href="{{action.url}}">{{action.label}}</a>
</li>
</ul>
</div>
</div>
Expand All @@ -73,10 +107,13 @@ <h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
<dd>{{instance.instanceType || '(Unknown)'}}</dd>
<dt ng-if="instance.serverGroup">Server Group</dt>
<dd ng-if="instance.serverGroup">
<a ui-sref="^.serverGroup({region: instance.region,
<a
ui-sref="^.serverGroup({region: instance.region,
accountId: instance.account,
serverGroup: instance.serverGroup,
provider: instance.provider})">{{instance.serverGroup}}</a>
provider: instance.provider})"
>{{instance.serverGroup}}</a
>
</dd>
<dt ng-if="instance.serverGroup">VPC</dt>
<dd ng-if="instance.serverGroup"><vpc-tag vpc-id="instance.vpcId"></vpc-tag></dd>
Expand All @@ -98,7 +135,10 @@ <h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
<dt ng-repeat-start="metric in healthMetrics | orderBy: 'type'">{{metric.type | robotToHuman}}</dt>
<dd ng-repeat-end>
<div ng-if="metric.type !== 'LoadBalancer' && metric.type !== 'TargetGroup'">
<span uib-tooltip="{{metric.state.toLowerCase() === 'down' ? metric.description : ''}}" tooltip-placement="left">
<span
uib-tooltip="{{metric.state.toLowerCase() === 'down' ? metric.description : ''}}"
tooltip-placement="left"
>
<span class="glyphicon glyphicon-{{metric.state}}-triangle"></span>
{{metric.state | robotToHuman}}
</span>
Expand All @@ -108,10 +148,16 @@ <h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
<a ng-if="metric.statusPageUrl" target="_blank" href="{{metric.statusPageUrl}}">Status</a>
</span>
</div>
<div ng-if="metric.type === 'LoadBalancer' && metric.loadBalancers.length" ng-repeat="loadBalancer in metric.loadBalancers">
<div
ng-if="metric.type === 'LoadBalancer' && metric.loadBalancers.length"
ng-repeat="loadBalancer in metric.loadBalancers"
>
<instance-load-balancer-health load-balancer="loadBalancer"></instance-load-balancer-health>
</div>
<div ng-if="metric.type === 'TargetGroup' && metric.targetGroups.length" ng-repeat="targetGroup in metric.targetGroups">
<div
ng-if="metric.type === 'TargetGroup' && metric.targetGroups.length"
ng-repeat="targetGroup in metric.targetGroups"
>
<instance-load-balancer-health load-balancer="targetGroup"></instance-load-balancer-health>
</div>
</dd>
Expand All @@ -121,59 +167,70 @@ <h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
<dl class="horizontal-when-filters-collapsed">
<dt ng-if="instance.privateDnsName">Private DNS Name</dt>
<dd ng-if="instance.privateDnsName">
<a href="http://{{instance.privateDnsName}}:{{state.instancePort}}" target="_blank">{{instance.privateDnsName}}</a>
<a href="http://{{instance.privateDnsName}}:{{state.instancePort}}" target="_blank"
>{{instance.privateDnsName}}</a
>
<copy-to-clipboard
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.privateDnsName"
tool-tip="'Copy to clipboard'">
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.privateDnsName"
tool-tip="'Copy to clipboard'"
>
</copy-to-clipboard>
</dd>
<dt ng-if="instance.publicDnsName">Public DNS Name</dt>
<dd ng-if="instance.publicDnsName">
<a href="http://{{instance.publicDnsName}}:{{state.instancePort}}" target="_blank">{{instance.publicDnsName}}</a>
<a href="http://{{instance.publicDnsName}}:{{state.instancePort}}" target="_blank"
>{{instance.publicDnsName}}</a
>
<copy-to-clipboard
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.publicDnsName"
tool-tip="'Copy to clipboard'">
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.publicDnsName"
tool-tip="'Copy to clipboard'"
>
</copy-to-clipboard>
</dd>
<dt ng-if="instance.privateIpAddress">Private IP Address</dt>
<dd ng-if="instance.privateIpAddress">
<a href="http://{{instance.privateIpAddress}}:{{state.instancePort}}" target="_blank">{{instance.privateIpAddress}}</a>
<a href="http://{{instance.privateIpAddress}}:{{state.instancePort}}" target="_blank"
>{{instance.privateIpAddress}}</a
>
<copy-to-clipboard
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.privateIpAddress"
tool-tip="'Copy to clipboard'">
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.privateIpAddress"
tool-tip="'Copy to clipboard'"
>
</copy-to-clipboard>
</dd>
<dt ng-if="instance.permanentIps">Permanent IP Address</dt>
<dd ng-if="instance.permanentIps" ng-repeat="ip in instance.permanentIps">
<a href="http://{{ip}}:{{state.instancePort}}" target="_blank">{{ip}}</a>
<copy-to-clipboard
class="copy-to-clipboard copy-to-clipboard-sm"
text="ip"
tool-tip="'Copy to clipboard'">
<copy-to-clipboard class="copy-to-clipboard copy-to-clipboard-sm" text="ip" tool-tip="'Copy to clipboard'">
</copy-to-clipboard>
</dd>
<dt ng-if="instance.publicIpAddress">Public IP Address</dt>
<dd ng-if="instance.publicIpAddress">
<a href="http://{{instance.publicIpAddress}}:{{state.instancePort}}" target="_blank">{{instance.publicIpAddress}}</a>
<a href="http://{{instance.publicIpAddress}}:{{state.instancePort}}" target="_blank"
>{{instance.publicIpAddress}}</a
>
<copy-to-clipboard
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.publicIpAddress"
tool-tip="'Copy to clipboard'">
class="copy-to-clipboard copy-to-clipboard-sm"
text="instance.publicIpAddress"
tool-tip="'Copy to clipboard'"
>
</copy-to-clipboard>
</dd>
</dl>
</collapsible-section>
<collapsible-section heading="{{securityGroupsLabel}}">
<ul>
<li ng-repeat="securityGroup in instance.securityGroups | orderBy:'groupName'">
<a ui-sref="^.firewallDetails({name:securityGroup.groupName, accountId: instance.account, region: instance.region, vpcId: instance.vpcId, provider: instance.provider})">
{{securityGroup.groupName}} ({{securityGroup.groupId}})
</a>
</li>
</ul>
<ul>
<li ng-repeat="securityGroup in instance.securityGroups | orderBy:'groupName'">
<a
ui-sref="^.firewallDetails({name:securityGroup.groupName, accountId: instance.account, region: instance.region, vpcId: instance.vpcId, provider: instance.provider})"
>
{{securityGroup.groupName}} ({{securityGroup.groupId}})
</a>
</li>
</ul>
</collapsible-section>
<collapsible-section heading="Tags">
<div ng-if=" !instance.tags.length">No tags associated with this server</div>
Expand All @@ -189,7 +246,13 @@ <h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
</li>
</ul>
</collapsible-section>
<instance-links address="baseIpAddress" application="application" instance="instance" moniker="moniker" environment="environment"></instance-links>
<instance-links
address="baseIpAddress"
application="application"
instance="instance"
moniker="moniker"
environment="environment"
></instance-links>
</div>
<div class="content" ng-if="!state.loading && !instance">
<div class="content-section">
Expand Down
Loading

0 comments on commit 754c540

Please sign in to comment.