@spinnaker/titus 0.5.10 → 0.5.15

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.
Files changed (109) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/domain/ITitusCredentials.d.ts +1 -1
  3. package/dist/domain/ITitusInstance.d.ts +1 -1
  4. package/dist/domain/ITitusScalingPolicy.d.ts +1 -1
  5. package/dist/domain/ITitusServerGroup.d.ts +5 -5
  6. package/dist/index.js +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/instance/details/TitusInstanceDetails.d.ts +4 -3
  9. package/dist/instance/details/TitusInstanceDns.d.ts +1 -0
  10. package/dist/instance/details/TitusInstanceInformation.d.ts +2 -1
  11. package/dist/instance/details/titusInstanceDetailsUtils.d.ts +2 -2
  12. package/dist/pipeline/stages/runJob/RunJobExecutionDetails.d.ts +1 -1
  13. package/dist/pipeline/stages/runJob/TitusRunJobStageConfig.d.ts +2 -2
  14. package/dist/pipeline/stages/runJob/TitusSecurityGroupPicker.d.ts +1 -1
  15. package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +4 -4
  16. package/dist/serverGroup/configure/wizard/TitusCloneServerGroupModal.d.ts +3 -2
  17. package/dist/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.d.ts +3 -3
  18. package/dist/serverGroup/configure/wizard/pages/ServerGroupParameters.d.ts +3 -3
  19. package/dist/serverGroup/configure/wizard/pages/ServerGroupResources.d.ts +3 -3
  20. package/dist/serverGroup/configure/wizard/pages/TitusMapLayout.d.ts +2 -1
  21. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/JobDisruptionBudget.d.ts +5 -5
  22. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/PolicyOptions.d.ts +1 -1
  23. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/RateOptions.d.ts +1 -1
  24. package/dist/serverGroup/configure/wizard/pages/disruptionBudget/WindowPicker.d.ts +2 -2
  25. package/dist/serverGroup/details/TitusCapacityDetailsSection.d.ts +2 -2
  26. package/dist/serverGroup/details/TitusLaunchConfigSection.d.ts +1 -1
  27. package/dist/serverGroup/details/TitusPackageDetailsSection.d.ts +2 -1
  28. package/dist/serverGroup/details/TitusSecurityGroups.d.ts +2 -2
  29. package/dist/serverGroup/details/disruptionBudget/DisruptionBudgetSection.d.ts +2 -2
  30. package/dist/serverGroup/details/disruptionBudget/EditDisruptionBudgetModal.d.ts +3 -3
  31. package/dist/serverGroup/details/index.d.ts +1 -0
  32. package/dist/serverGroup/details/resize/TitusResizeServerGroupModal.d.ts +3 -2
  33. package/dist/serverGroup/details/resize/useTaskMonitor.d.ts +2 -1
  34. package/dist/serverGroup/details/scalingActivity/TitusScalingActivitiesModal.d.ts +3 -2
  35. package/dist/serverGroup/details/scalingPolicy/CreateScalingPolicyButton.d.ts +1 -1
  36. package/dist/serverGroup/details/scalingPolicy/TitusCustomScalingPolicy.d.ts +2 -2
  37. package/dist/serverGroup/details/scalingPolicy/index.d.ts +3 -0
  38. package/dist/serverGroup/details/scalingPolicy/targetTracking/TitusTargetTrackingChart.d.ts +3 -4
  39. package/dist/serverGroup/details/scalingPolicy/targetTracking/UpsertTargetTrackingModal.d.ts +4 -3
  40. package/dist/serverGroup/details/scalingPolicy/upsert/TitusScalingPolicyCommandBuilderService.d.ts +2 -2
  41. package/dist/serverGroup/details/scalingPolicy/upsert/UpsertScalingPolicyModal.d.ts +4 -3
  42. package/dist/serverGroup/details/sections/ITitusServerGroupDetailsSectionProps.d.ts +2 -2
  43. package/dist/serverGroup/details/serviceJobProcesses/ServiceJobProcesses.d.ts +1 -1
  44. package/dist/serverGroup/details/serviceJobProcesses/ServiceJobProcessesSection.d.ts +1 -1
  45. package/dist/titus.settings.d.ts +1 -1
  46. package/package.json +8 -8
  47. package/src/domain/ITitusCredentials.ts +1 -1
  48. package/src/domain/ITitusInstance.ts +1 -1
  49. package/src/domain/ITitusScalingPolicy.ts +1 -1
  50. package/src/domain/ITitusServerGroup.ts +5 -5
  51. package/src/instance/details/TitusInstanceDetails.tsx +10 -7
  52. package/src/instance/details/TitusInstanceInformation.tsx +1 -1
  53. package/src/instance/details/titusInstanceDetailsUtils.spec.ts +2 -2
  54. package/src/instance/details/titusInstanceDetailsUtils.ts +4 -11
  55. package/src/pipeline/stages/runJob/RunJobExecutionDetails.tsx +1 -1
  56. package/src/pipeline/stages/runJob/TitusRunJobStageConfig.tsx +4 -5
  57. package/src/pipeline/stages/runJob/TitusSecurityGroupPicker.tsx +2 -10
  58. package/src/pipeline/stages/runJob/titusRunJobStage.ts +2 -1
  59. package/src/serverGroup/configure/serverGroupConfiguration.service.ts +11 -9
  60. package/src/serverGroup/configure/wizard/TitusCloneServerGroupModal.tsx +3 -4
  61. package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.tsx +4 -5
  62. package/src/serverGroup/configure/wizard/pages/ServerGroupParameters.tsx +3 -5
  63. package/src/serverGroup/configure/wizard/pages/ServerGroupResources.tsx +6 -4
  64. package/src/serverGroup/configure/wizard/pages/TitusMapLayout.tsx +3 -2
  65. package/src/serverGroup/configure/wizard/pages/disruptionBudget/JobDisruptionBudget.tsx +5 -5
  66. package/src/serverGroup/configure/wizard/pages/disruptionBudget/PolicyOptions.tsx +1 -1
  67. package/src/serverGroup/configure/wizard/pages/disruptionBudget/RateOptions.tsx +1 -1
  68. package/src/serverGroup/configure/wizard/pages/disruptionBudget/WindowPicker.tsx +3 -3
  69. package/src/serverGroup/details/TitusCapacityDetailsSection.tsx +4 -3
  70. package/src/serverGroup/details/TitusLaunchConfigSection.tsx +1 -1
  71. package/src/serverGroup/details/TitusPackageDetailsSection.tsx +1 -1
  72. package/src/serverGroup/details/TitusSecurityGroups.tsx +3 -9
  73. package/src/serverGroup/details/disruptionBudget/DisruptionBudgetSection.tsx +7 -10
  74. package/src/serverGroup/details/disruptionBudget/EditDisruptionBudgetModal.tsx +3 -5
  75. package/src/serverGroup/details/index.ts +1 -0
  76. package/src/serverGroup/details/resize/TitusResizeServerGroupModal.tsx +4 -5
  77. package/src/serverGroup/details/resize/useTaskMonitor.ts +2 -1
  78. package/src/serverGroup/details/scalingActivity/TitusScalingActivitiesModal.tsx +3 -11
  79. package/src/serverGroup/details/scalingPolicy/CreateScalingPolicyButton.tsx +6 -3
  80. package/src/serverGroup/details/scalingPolicy/TitusCustomScalingPolicy.tsx +3 -2
  81. package/src/serverGroup/details/scalingPolicy/index.js +3 -0
  82. package/src/serverGroup/details/scalingPolicy/scalingPolicy.module.ts +1 -10
  83. package/src/serverGroup/details/scalingPolicy/targetTracking/TitusTargetTrackingChart.tsx +5 -25
  84. package/src/serverGroup/details/scalingPolicy/targetTracking/UpsertTargetTrackingModal.tsx +5 -5
  85. package/src/serverGroup/details/scalingPolicy/upsert/TitusScalingPolicyCommandBuilderService.ts +2 -2
  86. package/src/serverGroup/details/scalingPolicy/upsert/UpsertScalingPolicyModal.tsx +6 -7
  87. package/src/serverGroup/details/sections/ITitusServerGroupDetailsSectionProps.ts +2 -2
  88. package/src/serverGroup/details/serverGroupDetails.html +2 -2
  89. package/src/serverGroup/details/serviceJobProcesses/ServiceJobProcesses.ts +1 -1
  90. package/src/serverGroup/details/serviceJobProcesses/ServiceJobProcessesSection.tsx +4 -5
  91. package/src/titus.module.ts +8 -0
  92. package/src/titus.settings.ts +2 -1
  93. package/src/validation/ApplicationNameValidator.ts +2 -1
  94. package/dist/serverGroup/details/scalingPolicy/alarmBasedSummary.component.d.ts +0 -2
  95. package/dist/serverGroup/details/scalingPolicy/scalingPolicySummary.component.d.ts +0 -1
  96. package/dist/serverGroup/details/scalingPolicy/targetTracking/targetTracking.module.d.ts +0 -1
  97. package/dist/serverGroup/details/scalingPolicy/targetTracking/targetTrackingChart.component.d.ts +0 -1
  98. package/dist/serverGroup/details/scalingPolicy/targetTracking/targetTrackingSummary.component.d.ts +0 -7
  99. package/src/serverGroup/details/scalingPolicy/alarmBasedSummary.component.html +0 -30
  100. package/src/serverGroup/details/scalingPolicy/alarmBasedSummary.component.js +0 -81
  101. package/src/serverGroup/details/scalingPolicy/alarmBasedSummary.template.html +0 -5
  102. package/src/serverGroup/details/scalingPolicy/popover/scalingPolicyDetails.popover.html +0 -1
  103. package/src/serverGroup/details/scalingPolicy/scalingPolicySummary.component.less +0 -15
  104. package/src/serverGroup/details/scalingPolicy/scalingPolicySummary.component.ts +0 -32
  105. package/src/serverGroup/details/scalingPolicy/targetTracking/targetTracking.module.ts +0 -7
  106. package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingChart.component.ts +0 -16
  107. package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingPopover.html +0 -4
  108. package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingSummary.component.ts +0 -129
  109. package/src/serverGroup/details/scalingPolicy/targetTracking/targetTrackingSummary.html +0 -5
