@spinnaker/amazon 0.11.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/dist/aws.settings.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instance/awsInstanceType.service.d.ts +10 -2
- package/dist/instance/awsInstanceTypes.d.ts +10 -0
- package/dist/instance/details/CostFactor.d.ts +6 -0
- package/dist/search/searchResultFormatter.d.ts +2 -2
- package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +14 -1
- package/dist/serverGroup/configure/wizard/instanceType/CpuCreditsToggle.d.ts +3 -4
- package/dist/serverGroup/configure/wizard/instanceType/InstanceTypeSelector.d.ts +9 -0
- package/dist/serverGroup/configure/wizard/instanceType/advancedMode/AdvancedModeSelector.d.ts +13 -0
- package/dist/serverGroup/configure/wizard/instanceType/advancedMode/InstanceProfileSelector.d.ts +9 -0
- package/dist/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeRow.d.ts +11 -0
- package/dist/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeTable.d.ts +14 -0
- package/dist/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeTableBody.d.ts +12 -0
- package/dist/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeTableParts.d.ts +15 -0
- package/dist/serverGroup/configure/wizard/instanceType/advancedMode/InstancesDistribution.d.ts +8 -0
- package/dist/serverGroup/configure/wizard/instanceType/simpleMode/SimpleModeSelector.d.ts +8 -0
- package/dist/serverGroup/configure/wizard/pages/ServerGroupInstanceType.d.ts +9 -6
- package/dist/serverGroup/details/scalingPolicy/ScalingPolicySummary.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/chart/MetricAlarmChart.d.ts +0 -4
- package/dist/serverGroup/details/scalingPolicy/index.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/targetTracking/TargetTrackingChart.d.ts +1 -3
- package/package.json +5 -5
- package/src/aws.module.ts +3 -3
- package/src/aws.settings.ts +2 -0
- package/src/function/details/FunctionActions.spec.tsx +15 -12
- package/src/function/details/FunctionActions.tsx +2 -1
- package/src/help/amazon.help.ts +9 -6
- package/src/image/image.reader.spec.ts +75 -0
- package/src/instance/awsInstanceType.service.spec.js +37 -71
- package/src/instance/awsInstanceType.service.ts +191 -0
- package/src/instance/awsInstanceTypes.ts +311 -0
- package/src/instance/details/CostFactor.tsx +29 -0
- package/src/instance/details/InstanceInformation.spec.tsx +2 -1
- package/src/instance/details/instance.details.controller.js +472 -473
- package/src/loadBalancer/details/LoadBalancerActions.tsx +2 -1
- package/src/loadBalancer/details/loadBalancerDetails.controller.spec.ts +5 -3
- package/src/search/{searchResultFormatter.js → searchResultFormatter.ts} +5 -4
- package/src/securityGroup/details/securityGroupDetail.controller.js +2 -1
- package/src/serverGroup/configure/AmazonImageSelectInput.spec.tsx +10 -7
- package/src/serverGroup/configure/serverGroupCommandBuilder.aws.service.spec.js +302 -1
- package/src/serverGroup/configure/serverGroupCommandBuilder.service.js +96 -24
- package/src/serverGroup/configure/serverGroupCommandBuilder.spec.js +25 -8
- package/src/serverGroup/configure/serverGroupConfiguration.service.spec.ts +6 -13
- package/src/serverGroup/configure/serverGroupConfiguration.service.ts +26 -1
- package/src/serverGroup/configure/wizard/AmazonCloneServerGroupModal.tsx +1 -1
- package/src/serverGroup/configure/wizard/instanceType/CpuCreditsToggle.tsx +31 -31
- package/src/serverGroup/configure/wizard/instanceType/InstanceTypeSelector.tsx +133 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/AdvancedModeSelector.tsx +99 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/InstanceProfileSelector.tsx +36 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeRow.tsx +144 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeTable.tsx +137 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeTableBody.tsx +135 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/InstanceTypeTableParts.tsx +137 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/InstancesDistribution.less +5 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/InstancesDistribution.tsx +108 -0
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/advancedMode.less +110 -0
- package/src/serverGroup/configure/wizard/instanceType/simpleMode/SimpleModeSelector.tsx +62 -0
- package/src/serverGroup/configure/wizard/pages/ServerGroupInstanceType.tsx +106 -62
- package/src/serverGroup/configure/wizard/pages/advancedSettings/ServerGroupAdvancedSettingsCommon.tsx +1 -1
- package/src/serverGroup/details/AmazonServerGroupActions.tsx +2 -1
- package/src/serverGroup/details/scalingPolicy/ScalingPolicySummary.tsx +7 -3
- package/src/serverGroup/details/scalingPolicy/StepPolicySummary.tsx +26 -28
- package/src/serverGroup/details/scalingPolicy/chart/MetricAlarmChart.tsx +1 -25
- package/src/serverGroup/details/scalingPolicy/index.ts +0 -1
- package/src/serverGroup/details/scalingPolicy/scalingPolicy.module.ts +1 -9
- package/src/serverGroup/details/scalingPolicy/scalingPolicySummary.component.ts +6 -2
- package/src/serverGroup/details/scalingPolicy/targetTracking/TargetTrackingChart.tsx +2 -17
- package/src/serverGroup/details/scalingPolicy/upsert/alarm/AlarmConfigurer.less +1 -1
- package/src/serverGroup/details/scalingProcesses/AutoScalingProcessService.spec.ts +1 -2
- package/src/serverGroup/details/sections/AdvancedSettingsDetailsSection.tsx +3 -2
- package/src/serverGroup/details/sections/AmazonCapacityDetailsSection.tsx +3 -8
- package/src/serverGroup/details/sections/InstancesDistributionDetailsSection.spec.tsx +8 -5
- package/src/serverGroup/details/sections/LaunchTemplateDetailsSection.spec.tsx +8 -5
- package/src/serverGroup/details/sections/ScalingPoliciesDetailsSection.tsx +3 -3
- package/src/serverGroup/details/sections/ScalingProcessesDetailsSection.tsx +3 -10
- package/src/serverGroup/details/sections/ScheduledActionsDetailsSection.tsx +3 -2
- package/src/serverGroup/details/sections/SecurityGroupsDetailsSection.tsx +3 -2
- package/src/serverGroup/serverGroup.transformer.spec.ts +5 -3
- package/src/subnet/SubnetSelectInput.spec.tsx +7 -4
- package/src/vpc/{VpcReader.spec.js → VpcReader.spec.ts} +2 -10
- package/src/vpc/VpcTag.spec.tsx +37 -0
- package/src/vpc/vpc.module.ts +6 -2
- package/dist/reactShims/aws.ngReact.d.ts +0 -11
- package/dist/serverGroup/details/scalingPolicy/ScalingPolicyTypeRegistry.d.ts +0 -10
- package/dist/serverGroup/details/scalingPolicy/alarmBasedSummary.component.d.ts +0 -2
- package/dist/serverGroup/details/scalingPolicy/detailsSummary.component.d.ts +0 -12
- package/dist/serverGroup/details/scalingPolicy/popover/scalingPolicyPopover.component.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/stepPolicySummary.component.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/targetTracking/TargetTrackingPolicy.config.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/targetTracking/targetTracking.module.d.ts +0 -2
- package/dist/serverGroup/details/scalingPolicy/targetTracking/targetTrackingChart.component.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/targetTracking/targetTrackingSummary.component.d.ts +0 -1
- package/dist/vpc/vpcTag.directive.d.ts +0 -2
- package/src/image/image.reader.spec.js +0 -123
- package/src/instance/awsInstanceType.service.js +0 -437
- package/src/reactShims/aws.ngReact.ts +0 -27
- package/src/serverGroup/details/scalingPolicy/ScalingPolicyTypeRegistry.ts +0 -18
- package/src/serverGroup/details/scalingPolicy/alarmBasedSummary.component.html +0 -35
- package/src/serverGroup/details/scalingPolicy/alarmBasedSummary.component.js +0 -60
- package/src/serverGroup/details/scalingPolicy/alarmBasedSummary.template.html +0 -5
- package/src/serverGroup/details/scalingPolicy/detailsSummary.component.ts +0 -32
- package/src/serverGroup/details/scalingPolicy/popover/scalingPolicyDetails.popover.html +0 -1
- package/src/serverGroup/details/scalingPolicy/popover/scalingPolicyPopover.component.html +0 -107
- package/src/serverGroup/details/scalingPolicy/popover/scalingPolicyPopover.component.ts +0 -31
- package/src/serverGroup/details/scalingPolicy/scalingPolicySummary.component.less +0 -15
- package/src/serverGroup/details/scalingPolicy/stepPolicySummary.component.ts +0 -10
- package/src/serverGroup/details/scalingPolicy/targetTracking/TargetTrackingPolicy.config.ts +0 -6
- package/src/serverGroup/details/scalingPolicy/targetTracking/targetTracking.module.ts +0 -8
- package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingChart.component.ts +0 -16
- package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingSummary.component.ts +0 -14
- package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingSummary.html +0 -5
- package/src/vpc/vpcTag.directive.js +0 -34
- package/src/vpc/vpcTag.directive.spec.js +0 -60
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
<div>
|
|
2
|
-
<dl class="dl-horizontal dl-narrow">
|
|
3
|
-
<dt>Whenever</dt>
|
|
4
|
-
<dd>
|
|
5
|
-
{{ $ctrl.alarm.statistic }} of {{ $ctrl.alarm.metricName }} is
|
|
6
|
-
<span ng-bind-html="$ctrl.alarm.comparator"></span> {{ $ctrl.alarm.threshold }}
|
|
7
|
-
</dd>
|
|
8
|
-
<dt>for at least</dt>
|
|
9
|
-
<dd>{{ $ctrl.alarm.evaluationPeriods }} consecutive periods of {{ $ctrl.alarm.period }} seconds</dd>
|
|
10
|
-
<dt>then</dt>
|
|
11
|
-
<dd ng-if="$ctrl.policy.stepAdjustments.length">
|
|
12
|
-
<div ng-repeat="stepAdjustment in $ctrl.policy.stepAdjustments">
|
|
13
|
-
<span ng-if="$ctrl.policy.stepAdjustments.length > 1">
|
|
14
|
-
if {{ $ctrl.alarm.metricName }}
|
|
15
|
-
<span ng-if="$ctrl.alarm.comparisonOperator.indexOf('Greater') === 0">
|
|
16
|
-
<span
|
|
17
|
-
ng-if="
|
|
18
|
-
stepAdjustment.metricIntervalUpperBound !== undefined &&
|
|
19
|
-
stepAdjustment.metricIntervalLowerBound !== undefined
|
|
20
|
-
"
|
|
21
|
-
>
|
|
22
|
-
is between
|
|
23
|
-
{{ $ctrl.alarm.threshold + stepAdjustment.metricIntervalLowerBound }}
|
|
24
|
-
and
|
|
25
|
-
{{ $ctrl.alarm.threshold + stepAdjustment.metricIntervalUpperBound }}
|
|
26
|
-
</span>
|
|
27
|
-
<span ng-if="stepAdjustment.metricIntervalUpperBound === undefined">
|
|
28
|
-
is greater than {{ $ctrl.alarm.threshold + stepAdjustment.metricIntervalLowerBound }}
|
|
29
|
-
</span>
|
|
30
|
-
</span>
|
|
31
|
-
|
|
32
|
-
<span ng-if="$ctrl.alarm.comparisonOperator.indexOf('Less') === 0">
|
|
33
|
-
<span
|
|
34
|
-
ng-if="
|
|
35
|
-
stepAdjustment.metricIntervalUpperBound !== undefined &&
|
|
36
|
-
stepAdjustment.metricIntervalLowerBound !== undefined
|
|
37
|
-
"
|
|
38
|
-
>
|
|
39
|
-
is between
|
|
40
|
-
{{ $ctrl.alarm.threshold + stepAdjustment.metricIntervalLowerBound }}
|
|
41
|
-
and
|
|
42
|
-
{{ $ctrl.alarm.threshold + stepAdjustment.metricIntervalUpperBound }}
|
|
43
|
-
</span>
|
|
44
|
-
<span ng-if="stepAdjustment.metricIntervalLowerBound === undefined">
|
|
45
|
-
is less than {{ $ctrl.alarm.threshold + stepAdjustment.metricIntervalUpperBound }}
|
|
46
|
-
</span> </span
|
|
47
|
-
>,
|
|
48
|
-
</span>
|
|
49
|
-
<span ng-if="$ctrl.policy.adjustmentType === 'ExactCapacity'">
|
|
50
|
-
set capacity to {{ stepAdjustment.scalingAdjustment }} instance<span
|
|
51
|
-
ng-if="stepAdjustment.scalingAdjustment > 1"
|
|
52
|
-
>s</span
|
|
53
|
-
>
|
|
54
|
-
</span>
|
|
55
|
-
<span
|
|
56
|
-
ng-if="
|
|
57
|
-
$ctrl.policy.adjustmentType === 'ChangeInCapacity' ||
|
|
58
|
-
$ctrl.policy.adjustmentType === 'PercentChangeInCapacity'
|
|
59
|
-
"
|
|
60
|
-
>
|
|
61
|
-
{{ stepAdjustment.operator }} capacity
|
|
62
|
-
<span ng-if="$ctrl.policy.adjustmentType === 'PercentChangeInCapacity'">
|
|
63
|
-
by {{ stepAdjustment.absAdjustment }}%
|
|
64
|
-
</span>
|
|
65
|
-
<span ng-if="$ctrl.policy.adjustmentType === 'ChangeInCapacity'">
|
|
66
|
-
by {{ stepAdjustment.absAdjustment }} instance<span ng-if="stepAdjustment.absAdjustment > 1">s</span>
|
|
67
|
-
</span>
|
|
68
|
-
</span>
|
|
69
|
-
</div>
|
|
70
|
-
</dd>
|
|
71
|
-
<dd ng-if="!$ctrl.policy.stepAdjustments.length">
|
|
72
|
-
<span ng-if="$ctrl.policy.adjustmentType === 'ExactCapacity'">
|
|
73
|
-
set capacity to {{ $ctrl.policy.scalingAdjustment }} instance<span ng-if="$ctrl.policy.scalingAdjustment > 1"
|
|
74
|
-
>s</span
|
|
75
|
-
>
|
|
76
|
-
</span>
|
|
77
|
-
<span
|
|
78
|
-
ng-if="
|
|
79
|
-
$ctrl.policy.adjustmentType === 'ChangeInCapacity' ||
|
|
80
|
-
$ctrl.policy.adjustmentType === 'PercentChangeInCapacity'
|
|
81
|
-
"
|
|
82
|
-
>
|
|
83
|
-
{{ $ctrl.policy.operator }} capacity
|
|
84
|
-
<span ng-if="$ctrl.policy.adjustmentType === 'PercentChangeInCapacity'">
|
|
85
|
-
by {{ $ctrl.policy.absAdjustment }}%
|
|
86
|
-
</span>
|
|
87
|
-
<span ng-if="$ctrl.policy.adjustmentType === 'ChangeInCapacity'">
|
|
88
|
-
by {{ $ctrl.policy.absAdjustment }} instance<span ng-if="$ctrl.policy.absAdjustment > 1">s</span>
|
|
89
|
-
</span>
|
|
90
|
-
</span>
|
|
91
|
-
</dd>
|
|
92
|
-
<dt ng-if="$ctrl.policy.minAdjustmentMagnitude">in</dt>
|
|
93
|
-
<dd ng-if="$ctrl.policy.minAdjustmentMagnitude">
|
|
94
|
-
increments of at least {{ $ctrl.policy.minAdjustmentMagnitude }} instance<span
|
|
95
|
-
ng-if="$ctrl.policy.minAdjustmentMagnitude > 1"
|
|
96
|
-
>s</span
|
|
97
|
-
>
|
|
98
|
-
</dd>
|
|
99
|
-
<dt ng-if="$ctrl.showWait">wait</dt>
|
|
100
|
-
<dd ng-if="$ctrl.policy.cooldown">{{ $ctrl.policy.cooldown }} seconds before allowing another scaling activity.</dd>
|
|
101
|
-
<dd ng-if="$ctrl.showWait && $ctrl.policy.estimatedInstanceWarmup">
|
|
102
|
-
{{ $ctrl.policy.estimatedInstanceWarmup }} seconds to warm up after each step.
|
|
103
|
-
</dd>
|
|
104
|
-
</dl>
|
|
105
|
-
|
|
106
|
-
<metric-alarm-chart alarm="$ctrl.policy.alarms[0]" server-group="$ctrl.serverGroup"></metric-alarm-chart>
|
|
107
|
-
</div>
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { IComponentOptions } from 'angular';
|
|
2
|
-
import { module } from 'angular';
|
|
3
|
-
import { AMAZON_SERVERGROUP_DETAILS_SCALINGPOLICY_CHART_METRICALARMCHART_COMPONENT } from '../chart/MetricAlarmChart';
|
|
4
|
-
|
|
5
|
-
const scalingPolicyPopover: IComponentOptions = {
|
|
6
|
-
bindings: {
|
|
7
|
-
policy: '=',
|
|
8
|
-
serverGroup: '=',
|
|
9
|
-
},
|
|
10
|
-
templateUrl: require('./scalingPolicyPopover.component.html'),
|
|
11
|
-
controller() {
|
|
12
|
-
this.$onInit = () => {
|
|
13
|
-
this.alarm = this.policy.alarms[0];
|
|
14
|
-
|
|
15
|
-
let showWait = false;
|
|
16
|
-
if (this.policy.cooldown) {
|
|
17
|
-
showWait = true;
|
|
18
|
-
}
|
|
19
|
-
if (this.policy.stepAdjustments && this.policy.stepAdjustments.length) {
|
|
20
|
-
showWait = this.policy.stepAdjustments[0].operator !== 'decrease';
|
|
21
|
-
}
|
|
22
|
-
this.showWait = showWait;
|
|
23
|
-
};
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export const SCALING_POLICY_POPOVER = 'spinnaker.amazon.serverGroup.details.scalingPolicy.popover.component';
|
|
28
|
-
module(SCALING_POLICY_POPOVER, [AMAZON_SERVERGROUP_DETAILS_SCALINGPOLICY_CHART_METRICALARMCHART_COMPONENT]).component(
|
|
29
|
-
'awsScalingPolicyPopover',
|
|
30
|
-
scalingPolicyPopover,
|
|
31
|
-
);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { module } from 'angular';
|
|
2
|
-
import { react2angular } from 'react2angular';
|
|
3
|
-
import { withErrorBoundary } from '@spinnaker/core';
|
|
4
|
-
import { StepPolicySummary } from './StepPolicySummary';
|
|
5
|
-
|
|
6
|
-
export const STEP_POLICY_SUMMARY_COMPONENT = 'spinnaker.amazon.scalingPolicy.stepPolicySummary.component';
|
|
7
|
-
module(STEP_POLICY_SUMMARY_COMPONENT, []).component(
|
|
8
|
-
'stepPolicySummary',
|
|
9
|
-
react2angular(withErrorBoundary(StepPolicySummary, 'stepPolicySummary'), ['application', 'policy', 'serverGroup']),
|
|
10
|
-
);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { module } from 'angular';
|
|
2
|
-
|
|
3
|
-
import './TargetTrackingPolicy.config';
|
|
4
|
-
import { TARGET_TRACKING_CHART_COMPONENT } from './targetTrackingChart.component';
|
|
5
|
-
import { TARGET_TRACKING_SUMMARY_COMPONENT } from './targetTrackingSummary.component';
|
|
6
|
-
|
|
7
|
-
export const TARGET_TRACKING_MODULE = 'spinnaker.amazon.scalingPolicy.targetTracking';
|
|
8
|
-
module(TARGET_TRACKING_MODULE, [TARGET_TRACKING_CHART_COMPONENT, TARGET_TRACKING_SUMMARY_COMPONENT]);
|
package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingChart.component.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { module } from 'angular';
|
|
2
|
-
import { react2angular } from 'react2angular';
|
|
3
|
-
import { withErrorBoundary } from '@spinnaker/core';
|
|
4
|
-
import { TargetTrackingChart } from './TargetTrackingChart';
|
|
5
|
-
|
|
6
|
-
export const TARGET_TRACKING_CHART_COMPONENT = 'spinnaker.amazon.scalingPolicy.targetTracking.chart.component';
|
|
7
|
-
module(TARGET_TRACKING_CHART_COMPONENT, []).component(
|
|
8
|
-
'targetTrackingChart',
|
|
9
|
-
react2angular(withErrorBoundary(TargetTrackingChart, 'targetTrackingChart'), [
|
|
10
|
-
'alarmUpdated',
|
|
11
|
-
'config',
|
|
12
|
-
'serverGroup',
|
|
13
|
-
'unit',
|
|
14
|
-
'updateUnit',
|
|
15
|
-
]),
|
|
16
|
-
);
|
package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingSummary.component.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { module } from 'angular';
|
|
2
|
-
import { react2angular } from 'react2angular';
|
|
3
|
-
import { withErrorBoundary } from '@spinnaker/core';
|
|
4
|
-
import { TargetTrackingSummary } from './TargetTrackingSummary';
|
|
5
|
-
|
|
6
|
-
export const TARGET_TRACKING_SUMMARY_COMPONENT = 'spinnaker.amazon.scalingPolicy.targetTracking.summary.component';
|
|
7
|
-
module(TARGET_TRACKING_SUMMARY_COMPONENT, []).component(
|
|
8
|
-
'targetTrackingSummary',
|
|
9
|
-
react2angular(withErrorBoundary(TargetTrackingSummary, 'stepPolicySummary'), [
|
|
10
|
-
'application',
|
|
11
|
-
'policy',
|
|
12
|
-
'serverGroup',
|
|
13
|
-
]),
|
|
14
|
-
);
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
import { module } from 'angular';
|
|
4
|
-
|
|
5
|
-
import { VpcReader } from '../vpc/VpcReader';
|
|
6
|
-
|
|
7
|
-
export const AMAZON_VPC_VPCTAG_DIRECTIVE = 'spinnaker.amazon.vpc.tag.directive';
|
|
8
|
-
export const name = AMAZON_VPC_VPCTAG_DIRECTIVE; // for backwards compatibility
|
|
9
|
-
module(AMAZON_VPC_VPCTAG_DIRECTIVE, []).directive('vpcTag', function () {
|
|
10
|
-
return {
|
|
11
|
-
restrict: 'E',
|
|
12
|
-
scope: {
|
|
13
|
-
vpcId: '=',
|
|
14
|
-
},
|
|
15
|
-
template: '<span class="vpc-tag">{{vpcLabel}}</span>',
|
|
16
|
-
link: function (scope) {
|
|
17
|
-
function applyLabel() {
|
|
18
|
-
if (!scope.vpcId) {
|
|
19
|
-
scope.vpcLabel = 'None (EC2 Classic)';
|
|
20
|
-
} else {
|
|
21
|
-
VpcReader.getVpcName(scope.vpcId).then(function (name) {
|
|
22
|
-
scope.vpcLabel = '(' + scope.vpcId + ')';
|
|
23
|
-
|
|
24
|
-
if (name) {
|
|
25
|
-
scope.vpcLabel = name + ' ' + scope.vpcLabel;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
scope.$watch('vpcId', applyLabel, true);
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
});
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
import { VpcReader } from '../vpc/VpcReader';
|
|
4
|
-
|
|
5
|
-
describe('Directives: vpcTag', function () {
|
|
6
|
-
var $q;
|
|
7
|
-
|
|
8
|
-
beforeEach(window.module(require('./vpcTag.directive').name));
|
|
9
|
-
|
|
10
|
-
beforeEach(
|
|
11
|
-
window.inject(function ($rootScope, $compile, _$q_) {
|
|
12
|
-
this.scope = $rootScope.$new();
|
|
13
|
-
this.compile = $compile;
|
|
14
|
-
$q = _$q_;
|
|
15
|
-
}),
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
describe('vpc tag rendering - no VPC provided', function () {
|
|
19
|
-
it('displays default message when no vpcId supplied', function () {
|
|
20
|
-
var domNode = this.compile('<vpc-tag></vpc-tag>')(this.scope);
|
|
21
|
-
this.scope.$digest();
|
|
22
|
-
expect(domNode.find('span').text()).toBe('None (EC2 Classic)');
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('displays default message when undefined vpcId supplied', function () {
|
|
26
|
-
var domNode = this.compile('<vpc-tag vpc-id="notDefined"></vpc-tag>')(this.scope);
|
|
27
|
-
this.scope.$digest();
|
|
28
|
-
expect(domNode.find('span').text()).toBe('None (EC2 Classic)');
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it('displays default message when null vpcId supplied', function () {
|
|
32
|
-
this.scope.vpcId = null;
|
|
33
|
-
var domNode = this.compile('<vpc-tag vpc-id="vpcId"></vpc-tag>')(this.scope);
|
|
34
|
-
this.scope.$digest();
|
|
35
|
-
expect(domNode.find('span').text()).toBe('None (EC2 Classic)');
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe('vpc tag rendering - VPC provided', function () {
|
|
40
|
-
it('displays vpc name when found', function () {
|
|
41
|
-
spyOn(VpcReader, 'getVpcName').and.callFake(function () {
|
|
42
|
-
return $q.when('Main VPC');
|
|
43
|
-
});
|
|
44
|
-
this.scope.vpcId = 'vpc-1';
|
|
45
|
-
var domNode = this.compile('<vpc-tag vpc-id="vpcId"></vpc-tag>')(this.scope);
|
|
46
|
-
this.scope.$digest();
|
|
47
|
-
expect(domNode.find('span').text()).toBe('Main VPC (vpc-1)');
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it('displays vpc id when not found', function () {
|
|
51
|
-
spyOn(VpcReader, 'getVpcName').and.callFake(function () {
|
|
52
|
-
return $q.when(null);
|
|
53
|
-
});
|
|
54
|
-
this.scope.vpcId = 'vpc-2';
|
|
55
|
-
var domNode = this.compile('<vpc-tag vpc-id="vpcId"></vpc-tag>')(this.scope);
|
|
56
|
-
this.scope.$digest();
|
|
57
|
-
expect(domNode.find('span').text()).toBe('(vpc-2)');
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|