@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
@@ -3,16 +3,14 @@ import { chain, cloneDeep, flatten, intersection, xor } from 'lodash';
3
3
  import { $q } from 'ngimport';
4
4
  import { Subject } from 'rxjs';
5
5
 
6
- import {
6
+ import type {
7
7
  IAmazonApplicationLoadBalancer,
8
8
  IAmazonLoadBalancer,
9
9
  IAmazonServerGroupCommandDirty,
10
- VpcReader,
11
10
  } from '@spinnaker/amazon';
12
- import {
13
- AccountService,
11
+ import { VpcReader } from '@spinnaker/amazon';
12
+ import type {
14
13
  Application,
15
- CACHE_INITIALIZER_SERVICE,
16
14
  CacheInitializerService,
17
15
  IAccountDetails,
18
16
  ICluster,
@@ -22,16 +20,20 @@ import {
22
20
  IServerGroupCommandBackingData,
23
21
  IServerGroupCommandViewState,
24
22
  IVpc,
25
- LOAD_BALANCER_READ_SERVICE,
26
23
  LoadBalancerReader,
24
+ SecurityGroupReader,
25
+ } from '@spinnaker/core';
26
+ import {
27
+ AccountService,
28
+ CACHE_INITIALIZER_SERVICE,
29
+ LOAD_BALANCER_READ_SERVICE,
27
30
  NameUtils,
28
31
  SECURITY_GROUP_READER,
29
- SecurityGroupReader,
30
32
  setMatchingResourceSummary,
31
33
  SubnetReader,
32
34
  } from '@spinnaker/core';
33
- import { IJobDisruptionBudget, ITitusResources } from '../../domain';
34
- import { ITitusServiceJobProcesses } from '../../domain/ITitusServiceJobProcesses';
35
+ import type { IJobDisruptionBudget, ITitusResources } from '../../domain';
36
+ import type { ITitusServiceJobProcesses } from '../../domain/ITitusServiceJobProcesses';
35
37
 
36
38
  export interface ITitusServerGroupCommandBackingData extends IServerGroupCommandBackingData {
37
39
  accounts: string[];
@@ -2,13 +2,11 @@ import { get, isEqual } from 'lodash';
2
2
  import React from 'react';
3
3
 
4
4
  import { ServerGroupCapacity, ServerGroupLoadBalancers, ServerGroupSecurityGroups } from '@spinnaker/amazon';
5
+ import type { Application, IModalComponentProps, IStage } from '@spinnaker/core';
5
6
  import {
6
7
  AccountTag,
7
- Application,
8
8
  DeployInitializer,
9
9
  FirewallLabels,
10
- IModalComponentProps,
11
- IStage,
12
10
  noop,
13
11
  ReactInjector,
14
12
  ReactModal,
@@ -20,7 +18,8 @@ import {
20
18
  import { ServerGroupBasicSettings, ServerGroupParameters, ServerGroupResources } from './pages';
21
19
  import { JobDisruptionBudget } from './pages/disruptionBudget/JobDisruptionBudget';
22
20
  import { TitusReactInjector } from '../../../reactShims';
23
- import { getDefaultJobDisruptionBudgetForApp, ITitusServerGroupCommand } from '../serverGroupConfiguration.service';
21
+ import type { ITitusServerGroupCommand } from '../serverGroupConfiguration.service';
22
+ import { getDefaultJobDisruptionBudgetForApp } from '../serverGroupConfiguration.service';
24
23
 
25
24
  export interface ITitusCloneServerGroupModalProps extends IModalComponentProps {
26
25
  title: string;
@@ -1,16 +1,15 @@
1
- import { Field, FormikErrors, FormikProps } from 'formik';
1
+ import type { FormikErrors, FormikProps } from 'formik';
2
+ import { Field } from 'formik';
2
3
  import React from 'react';
3
4
 
4
5
  import { AWSProviderSettings, SubnetSelectField } from '@spinnaker/amazon';
6
+ import type { Application, IServerGroup, IWizardPageComponent } from '@spinnaker/core';
5
7
  import {
6
8
  AccountSelectInput,
7
9
  AccountTag,
8
- Application,
9
10
  DeployingIntoManagedClusterWarning,
10
11
  DeploymentStrategySelector,
11
12
  HelpField,
12
- IServerGroup,
13
- IWizardPageComponent,
14
13
  NameUtils,
15
14
  ReactInjector,
16
15
  RegionSelectField,
@@ -19,7 +18,7 @@ import {
19
18
  } from '@spinnaker/core';
20
19
  import { DockerImageAndTagSelector, DockerImageUtils } from '@spinnaker/docker';
21
20
 
22
- import { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
21
+ import type { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
23
22
  import { TitusProviderSettings } from '../../../../titus.settings';
24
23
 
25
24
  const isNotExpressionLanguage = (field: string) => field && !field.includes('${');
@@ -1,17 +1,15 @@
1
- import { FormikProps } from 'formik';
1
+ import type { FormikProps } from 'formik';
2
2
  import { intersection, set, union } from 'lodash';
3
3
  import React from 'react';
4
4
 
5
+ import type { Application, IFormInputProps, IWizardPageComponent } from '@spinnaker/core';
5
6
  import {
6
7
  AccountTag,
7
- Application,
8
8
  CheckboxInput,
9
9
  ChecklistInput,
10
10
  FormikFormField,
11
11
  FormValidator,
12
12
  HelpField,
13
- IFormInputProps,
14
- IWizardPageComponent,
15
13
  LayoutProvider,
16
14
  MapEditorInput,
17
15
  PlatformHealthOverrideInput,
@@ -22,7 +20,7 @@ import {
22
20
  } from '@spinnaker/core';
23
21
 
24
22
  import { TitusMapLayout } from './TitusMapLayout';
25
- import { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
23
+ import type { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
26
24
  import { processesList } from '../../../details/serviceJobProcesses/ServiceJobProcesses';
27
25
 
28
26
  import './ServerGroupParameters.less';
@@ -1,10 +1,12 @@
1
- import { FormikProps } from 'formik';
1
+ import type { FormikProps } from 'formik';
2
2
  import React from 'react';
3
- import Select, { Option } from 'react-select';
3
+ import type { Option } from 'react-select';
4
+ import Select from 'react-select';
4
5
 
5
- import { HelpField, IWizardPageComponent, SpelNumberInput } from '@spinnaker/core';
6
+ import type { IWizardPageComponent } from '@spinnaker/core';
7
+ import { HelpField, SpelNumberInput } from '@spinnaker/core';
6
8
 
7
- import { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
9
+ import type { ITitusServerGroupCommand } from '../../../configure/serverGroupConfiguration.service';
8
10
 
9
11
  const mountPermOptions = [
10
12
  { label: 'Read and Write', value: 'RW' },
@@ -1,8 +1,9 @@
1
1
  import { isUndefined } from 'lodash';
2
2
  import React from 'react';
3
3
 
4
- import { IFormInputValidation, ValidationMessage } from '@spinnaker/core';
5
- import { ILayoutProps } from '@spinnaker/core';
4
+ import type { IFormInputValidation } from '@spinnaker/core';
5
+ import { ValidationMessage } from '@spinnaker/core';
6
+ import type { ILayoutProps } from '@spinnaker/core';
6
7
  import './TitusMapLayout.less';
7
8
 
8
9
  export function TitusMapLayout(props: ILayoutProps) {
@@ -1,10 +1,10 @@
1
- import { FormikProps } from 'formik';
1
+ import type { FormikProps } from 'formik';
2
2
  import { get, isEqual } from 'lodash';
3
3
  import React from 'react';
4
- import { Option } from 'react-select';
4
+ import type { Option } from 'react-select';
5
5
 
6
+ import type { Application } from '@spinnaker/core';
6
7
  import {
7
- Application,
8
8
  CheckboxInput,
9
9
  FormikFormField,
10
10
  HelpField,
@@ -16,11 +16,11 @@ import {
16
16
  import { policyOptions } from './PolicyOptions';
17
17
  import { rateOptions } from './RateOptions';
18
18
  import { WindowPicker } from './WindowPicker';
19
- import { IJobDisruptionBudget } from '../../../../../domain';
19
+ import type { IJobDisruptionBudget } from '../../../../../domain';
20
+ import type { ITitusServerGroupCommand } from '../../../serverGroupConfiguration.service';
20
21
  import {
21
22
  defaultJobDisruptionBudget,
22
23
  getDefaultJobDisruptionBudgetForApp,
23
- ITitusServerGroupCommand,
24
24
  } from '../../../serverGroupConfiguration.service';
25
25
 
26
26
  export interface IJobDisruptionBudgetProps {
@@ -2,7 +2,7 @@ import React from 'react';
2
2
 
3
3
  import { FormikFormField, HelpField, NumberInput } from '@spinnaker/core';
4
4
 
5
- import { IFieldOption, IFieldOptionComponentProps } from './JobDisruptionBudget';
5
+ import type { IFieldOption, IFieldOptionComponentProps } from './JobDisruptionBudget';
6
6
  import { defaultJobDisruptionBudget } from '../../../serverGroupConfiguration.service';
7
7
 
8
8
  const SelfManagedField = () => (
@@ -2,7 +2,7 @@ import React from 'react';
2
2
 
3
3
  import { FormikFormField, HelpField, NumberInput } from '@spinnaker/core';
4
4
 
5
- import { IFieldOption, IFieldOptionComponentProps } from './JobDisruptionBudget';
5
+ import type { IFieldOption, IFieldOptionComponentProps } from './JobDisruptionBudget';
6
6
  import { defaultJobDisruptionBudget } from '../../../serverGroupConfiguration.service';
7
7
 
8
8
  const RatePercentagePerInterval = (componentProps: IFieldOptionComponentProps) => (
@@ -1,11 +1,11 @@
1
- import { FormikProps } from 'formik';
1
+ import type { FormikProps } from 'formik';
2
2
  import { get } from 'lodash';
3
3
  import React from 'react';
4
4
 
5
5
  import { ChecklistInput, FormikFormField, HelpField, NumberInput, ReactSelectInput, SpinFormik } from '@spinnaker/core';
6
- import { IJobTimeWindow } from '../../../../../domain';
6
+ import type { IJobTimeWindow } from '../../../../../domain';
7
7
 
8
- import { ITitusServerGroupCommand } from '../../../serverGroupConfiguration.service';
8
+ import type { ITitusServerGroupCommand } from '../../../serverGroupConfiguration.service';
9
9
 
10
10
  export interface IWindowPickerProps {
11
11
  formik: FormikProps<ITitusServerGroupCommand>;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
 
3
+ import type { Application } from '@spinnaker/core';
3
4
  import {
4
- Application,
5
5
  confirmNotManaged,
6
6
  CurrentCapacity,
7
7
  DesiredCapacity,
@@ -10,8 +10,9 @@ import {
10
10
  showModal,
11
11
  } from '@spinnaker/core';
12
12
 
13
- import { ITitusServerGroup } from '../../domain';
14
- import { ITitusResizeServerGroupModalProps, TitusResizeServerGroupModal } from './resize/TitusResizeServerGroupModal';
13
+ import type { ITitusServerGroup } from '../../domain';
14
+ import type { ITitusResizeServerGroupModalProps } from './resize/TitusResizeServerGroupModal';
15
+ import { TitusResizeServerGroupModal } from './resize/TitusResizeServerGroupModal';
15
16
  import { TitusScalingActivitiesModal } from './scalingActivity/TitusScalingActivitiesModal';
16
17
 
17
18
  interface ICapacityDetailsSectionProps {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
 
3
3
  import { LabeledValue, LabeledValueList, Overridable } from '@spinnaker/core';
4
- import { ITitusServerGroup } from '../../domain';
4
+ import type { ITitusServerGroup } from '../../domain';
5
5
 
6
6
  interface ILaunchConfigSectionProps {
7
7
  serverGroup: ITitusServerGroup;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { CollapsibleSection, LabeledValue, LabeledValueList } from '@spinnaker/core';
3
- import { ITitusBuildInfo } from '../../domain';
3
+ import type { ITitusBuildInfo } from '../../domain';
4
4
 
5
5
  export interface ITitusPackageDetailsSectionProps {
6
6
  buildInfo: ITitusBuildInfo;
@@ -3,15 +3,9 @@ import { UIRouterContextComponent } from '@uirouter/react-hybrid';
3
3
  import { sortBy } from 'lodash';
4
4
  import React from 'react';
5
5
 
6
- import {
7
- AccountService,
8
- Application,
9
- CollapsibleSection,
10
- FirewallLabels,
11
- ISecurityGroup,
12
- ReactInjector,
13
- } from '@spinnaker/core';
14
- import { ITitusServerGroupView } from '../../domain';
6
+ import type { Application, ISecurityGroup } from '@spinnaker/core';
7
+ import { AccountService, CollapsibleSection, FirewallLabels, ReactInjector } from '@spinnaker/core';
8
+ import type { ITitusServerGroupView } from '../../domain';
15
9
  import { TitusReactInjector } from '../../reactShims';
16
10
 
17
11
  export interface ITitusServerGroupDetailsSectionProps {
@@ -4,20 +4,17 @@ import prettyMilliseconds from 'pretty-ms';
4
4
  import React from 'react';
5
5
  import { react2angular } from 'react2angular';
6
6
 
7
- import { HelpField, IServerGroupDetailsSectionProps, withErrorBoundary } from '@spinnaker/core';
7
+ import type { IServerGroupDetailsSectionProps } from '@spinnaker/core';
8
+ import { HelpField, withErrorBoundary } from '@spinnaker/core';
8
9
 
9
10
  import { EditDisruptionBudgetModal } from './EditDisruptionBudgetModal';
10
- import {
11
- getDefaultJobDisruptionBudgetForApp,
12
- ITitusServerGroupCommand,
13
- } from '../../configure/serverGroupConfiguration.service';
14
- import {
15
- DisruptionBudgetDescription,
16
- IFieldOption,
17
- } from '../../configure/wizard/pages/disruptionBudget/JobDisruptionBudget';
11
+ import type { ITitusServerGroupCommand } from '../../configure/serverGroupConfiguration.service';
12
+ import { getDefaultJobDisruptionBudgetForApp } from '../../configure/serverGroupConfiguration.service';
13
+ import type { IFieldOption } from '../../configure/wizard/pages/disruptionBudget/JobDisruptionBudget';
14
+ import { DisruptionBudgetDescription } from '../../configure/wizard/pages/disruptionBudget/JobDisruptionBudget';
18
15
  import { policyOptions } from '../../configure/wizard/pages/disruptionBudget/PolicyOptions';
19
16
  import { rateOptions } from '../../configure/wizard/pages/disruptionBudget/RateOptions';
20
- import { IJobDisruptionBudget, ITitusServerGroup } from '../../../domain';
17
+ import type { IJobDisruptionBudget, ITitusServerGroup } from '../../../domain';
21
18
  import { TitusReactInjector } from '../../../reactShims';
22
19
 
23
20
  interface IDisruptionBudgetSection extends IServerGroupDetailsSectionProps {
@@ -1,10 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Modal } from 'react-bootstrap';
3
3
 
4
+ import type { Application, IJob, IModalComponentProps } from '@spinnaker/core';
4
5
  import {
5
- Application,
6
- IJob,
7
- IModalComponentProps,
8
6
  ModalClose,
9
7
  ReactModal,
10
8
  SpinFormik,
@@ -14,9 +12,9 @@ import {
14
12
  TaskMonitorWrapper,
15
13
  } from '@spinnaker/core';
16
14
 
17
- import { ITitusServerGroupCommand } from '../../configure/serverGroupConfiguration.service';
15
+ import type { ITitusServerGroupCommand } from '../../configure/serverGroupConfiguration.service';
18
16
  import { JobDisruptionBudget } from '../../configure/wizard/pages/disruptionBudget/JobDisruptionBudget';
19
- import { ITitusServerGroup } from '../../../domain';
17
+ import type { ITitusServerGroup } from '../../../domain';
20
18
 
21
19
  export interface IEditDisruptionBudgetModalProps extends IModalComponentProps {
22
20
  application: Application;
@@ -2,3 +2,4 @@ export * from './TitusCapacityDetailsSection';
2
2
  export * from './TitusSecurityGroups';
3
3
  export * from './resize/TitusResizeServerGroupModal';
4
4
  export * from './scalingActivity/TitusScalingActivitiesModal';
5
+ export * from './scalingPolicy';
@@ -1,12 +1,11 @@
1
- import { Form, FormikContext } from 'formik';
1
+ import type { FormikContext } from 'formik';
2
+ import { Form } from 'formik';
2
3
  import React from 'react';
3
4
  import { Modal } from 'react-bootstrap';
4
5
 
6
+ import type { Application, ICapacity, IModalComponentProps } from '@spinnaker/core';
5
7
  import {
6
- Application,
7
8
  FormikFormField,
8
- ICapacity,
9
- IModalComponentProps,
10
9
  MinMaxDesiredChanges,
11
10
  ModalClose,
12
11
  NumberInput,
@@ -17,7 +16,7 @@ import {
17
16
  UserVerification,
18
17
  ValidationMessage,
19
18
  } from '@spinnaker/core';
20
- import { ITitusServerGroup } from '../../../domain';
19
+ import type { ITitusServerGroup } from '../../../domain';
21
20
 
22
21
  import { useTaskMonitor } from './useTaskMonitor';
23
22
 
@@ -1,5 +1,6 @@
1
1
  import { useMemo } from 'react';
2
- import { ITaskMonitorConfig, TaskMonitor } from '@spinnaker/core';
2
+ import type { ITaskMonitorConfig } from '@spinnaker/core';
3
+ import { TaskMonitor } from '@spinnaker/core';
3
4
 
4
5
  /**
5
6
  * React hook that returns a TaskMonitor
@@ -1,18 +1,10 @@
1
1
  import { DateTime } from 'luxon';
2
2
  import * as React from 'react';
3
3
 
4
- import {
5
- ICapacity,
6
- IModalComponentProps,
7
- ModalBody,
8
- ModalFooter,
9
- ModalHeader,
10
- ServerGroupReader,
11
- Spinner,
12
- useData,
13
- } from '@spinnaker/core';
4
+ import type { ICapacity, IModalComponentProps } from '@spinnaker/core';
5
+ import { ModalBody, ModalFooter, ModalHeader, ServerGroupReader, Spinner, useData } from '@spinnaker/core';
14
6
 
15
- import { ITitusServerGroup } from '../../../domain';
7
+ import type { ITitusServerGroup } from '../../../domain';
16
8
 
17
9
  export interface ITitusScalingActivitiesProps extends IModalComponentProps {
18
10
  serverGroup: ITitusServerGroup;
@@ -1,11 +1,14 @@
1
1
  import React from 'react';
2
2
 
3
3
  import { PolicyTypeSelectionModal } from '@spinnaker/amazon';
4
- import { AccountService, Application, IServerGroup, ReactModal } from '@spinnaker/core';
4
+ import type { Application, IServerGroup } from '@spinnaker/core';
5
+ import { AccountService, ReactModal } from '@spinnaker/core';
5
6
 
6
7
  import { TitusReactInjector } from '../../../reactShims';
7
- import { IUpsertScalingPolicyModalProps, UpsertScalingPolicyModal } from './upsert/UpsertScalingPolicyModal';
8
- import { IUpsertTargetTrackingModalProps, UpsertTargetTrackingModal } from './targetTracking/UpsertTargetTrackingModal';
8
+ import type { IUpsertTargetTrackingModalProps } from './targetTracking/UpsertTargetTrackingModal';
9
+ import { UpsertTargetTrackingModal } from './targetTracking/UpsertTargetTrackingModal';
10
+ import type { IUpsertScalingPolicyModalProps } from './upsert/UpsertScalingPolicyModal';
11
+ import { UpsertScalingPolicyModal } from './upsert/UpsertScalingPolicyModal';
9
12
 
10
13
  export interface ICreateScalingPolicyButtonProps {
11
14
  application: Application;
@@ -1,5 +1,6 @@
1
- import * as React from 'react';
2
- import { Application, IServerGroup, overridableComponent } from '@spinnaker/core';
1
+ import type * as React from 'react';
2
+ import type { Application, IServerGroup } from '@spinnaker/core';
3
+ import { overridableComponent } from '@spinnaker/core';
3
4
 
4
5
  export interface ITitusCustomScalingPolicyProps {
5
6
  application: Application;
@@ -0,0 +1,3 @@
1
+ export * from './targetTracking/TitusTargetTrackingChart';
2
+ export { UpsertTargetTrackingModal as TitusUpsertTargetTrackingModal } from './targetTracking/UpsertTargetTrackingModal';
3
+ export { UpsertScalingPolicyModal as TitusUpsertScalingPolicyModal } from './upsert/UpsertScalingPolicyModal';
@@ -1,16 +1,7 @@
1
1
  import { module } from 'angular';
2
2
 
3
- import { TITUS_SERVERGROUP_DETAILS_SCALINGPOLICY_ALARMBASEDSUMMARY_COMPONENT } from './alarmBasedSummary.component';
4
3
  import { TITUS_CREATE_SCALING_POLICY_BUTTON } from './createScalingPolicyButton.component';
5
- import { SCALING_POLICY_SUMMARY } from './scalingPolicySummary.component';
6
- import { TARGET_TRACKING_MODULE } from './targetTracking/targetTracking.module';
7
4
  import { TITUS_SERVERGROUP_CUSTOM_SCALING_COMPONENT } from './titusCustomScalingPolicy.component';
8
5
 
9
6
  export const SCALING_POLICY_MODULE = 'spinnaker.titus.scalingPolicy.module';
10
- module(SCALING_POLICY_MODULE, [
11
- SCALING_POLICY_SUMMARY,
12
- TITUS_CREATE_SCALING_POLICY_BUTTON,
13
- TARGET_TRACKING_MODULE,
14
- TITUS_SERVERGROUP_DETAILS_SCALINGPOLICY_ALARMBASEDSUMMARY_COMPONENT,
15
- TITUS_SERVERGROUP_CUSTOM_SCALING_COMPONENT,
16
- ]);
7
+ module(SCALING_POLICY_MODULE, [TITUS_CREATE_SCALING_POLICY_BUTTON, TITUS_SERVERGROUP_CUSTOM_SCALING_COMPONENT]);
@@ -1,29 +1,17 @@
1
1
  import * as React from 'react';
2
- import { Subject } from 'rxjs';
3
2
 
4
- import {
5
- IAmazonServerGroup,
6
- IScalingPolicyAlarm,
7
- ITargetTrackingConfiguration,
8
- MetricAlarmChart,
9
- } from '@spinnaker/amazon';
10
- import { ICloudMetricStatistics } from '@spinnaker/core';
3
+ import type { IAmazonServerGroup, IScalingPolicyAlarm, ITargetTrackingConfiguration } from '@spinnaker/amazon';
4
+ import { MetricAlarmChart } from '@spinnaker/amazon';
5
+ import type { ICloudMetricStatistics } from '@spinnaker/core';
11
6
 
12
7
  export interface ITitusTargetTrackingChartProps {
13
- alarmUpdated?: Subject<void>;
14
8
  config: ITargetTrackingConfiguration;
15
9
  serverGroup: IAmazonServerGroup;
16
10
  unit?: string;
17
11
  updateUnit?: (unit: string) => void;
18
12
  }
19
13
 
20
- export const TitusTargetTrackingChart = ({
21
- alarmUpdated,
22
- config,
23
- serverGroup,
24
- unit,
25
- updateUnit,
26
- }: ITitusTargetTrackingChartProps) => {
14
+ export const TitusTargetTrackingChart = ({ config, serverGroup, unit, updateUnit }: ITitusTargetTrackingChartProps) => {
27
15
  const [alarm, setAlarm] = React.useState<IScalingPolicyAlarm>({
28
16
  alarmName: null,
29
17
  alarmArn: null,
@@ -63,15 +51,7 @@ export const TitusTargetTrackingChart = ({
63
51
  if (unit) {
64
52
  updateUnit(stats.unit);
65
53
  }
66
- alarmUpdated?.next();
67
54
  };
68
55
 
69
- return (
70
- <MetricAlarmChart
71
- alarm={alarm}
72
- alarmUpdated={alarmUpdated}
73
- onChartLoaded={onChartLoaded}
74
- serverGroup={serverGroup}
75
- />
76
- );
56
+ return <MetricAlarmChart alarm={alarm} onChartLoaded={onChartLoaded} serverGroup={serverGroup} />;
77
57
  };
@@ -1,16 +1,16 @@
1
1
  import * as React from 'react';
2
2
 
3
- import {
3
+ import type {
4
4
  IAmazonServerGroup,
5
5
  ITargetTrackingPolicy,
6
6
  ITargetTrackingPolicyCommand,
7
7
  IUpsertScalingPolicyCommand,
8
- TargetMetricFields,
9
- TargetTrackingAdditionalSettings,
10
8
  } from '@spinnaker/amazon';
11
- import { Application, IModalComponentProps, TaskMonitorModal } from '@spinnaker/core';
9
+ import { TargetMetricFields, TargetTrackingAdditionalSettings } from '@spinnaker/amazon';
10
+ import type { Application, IModalComponentProps } from '@spinnaker/core';
11
+ import { TaskMonitorModal } from '@spinnaker/core';
12
12
 
13
- import { ITitusServerGroup } from '../../../../domain';
13
+ import type { ITitusServerGroup } from '../../../../domain';
14
14
  import { TitusScalingPolicyCommandBuilder } from '../upsert/TitusScalingPolicyCommandBuilderService';
15
15
 
16
16
  export interface IUpsertTargetTrackingModalProps extends IModalComponentProps {
@@ -1,6 +1,6 @@
1
1
  import { cloneDeep } from 'lodash';
2
2
 
3
- import {
3
+ import type {
4
4
  IScalingPolicy,
5
5
  IScalingPolicyAlarmView,
6
6
  IStepAdjustment,
@@ -9,7 +9,7 @@ import {
9
9
  IUpsertAlarmDescription,
10
10
  IUpsertScalingPolicyCommand,
11
11
  } from '@spinnaker/amazon';
12
- import { ITitusServerGroup } from '../../../../domain';
12
+ import type { ITitusServerGroup } from '../../../../domain';
13
13
 
14
14
  type PolicyType = 'Step' | 'TargetTracking';
15
15
 
@@ -1,21 +1,20 @@
1
1
  import { cloneDeep } from 'lodash';
2
2
  import * as React from 'react';
3
3
 
4
- import {
5
- AlarmConfigurer,
4
+ import type {
6
5
  IScalingPolicy,
7
6
  IStepAdjustment,
8
7
  IStepPolicyDescription,
9
8
  ITargetTrackingPolicy,
10
9
  IUpsertScalingPolicyCommand,
11
- ScalingPolicyAdditionalSettings,
12
- StepPolicyAction,
13
10
  } from '@spinnaker/amazon';
14
- import { IAmazonServerGroup, IScalingPolicyAlarm } from '@spinnaker/amazon/src/domain';
15
- import { Application, IModalComponentProps, TaskMonitorModal } from '@spinnaker/core';
11
+ import { AlarmConfigurer, ScalingPolicyAdditionalSettings, StepPolicyAction } from '@spinnaker/amazon';
12
+ import type { IAmazonServerGroup, IScalingPolicyAlarm } from '@spinnaker/amazon/src/domain';
13
+ import type { Application, IModalComponentProps } from '@spinnaker/core';
14
+ import { TaskMonitorModal } from '@spinnaker/core';
16
15
 
17
16
  import { TitusScalingPolicyCommandBuilder } from './TitusScalingPolicyCommandBuilderService';
18
- import { ITitusServerGroup } from '../../../../domain';
17
+ import type { ITitusServerGroup } from '../../../../domain';
19
18
 
20
19
  type Operator = 'Add' | 'Remove' | 'Set to';
21
20
  type AdjustmentTypeView = 'instances' | 'percent of group';
@@ -1,5 +1,5 @@
1
- import { IServerGroupDetailsSectionProps } from '@spinnaker/core';
2
- import { ITitusServerGroup } from '../../../domain';
1
+ import type { IServerGroupDetailsSectionProps } from '@spinnaker/core';
2
+ import type { ITitusServerGroup } from '../../../domain';
3
3
 
4
4
  export interface ITitusServerGroupDetailsSectionProps extends IServerGroupDetailsSectionProps {
5
5
  serverGroup: ITitusServerGroup;
@@ -134,12 +134,12 @@
134
134
  </collapsible-section>
135
135
 
136
136
  <collapsible-section heading="Scaling Policies">
137
- <titus-scaling-policy-summary
137
+ <scaling-policy-summary
138
138
  ng-repeat="policy in serverGroup.scalingPolicies"
139
139
  policy="policy"
140
140
  server-group="serverGroup"
141
141
  application="ctrl.application"
142
- ></titus-scaling-policy-summary>
142
+ ></scaling-policy-summary>
143
143
  <titus-create-scaling-policy-button
144
144
  server-group="serverGroup"
145
145
  application="ctrl.application"
@@ -1,4 +1,4 @@
1
- import { ITitusServiceJobProcesses } from '../../../domain/ITitusServiceJobProcesses';
1
+ import type { ITitusServiceJobProcesses } from '../../../domain/ITitusServiceJobProcesses';
2
2
 
3
3
  export const processesList = ['disableIncreaseDesired', 'disableDecreaseDesired'];
4
4
 
@@ -2,11 +2,10 @@ import { module } from 'angular';
2
2
  import React from 'react';
3
3
  import { react2angular } from 'react2angular';
4
4
 
5
+ import type { Application, IModalComponentProps } from '@spinnaker/core';
5
6
  import {
6
- Application,
7
7
  ChecklistInput,
8
8
  FormikFormField,
9
- IModalComponentProps,
10
9
  ReactModal,
11
10
  robotToHuman,
12
11
  TaskMonitorModal,
@@ -15,9 +14,9 @@ import {
15
14
  } from '@spinnaker/core';
16
15
 
17
16
  import { enabledProcesses } from './ServiceJobProcesses';
18
- import { ITitusServerGroup } from '../../../domain';
19
- import { ITitusServiceJobProcesses } from '../../../domain/ITitusServiceJobProcesses';
20
- import { ITitusServerGroupDetailsSectionProps } from '../sections/ITitusServerGroupDetailsSectionProps';
17
+ import type { ITitusServerGroup } from '../../../domain';
18
+ import type { ITitusServiceJobProcesses } from '../../../domain/ITitusServiceJobProcesses';
19
+ import type { ITitusServerGroupDetailsSectionProps } from '../sections/ITitusServerGroupDetailsSectionProps';
21
20
 
22
21
  interface IEditTitusServiceJobProcessesValues {
23
22
  serviceJobProcesses: string[];