@@ -21,6 +21,11 @@ import { TITUS_SECURITYGROUP_SECURITYGROUP_READ_SERVICE } from './securityGroup/
21
21
  import { TITUS_SERVERGROUP_CONFIGURE_SERVERGROUPCOMMANDBUILDER } from './serverGroup/configure/ServerGroupCommandBuilder';
22
22
  import { TITUS_SERVERGROUP_CONFIGURE_SERVERGROUP_CONFIGURE_TITUS_MODULE } from './serverGroup/configure/serverGroup.configure.titus.module';
23
23
  import { TitusCloneServerGroupModal } from './serverGroup/configure/wizard/TitusCloneServerGroupModal';
24
+ import {
25
+ TitusTargetTrackingChart,
26
+ TitusUpsertScalingPolicyModal,
27
+ TitusUpsertTargetTrackingModal,
28
+ } from './serverGroup/details';
24
29
  import { TITUS_SERVERGROUP_DETAILS_CAPACITYDETAILSSECTION } from './serverGroup/details/capacityDetailsSection.component';
25
30
  import { TITUS_SERVERGROUP_DETAILS_LAUNCHCONFIGSECTION } from './serverGroup/details/launchConfigSection.component';
26
31
  import { TITUS_SERVERGROUP_DETAILS_SERVERGROUPDETAILS_TITUS_CONTROLLER } from './serverGroup/details/serverGroupDetails.titus.controller';
@@ -63,6 +68,9 @@ module(TITUS_MODULE, [
63
68
  configurationService: 'titusServerGroupConfigurationService',
64
69
  skipUpstreamStageCheck: true,
65
70
  checkForImageProviders: true,
71
+ TargetTrackingChart: TitusTargetTrackingChart,
72
+ UpsertStepPolicyModal: TitusUpsertScalingPolicyModal,
73
+ UpsertTargetTrackingModal: TitusUpsertTargetTrackingModal,
66
74
  },
67
75
  securityGroup: {
68
76
  reader: 'titusSecurityGroupReader',
@@ -1,4 +1,5 @@
1
- import { IProviderSettings, SETTINGS } from '@spinnaker/core';
1
+ import type { IProviderSettings } from '@spinnaker/core';
2
+ import { SETTINGS } from '@spinnaker/core';
2
3
 
3
4
  export interface ITitusProviderSettings extends IProviderSettings {
4
5
  defaults: {
@@ -1,4 +1,5 @@
1
- import { ApplicationNameValidator, FirewallLabels, IApplicationNameValidator } from '@spinnaker/core';
1
+ import type { IApplicationNameValidator } from '@spinnaker/core';
2
+ import { ApplicationNameValidator, FirewallLabels } from '@spinnaker/core';
2
3
 
3
4
  class TitusApplicationNameValidator implements IApplicationNameValidator {
4
5
  private validateSpecialCharacters(name: string, errors: string[]): void {
@@ -1,2 +0,0 @@
1
- export const TITUS_SERVERGROUP_DETAILS_SCALINGPOLICY_ALARMBASEDSUMMARY_COMPONENT: "spinnaker.titus.serverGroup.details.scalingPolicy.alarmBasedSummary.component";
2
- export const name: "spinnaker.titus.serverGroup.details.scalingPolicy.alarmBasedSummary.component";
@@ -1 +0,0 @@
1
- export declare const SCALING_POLICY_SUMMARY = "spinnaker.titus.scalingPolicy.details.summary.component";
@@ -1 +0,0 @@
1
- export declare const TARGET_TRACKING_MODULE = "spinnaker.titus.scalingPolicy.targetTracking";
@@ -1 +0,0 @@
1
- export declare const TARGET_TRACKING_CHART_COMPONENT = "spinnaker.titus.scalingPolicy.targetTracking.chart.component";
@@ -1,7 +0,0 @@
1
- export interface IAlarmRenderingServerGroup {
2
- type: string;
3
- name: string;
4
- account: string;
5
- region: string;
6
- }
7
- export declare const TARGET_TRACKING_SUMMARY_COMPONENT = "spinnaker.titus.scalingPolicy.targetTracking.summary.component";
@@ -1,30 +0,0 @@
1
- <span class="label label-default">{{ $ctrl.policy.policyType | robotToHuman | uppercase }}</span>
2
- <span class="label small" ng-if="$ctrl.policy.status.state !== 'Applied'">({{ $ctrl.policy.status.state }})</span>
3
- <div ng-repeat="alarm in $ctrl.policy.alarms track by $index">
4
- <div
5
- uib-popover-template="$ctrl.popoverTemplate"
6
- popover-placement="left"
7
- popover-title="{{ $ctrl.policy.policyName }}"
8
- popover-trigger="'mouseenter'"
9
- >
10
- <div>
11
- <strong>Whenever</strong>
12
- {{ alarm.statistic }} of <span class="alarm-name">{{ alarm.metricName }}</span> is
13
- <span ng-bind-html="alarm.comparator"></span> {{ alarm.threshold }}
14
- </div>
15
- <div>
16
- <strong>for at least</strong>
17
- {{ alarm.evaluationPeriods }} consecutive periods of {{ alarm.period }} seconds
18
- </div>
19
- </div>
20
- <div class="actions text-right">
21
- <button class="btn btn-xs btn-link" ng-click="$ctrl.editPolicy()">
22
- <span class="glyphicon glyphicon-cog" uib-tooltip="Edit policy"></span>
23
- <span class="sr-only">Edit policy</span>
24
- </button>
25
- <button class="btn btn-xs btn-link" ng-click="$ctrl.deletePolicy()">
26
- <span class="glyphicon glyphicon-trash" uib-tooltip="Delete policy"></span>
27
- <span class="sr-only">Delete policy</span>
28
- </button>
29
- </div>
30
- </div>
@@ -1,81 +0,0 @@
1
- 'use strict';
2
-
3
- import { module } from 'angular';
4
-
5
- import { AccountService, ConfirmationModalService, ReactModal, TaskExecutor } from '@spinnaker/core';
6
-
7
- import { UpsertScalingPolicyModal } from './upsert/UpsertScalingPolicyModal';
8
-
9
- import './scalingPolicySummary.component.less';
10
-
11
- export const TITUS_SERVERGROUP_DETAILS_SCALINGPOLICY_ALARMBASEDSUMMARY_COMPONENT =
12
- 'spinnaker.titus.serverGroup.details.scalingPolicy.alarmBasedSummary.component';
13
- export const name = TITUS_SERVERGROUP_DETAILS_SCALINGPOLICY_ALARMBASEDSUMMARY_COMPONENT; // for backwards compatibility
14
- module(TITUS_SERVERGROUP_DETAILS_SCALINGPOLICY_ALARMBASEDSUMMARY_COMPONENT, []).component('titusAlarmBasedSummary', {
15
- bindings: {
16
- policy: '=',
17
- serverGroup: '=',
18
- application: '=',
19
- },
20
- templateUrl: require('./alarmBasedSummary.component.html'),
21
- controller: [
22
- '$uibModal',
23
- function ($uibModal) {
24
- this.$onInit = () => {
25
- AccountService.getAccountDetails(this.serverGroup.account).then((details) => {
26
- // alarmServerGroup is used to trick the chart rendering into using AWS metrics
27
- this.alarmServerGroup = {
28
- type: 'aws',
29
- name: this.serverGroup.name,
30
- account: details.awsAccount,
31
- region: this.serverGroup.region,
32
- };
33
- });
34
- };
35
-
36
- this.popoverTemplate = require('./popover/scalingPolicyDetails.popover.html');
37
-
38
- this.editPolicy = () => {
39
- const upsertProps = {
40
- app: this.application,
41
- policy: this.policy,
42
- serverGroup: this.serverGroup,
43
- };
44
- const modalProps = { dialogClassName: 'wizard-modal modal-lg' };
45
- ReactModal.show(UpsertScalingPolicyModal, upsertProps, modalProps);
46
- };
47
-
48
- this.deletePolicy = () => {
49
- const { application, policy, serverGroup } = this;
50
- const taskMonitor = {
51
- application,
52
- title: 'Deleting scaling policy ' + policy.id,
53
- };
54
-
55
- const submitMethod = () =>
56
- TaskExecutor.executeTask({
57
- application,
58
- description: 'Delete scaling policy ' + policy.id,
59
- job: [
60
- {
61
- type: 'deleteScalingPolicy',
62
- cloudProvider: 'titus',
63
- credentials: serverGroup.account,
64
- region: serverGroup.region,
65
- scalingPolicyID: policy.id,
66
- serverGroupName: serverGroup.name,
67
- },
68
- ],
69
- });
70
-
71
- ConfirmationModalService.confirm({
72
- header: `Really delete ${policy.id}?`,
73
- buttonText: 'Delete scaling policy',
74
- account: serverGroup.account,
75
- taskMonitorConfig: taskMonitor,
76
- submitMethod: submitMethod,
77
- });
78
- };
79
- },
80
- ],
81
- });
@@ -1,5 +0,0 @@
1
- <titus-alarm-based-summary
2
- policy="$ctrl.policy"
3
- server-group="$ctrl.serverGroup"
4
- application="$ctrl.application"
5
- ></titus-alarm-based-summary>
@@ -1 +0,0 @@
1
- <aws-scaling-policy-popover policy="$ctrl.policy" server-group="$ctrl.alarmServerGroup"></aws-scaling-policy-popover>
@@ -1,15 +0,0 @@
1
- titus-scaling-policy-summary {
2
- .alarm-name {
3
- word-break: break-all;
4
- }
5
- .actions {
6
- font-size: 85%;
7
- margin: 0 0 15px 0;
8
- border-bottom: 1px solid var(--color-alto);
9
-
10
- .btn-left {
11
- padding-left: 0;
12
- border-left-width: 0;
13
- }
14
- }
15
- }
@@ -1,32 +0,0 @@
1
- import { IComponentOptions, IController, module } from 'angular';
2
-
3
- import { Application, IServerGroup } from '@spinnaker/core';
4
- import { ITitusPolicy } from '../../../domain';
5
-
6
- class ScalingPolicyDetailsSummaryController implements IController {
7
- public templateUrl: string;
8
- public policy: ITitusPolicy;
9
- public serverGroup: IServerGroup;
10
- public application: Application;
11
-
12
- public $onInit() {
13
- if (this.policy.targetPolicyDescriptor) {
14
- this.templateUrl = require('./targetTracking/targetTrackingSummary.html');
15
- } else {
16
- this.templateUrl = require('./alarmBasedSummary.template.html');
17
- }
18
- }
19
- }
20
-
21
- const component: IComponentOptions = {
22
- bindings: {
23
- policy: '<',
24
- serverGroup: '<',
25
- application: '<',
26
- },
27
- controller: ScalingPolicyDetailsSummaryController,
28
- template: `<div ng-include src="$ctrl.templateUrl"></div>`,
29
- };
30
-
31
- export const SCALING_POLICY_SUMMARY = 'spinnaker.titus.scalingPolicy.details.summary.component';
32
- module(SCALING_POLICY_SUMMARY, []).component('titusScalingPolicySummary', component);
@@ -1,7 +0,0 @@
1
- import { module } from 'angular';
2
-
3
- import { TARGET_TRACKING_CHART_COMPONENT } from './targetTrackingChart.component';
4
- import { TARGET_TRACKING_SUMMARY_COMPONENT } from './targetTrackingSummary.component';
5
-
6
- export const TARGET_TRACKING_MODULE = 'spinnaker.titus.scalingPolicy.targetTracking';
7
- module(TARGET_TRACKING_MODULE, [TARGET_TRACKING_CHART_COMPONENT, TARGET_TRACKING_SUMMARY_COMPONENT]);
@@ -1,16 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
- import { withErrorBoundary } from '@spinnaker/core';
4
- import { TitusTargetTrackingChart } from './TitusTargetTrackingChart';
5
-
6
- export const TARGET_TRACKING_CHART_COMPONENT = 'spinnaker.titus.scalingPolicy.targetTracking.chart.component';
7
- module(TARGET_TRACKING_CHART_COMPONENT, []).component(
8
- 'titusTargetTrackingChart',
9
- react2angular(withErrorBoundary(TitusTargetTrackingChart, 'targetTrackingChart'), [
10
- 'alarmUpdated',
11
- 'config',
12
- 'serverGroup',
13
- 'unit',
14
- 'updateUnit',
15
- ]),
16
- );
@@ -1,4 +0,0 @@
1
- <titus-target-tracking-chart
2
- config="$ctrl.policy.targetTrackingConfiguration"
3
- server-group="$ctrl.alarmServerGroup"
4
- ></titus-target-tracking-chart>
@@ -1,129 +0,0 @@
1
- import { IComponentController, IComponentOptions, module } from 'angular';
2
-
3
- import { ITargetTrackingConfiguration, ITargetTrackingPolicy } from '@spinnaker/amazon';
4
- import {
5
- AccountService,
6
- Application,
7
- ConfirmationModalService,
8
- IServerGroup,
9
- ITaskMonitorConfig,
10
- ReactModal,
11
- TaskExecutor,
12
- } from '@spinnaker/core';
13
-
14
- import { IUpsertTargetTrackingModalProps, UpsertTargetTrackingModal } from './UpsertTargetTrackingModal';
15
-
16
- export interface IAlarmRenderingServerGroup {
17
- type: string;
18
- name: string;
19
- account: string;
20
- region: string;
21
- }
22
-
23
- interface ITitusPolicy extends ITargetTrackingPolicy {
24
- id: string;
25
- }
26
-
27
- class TargetTrackingSummaryController implements IComponentController {
28
- public policy: ITitusPolicy;
29
- public serverGroup: IServerGroup;
30
- public alarmServerGroup: IAlarmRenderingServerGroup;
31
- public application: Application;
32
- public config: ITargetTrackingConfiguration;
33
- public popoverTemplate = require('./targetTrackingPopover.html');
34
-
35
- constructor() {}
36
-
37
- public $onInit() {
38
- this.config = this.policy.targetTrackingConfiguration;
39
- AccountService.getAccountDetails(this.serverGroup.account).then((details) => {
40
- // alarmServerGroup is used to trick the chart rendering into using AWS metrics
41
- this.alarmServerGroup = {
42
- type: 'aws',
43
- name: this.serverGroup.name,
44
- account: details.awsAccount,
45
- region: this.serverGroup.region,
46
- };
47
- });
48
- }
49
-
50
- public editPolicy(): void {
51
- const upsertProps = {
52
- app: this.application,
53
- policy: this.policy,
54
- serverGroup: this.serverGroup,
55
- } as IUpsertTargetTrackingModalProps;
56
- const modalProps = { dialogClassName: 'wizard-modal modal-lg' };
57
- ReactModal.show(UpsertTargetTrackingModal, upsertProps, modalProps);
58
- }
59
-
60
- public deletePolicy(): void {
61
- const { application, serverGroup, policy } = this;
62
- const taskMonitor: ITaskMonitorConfig = {
63
- application: this.application,
64
- title: 'Deleting scaling policy ' + this.policy.id,
65
- };
66
-
67
- ConfirmationModalService.confirm({
68
- header: `Really delete ${policy.id}?`,
69
- buttonText: 'Delete scaling policy',
70
- account: this.serverGroup.account,
71
- taskMonitorConfig: taskMonitor,
72
- submitMethod: () =>
73
- TaskExecutor.executeTask({
74
- application,
75
- description: 'Delete scaling policy ' + policy.id,
76
- job: [
77
- {
78
- type: 'deleteScalingPolicy',
79
- cloudProvider: 'titus',
80
- credentials: serverGroup.account,
81
- region: serverGroup.region,
82
- scalingPolicyID: policy.id,
83
- serverGroupName: serverGroup.name,
84
- },
85
- ],
86
- }),
87
- });
88
- }
89
- }
90
-
91
- const component: IComponentOptions = {
92
- bindings: {
93
- policy: '<',
94
- serverGroup: '<',
95
- application: '<',
96
- },
97
- controller: TargetTrackingSummaryController,
98
- template: `
99
- <div uib-popover-template="$ctrl.popoverTemplate"
100
- popover-placement="left"
101
- popover-title="Policy {{$ctrl.policy.id}}"
102
- popover-trigger="'mouseenter'">
103
- <p>
104
- <span class="label label-default">TARGET TRACKING</span>
105
- <span class="label small" ng-if="$ctrl.policy.status.state !== 'Applied'">({{$ctrl.policy.status.state}})</span>
106
- <div>
107
- <strong>Target</strong>
108
- {{$ctrl.config.predefinedMetricSpecification.predefinedMetricType}}
109
- {{$ctrl.config.customizedMetricSpecification.metricName}}
110
- <span ng-if="$ctrl.config.customizedMetricSpecification">({{$ctrl.config.customizedMetricSpecification.statistic}})</span>
111
- @ {{$ctrl.config.targetValue}}
112
- </div>
113
- </p>
114
- <div class="actions text-right">
115
- <button class="btn btn-xs btn-link" ng-click="$ctrl.editPolicy()">
116
- <span class="glyphicon glyphicon-cog" uib-tooltip="Edit policy"></span>
117
- <span class="sr-only">Edit policy</span>
118
- </button>
119
- <button class="btn btn-xs btn-link" ng-click="$ctrl.deletePolicy()">
120
- <span class="glyphicon glyphicon-trash" uib-tooltip="Delete policy"></span>
121
- <span class="sr-only">Delete policy</span>
122
- </button>
123
- </div>
124
- </div>
125
- `,
126
- };
127
-
128
- export const TARGET_TRACKING_SUMMARY_COMPONENT = 'spinnaker.titus.scalingPolicy.targetTracking.summary.component';
129
- module(TARGET_TRACKING_SUMMARY_COMPONENT, []).component('titusTargetTrackingSummary', component);
@@ -1,5 +0,0 @@
1
- <titus-target-tracking-summary
2
- policy="$ctrl.policy"
3
- server-group="$ctrl.serverGroup"
4
- application="$ctrl.application"
5
- ></titus-target-tracking-summary>