@spinnaker/amazon 2026.2.2 → 2026.3.0

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 (404) hide show
  1. package/dist/aws.module.d.ts +2 -1
  2. package/dist/aws.services.d.ts +8 -0
  3. package/dist/certificates/AmazonCertificateReader.d.ts +1 -1
  4. package/dist/domain/IAmazonServerGroup.d.ts +10 -0
  5. package/dist/function/CreateLambdaFunction.d.ts +10 -5
  6. package/dist/function/configure/Network.d.ts +3 -0
  7. package/dist/function/details/FunctionActions.d.ts +3 -0
  8. package/dist/function/function.transformer.d.ts +1 -0
  9. package/dist/image/image.reader.d.ts +2 -2
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/instance/amazon.instance.write.service.d.ts +5 -5
  14. package/dist/instance/awsInstanceType.service.d.ts +13 -2
  15. package/dist/instance/details/AmazonInstanceDetails.d.ts +67 -0
  16. package/dist/instance/index.d.ts +1 -0
  17. package/dist/keyPairs/KeyPairsReader.d.ts +1 -1
  18. package/dist/loadBalancer/AmazonLoadBalancersTag.d.ts +7 -4
  19. package/dist/loadBalancer/OidcConfigReader.d.ts +1 -1
  20. package/dist/loadBalancer/TargetGroupDetails.d.ts +37 -3
  21. package/dist/loadBalancer/amazonLoadBalancerDataUtils.d.ts +1 -1
  22. package/dist/loadBalancer/configure/AmazonLoadBalancerChoiceModal.d.ts +6 -2
  23. package/dist/loadBalancer/configure/LoadBalancerTypes.d.ts +4 -4
  24. package/dist/loadBalancer/configure/application/CreateApplicationLoadBalancer.d.ts +10 -5
  25. package/dist/loadBalancer/configure/classic/CreateClassicLoadBalancer.d.ts +12 -7
  26. package/dist/loadBalancer/configure/common/SecurityGroups.d.ts +4 -0
  27. package/dist/loadBalancer/configure/network/CreateNetworkLoadBalancer.d.ts +10 -5
  28. package/dist/loadBalancer/details/LoadBalancerActions.d.ts +9 -2
  29. package/dist/loadBalancer/details/amazonLoadBalancerDetails.d.ts +22 -0
  30. package/dist/loadBalancer/index.d.ts +1 -0
  31. package/dist/loadBalancer/loadBalancer.transformer.d.ts +1 -1
  32. package/dist/pipeline/stages/AmazonStageConfig.d.ts +11 -0
  33. package/dist/pipeline/stages/bake/AwsBakeStageConfig.d.ts +66 -0
  34. package/dist/pipeline/stages/cloneServerGroup/AwsCloneServerGroupStageConfig.d.ts +20 -0
  35. package/dist/pipeline/stages/deleteLambda/index.d.ts +1 -1
  36. package/dist/pipeline/stages/deployCloudFormation/CloudFormationChangeSetInfo.d.ts +5 -4
  37. package/dist/pipeline/stages/deployCloudFormation/DeployCloudFormationStackStageConfig.d.ts +3 -0
  38. package/dist/pipeline/stages/deployCloudFormation/deployCloudFormationStackStage.d.ts +1 -1
  39. package/dist/pipeline/stages/deployCloudFormation/evaluateCloudFormationChangeSetExecution.service.d.ts +1 -3
  40. package/dist/pipeline/stages/deployLambda/index.d.ts +1 -1
  41. package/dist/pipeline/stages/destroyAsg/awsDestroyAsgStage.d.ts +26 -2
  42. package/dist/pipeline/stages/disableAsg/AwsDisableAsgStageConfig.d.ts +27 -0
  43. package/dist/pipeline/stages/disableCluster/AwsDisableClusterStageConfig.d.ts +19 -0
  44. package/dist/pipeline/stages/enableAsg/AwsEnableAsgStageConfig.d.ts +20 -0
  45. package/dist/pipeline/stages/findAmi/awsFindAmiStage.d.ts +17 -2
  46. package/dist/pipeline/stages/findImageFromTags/AwsFindImageFromTagsStageConfig.d.ts +3 -0
  47. package/dist/pipeline/stages/findImageFromTags/awsFindImageFromTagsStage.d.ts +12 -2
  48. package/dist/pipeline/stages/invokeLambda/index.d.ts +1 -1
  49. package/dist/pipeline/stages/modifyScalingProcess/ModifyScalingProcessStageConfig.d.ts +3 -0
  50. package/dist/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.d.ts +20 -2
  51. package/dist/pipeline/stages/modifyWarmPool/ModifyWarmPoolStageConfig.d.ts +3 -0
  52. package/dist/pipeline/stages/modifyWarmPool/modifyWarmPoolStage.d.ts +20 -0
  53. package/dist/pipeline/stages/resizeAsg/AwsResizeAsgStageConfig.d.ts +17 -0
  54. package/dist/pipeline/stages/resizeAsg/awsResizeAsgStage.d.ts +40 -2
  55. package/dist/pipeline/stages/rollbackCluster/AwsRollbackClusterStageConfig.d.ts +19 -0
  56. package/dist/pipeline/stages/routeLambda/index.d.ts +1 -1
  57. package/dist/pipeline/stages/scaleDownCluster/AwsScaleDownClusterStageConfig.d.ts +22 -0
  58. package/dist/pipeline/stages/shrinkCluster/AwsShrinkClusterStageConfig.d.ts +21 -0
  59. package/dist/pipeline/stages/tagImage/awsTagImageStage.d.ts +5 -2
  60. package/dist/pipeline/stages/updateCodeLambda/index.d.ts +1 -1
  61. package/dist/search/searchResultFormatter.d.ts +4 -2
  62. package/dist/securityGroup/configure/AmazonSecurityGroupModal.d.ts +43 -0
  63. package/dist/securityGroup/details/AmazonSecurityGroupDetails.d.ts +62 -0
  64. package/dist/securityGroup/details/index.d.ts +1 -0
  65. package/dist/securityGroup/index.d.ts +1 -0
  66. package/dist/securityGroup/securityGroup.reader.d.ts +0 -1
  67. package/dist/securityGroup/securityGroup.transformer.d.ts +11 -2
  68. package/dist/serverGroup/configure/serverGroupCommandBuilder.service.d.ts +23 -7
  69. package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +17 -13
  70. package/dist/serverGroup/configure/wizard/AmazonCloneServerGroupModal.d.ts +16 -6
  71. package/dist/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.d.ts +6 -3
  72. package/dist/serverGroup/configure/wizard/pages/ServerGroupLoadBalancers.d.ts +3 -0
  73. package/dist/serverGroup/configure/wizard/securityGroups/SecurityGroupSelector.d.ts +4 -0
  74. package/dist/serverGroup/details/AmazonServerGroupActions.d.ts +10 -2
  75. package/dist/serverGroup/details/advancedSettings/EditAsgAdvancedSettingsModal.d.ts +17 -0
  76. package/dist/serverGroup/details/advancedSettings/index.d.ts +1 -0
  77. package/dist/serverGroup/details/resize/AmazonResizeServerGroupModal.d.ts +5 -3
  78. package/dist/serverGroup/details/rollback/AmazonRollbackServerGroupModal.d.ts +67 -0
  79. package/dist/serverGroup/details/rollback/index.d.ts +2 -0
  80. package/dist/serverGroup/details/rollback/rollbackServerGroupSelection.d.ts +9 -0
  81. package/dist/serverGroup/details/scalingPolicy/ScalingPolicyWriter.d.ts +2 -2
  82. package/dist/serverGroup/details/scalingPolicy/upsert/alarm/DimensionsEditor.d.ts +0 -1
  83. package/dist/serverGroup/details/scalingProcesses/ModifyScalingProcessesModal.d.ts +24 -0
  84. package/dist/serverGroup/details/scalingProcesses/index.d.ts +2 -0
  85. package/dist/serverGroup/details/scheduledActions/EditScheduledActionsModal.d.ts +31 -0
  86. package/dist/serverGroup/details/scheduledActions/index.d.ts +1 -0
  87. package/dist/serverGroup/details/sections/AdvancedSettingsDetailsSection.d.ts +3 -0
  88. package/dist/serverGroup/details/sections/AmazonCapacityDetailsSection.d.ts +3 -0
  89. package/dist/serverGroup/details/sections/ScalingProcessesDetailsSection.d.ts +1 -1
  90. package/dist/serverGroup/details/sections/ScheduledActionsDetailsSection.d.ts +1 -1
  91. package/dist/serverGroup/details/sections/SecurityGroupsDetailsSection.d.ts +4 -1
  92. package/dist/serverGroup/details/sections/WarmPoolDetailsSection.d.ts +6 -0
  93. package/dist/serverGroup/details/sections/index.d.ts +1 -0
  94. package/dist/serverGroup/details/securityGroups/EditSecurityGroupsModal.d.ts +32 -0
  95. package/dist/serverGroup/details/securityGroups/index.d.ts +1 -0
  96. package/dist/serverGroup/details/warmPool/ModifyWarmPoolModal.d.ts +26 -0
  97. package/dist/serverGroup/details/warmPool/WarmPoolService.d.ts +6 -0
  98. package/dist/serverGroup/details/warmPool/index.d.ts +2 -0
  99. package/dist/serverGroup/serverGroup.transformer.d.ts +1 -2
  100. package/dist/vpc/VpcReader.d.ts +2 -2
  101. package/dist/vpc/index.d.ts +1 -0
  102. package/package.json +3 -12
  103. package/src/aws.module.spec.ts +296 -0
  104. package/src/aws.module.ts +107 -112
  105. package/src/aws.services.ts +21 -0
  106. package/src/certificates/AmazonCertificateReader.ts +1 -1
  107. package/src/domain/IAmazonServerGroup.ts +9 -0
  108. package/src/function/CreateLambdaFunction.tsx +29 -16
  109. package/src/function/configure/Network.tsx +8 -4
  110. package/src/function/details/AmazonFunctionDetails.tsx +4 -5
  111. package/src/function/details/FunctionActions.tsx +5 -1
  112. package/src/function/function.transformer.ts +4 -0
  113. package/src/image/image.reader.ts +3 -5
  114. package/src/index.ts +2 -2
  115. package/src/instance/amazon.instance.write.service.ts +15 -4
  116. package/src/instance/awsInstanceType.service.spec.js +172 -136
  117. package/src/instance/awsInstanceType.service.ts +142 -154
  118. package/src/instance/details/AmazonInstanceDetails.spec.tsx +79 -0
  119. package/src/instance/details/AmazonInstanceDetails.tsx +644 -0
  120. package/src/instance/details/InstanceInformation.tsx +11 -14
  121. package/src/instance/details/InstanceSecurityGroups.tsx +20 -23
  122. package/src/instance/details/InstanceTags.tsx +5 -3
  123. package/src/instance/index.ts +1 -0
  124. package/src/keyPairs/KeyPairsReader.ts +1 -1
  125. package/src/loadBalancer/AmazonLoadBalancersTag.spec.tsx +39 -0
  126. package/src/loadBalancer/AmazonLoadBalancersTag.tsx +21 -14
  127. package/src/loadBalancer/OidcConfigReader.ts +1 -1
  128. package/src/loadBalancer/TargetGroupDetails.spec.tsx +113 -0
  129. package/src/loadBalancer/TargetGroupDetails.tsx +287 -7
  130. package/src/loadBalancer/amazonLoadBalancerDataUtils.ts +21 -21
  131. package/src/loadBalancer/configure/AmazonLoadBalancerChoiceModal.tsx +17 -4
  132. package/src/loadBalancer/configure/LoadBalancerTypes.ts +7 -4
  133. package/src/loadBalancer/configure/application/ALBListeners.tsx +1 -2
  134. package/src/loadBalancer/configure/application/CreateApplicationLoadBalancer.tsx +28 -18
  135. package/src/loadBalancer/configure/classic/CreateClassicLoadBalancer.tsx +29 -19
  136. package/src/loadBalancer/configure/common/LoadBalancerLocation.tsx +1 -1
  137. package/src/loadBalancer/configure/common/SecurityGroups.spec.tsx +27 -0
  138. package/src/loadBalancer/configure/common/SecurityGroups.tsx +11 -5
  139. package/src/loadBalancer/configure/network/CreateNetworkLoadBalancer.tsx +28 -18
  140. package/src/loadBalancer/details/LoadBalancerActions.tsx +19 -5
  141. package/src/loadBalancer/details/amazonLoadBalancerDetails.spec.tsx +141 -0
  142. package/src/loadBalancer/details/amazonLoadBalancerDetails.tsx +599 -0
  143. package/src/loadBalancer/index.ts +1 -0
  144. package/src/loadBalancer/loadBalancer.transformer.ts +3 -4
  145. package/src/pipeline/stages/AmazonStageConfig.spec.tsx +103 -0
  146. package/src/pipeline/stages/AmazonStageConfig.tsx +259 -0
  147. package/src/pipeline/stages/bake/AwsBakeStageConfig.tsx +708 -0
  148. package/src/pipeline/stages/cloneServerGroup/AwsCloneServerGroupStageConfig.tsx +275 -0
  149. package/src/pipeline/stages/deleteLambda/index.ts +2 -6
  150. package/src/pipeline/stages/deployCloudFormation/CloudFormationChangeSetInfo.tsx +14 -33
  151. package/src/pipeline/stages/deployCloudFormation/DeployCloudFormationStackStageConfig.tsx +264 -0
  152. package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackStage.spec.tsx +403 -0
  153. package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackStage.ts +21 -29
  154. package/src/pipeline/stages/deployCloudFormation/evaluateCloudFormationChangeSetExecution.service.ts +1 -11
  155. package/src/pipeline/stages/deployCloudFormation/evaluateCloudFormationChangeSetExecutionApproval.tsx +4 -3
  156. package/src/pipeline/stages/deployLambda/components/NetworkForm.tsx +3 -6
  157. package/src/pipeline/stages/deployLambda/index.ts +2 -6
  158. package/src/pipeline/stages/destroyAsg/awsDestroyAsgStage.js +28 -65
  159. package/src/pipeline/stages/disableAsg/AwsDisableAsgStageConfig.tsx +103 -0
  160. package/src/pipeline/stages/disableCluster/AwsDisableClusterStageConfig.tsx +119 -0
  161. package/src/pipeline/stages/enableAsg/AwsEnableAsgStageConfig.tsx +98 -0
  162. package/src/pipeline/stages/findAmi/awsFindAmiStage.js +22 -79
  163. package/src/pipeline/stages/findImageFromTags/AwsFindImageFromTagsStageConfig.spec.tsx +122 -0
  164. package/src/pipeline/stages/findImageFromTags/AwsFindImageFromTagsStageConfig.tsx +71 -0
  165. package/src/pipeline/stages/findImageFromTags/awsFindImageFromTagsStage.js +17 -32
  166. package/src/pipeline/stages/invokeLambda/index.ts +2 -6
  167. package/src/pipeline/stages/modifyScalingProcess/ModifyScalingProcessStageConfig.tsx +146 -0
  168. package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.js +27 -98
  169. package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.spec.tsx +167 -0
  170. package/src/pipeline/stages/modifyWarmPool/ModifyWarmPoolStageConfig.tsx +157 -0
  171. package/src/pipeline/stages/modifyWarmPool/modifyWarmPoolStage.js +26 -0
  172. package/src/pipeline/stages/modifyWarmPool/modifyWarmPoolStage.spec.tsx +89 -0
  173. package/src/pipeline/stages/resizeAsg/AwsResizeAsgStageConfig.spec.tsx +617 -0
  174. package/src/pipeline/stages/resizeAsg/AwsResizeAsgStageConfig.tsx +340 -0
  175. package/src/pipeline/stages/resizeAsg/awsResizeAsgStage.js +34 -125
  176. package/src/pipeline/stages/rollbackCluster/AwsRollbackClusterStageConfig.tsx +129 -0
  177. package/src/pipeline/stages/routeLambda/index.ts +2 -6
  178. package/src/pipeline/stages/scaleDownCluster/AwsScaleDownClusterStageConfig.tsx +121 -0
  179. package/src/pipeline/stages/shrinkCluster/AwsShrinkClusterStageConfig.tsx +136 -0
  180. package/src/pipeline/stages/tagImage/awsTagImageStage.spec.tsx +167 -0
  181. package/src/pipeline/stages/tagImage/awsTagImageStage.tsx +94 -0
  182. package/src/pipeline/stages/updateCodeLambda/index.ts +2 -6
  183. package/src/routerConsumers.spec.tsx +207 -0
  184. package/src/search/searchResultFormatter.ts +9 -16
  185. package/src/securityGroup/configure/AmazonSecurityGroupModal.spec.tsx +170 -0
  186. package/src/securityGroup/configure/AmazonSecurityGroupModal.tsx +440 -0
  187. package/src/securityGroup/details/AmazonSecurityGroupDetails.spec.tsx +62 -0
  188. package/src/securityGroup/details/AmazonSecurityGroupDetails.tsx +444 -0
  189. package/src/securityGroup/details/IPRangeRules.tsx +1 -1
  190. package/src/securityGroup/details/index.ts +1 -0
  191. package/src/securityGroup/index.ts +1 -0
  192. package/src/securityGroup/securityGroup.reader.ts +0 -5
  193. package/src/securityGroup/securityGroup.transformer.ts +35 -0
  194. package/src/serverGroup/configure/AmazonImageSelectInput.spec.tsx +104 -80
  195. package/src/serverGroup/configure/AmazonImageSelectInput.tsx +37 -18
  196. package/src/serverGroup/configure/serverGroupCommandBuilder.aws.service.spec.js +28 -66
  197. package/src/serverGroup/configure/serverGroupCommandBuilder.service.ts +476 -465
  198. package/src/serverGroup/configure/serverGroupCommandBuilder.spec.js +76 -124
  199. package/src/serverGroup/configure/serverGroupConfiguration.service.ts +106 -103
  200. package/src/serverGroup/configure/wizard/AmazonCloneServerGroupModal.tsx +65 -25
  201. package/src/serverGroup/configure/wizard/instanceType/CpuCreditsToggle.tsx +3 -3
  202. package/src/serverGroup/configure/wizard/instanceType/advancedMode/AdvancedModeSelector.tsx +2 -2
  203. package/src/serverGroup/configure/wizard/instanceType/simpleMode/SimpleModeSelector.spec.tsx +105 -0
  204. package/src/serverGroup/configure/wizard/instanceType/simpleMode/SimpleModeSelector.tsx +20 -6
  205. package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.spec.tsx +39 -0
  206. package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.tsx +10 -9
  207. package/src/serverGroup/configure/wizard/pages/ServerGroupInstanceType.tsx +2 -2
  208. package/src/serverGroup/configure/wizard/pages/ServerGroupLoadBalancers.tsx +5 -2
  209. package/src/serverGroup/configure/wizard/pages/advancedSettings/ServerGroupAdvancedSettingsCommon.spec.tsx +53 -0
  210. package/src/serverGroup/configure/wizard/pages/advancedSettings/ServerGroupAdvancedSettingsCommon.tsx +35 -33
  211. package/src/serverGroup/configure/wizard/securityGroups/SecurityGroupSelector.spec.tsx +20 -0
  212. package/src/serverGroup/configure/wizard/securityGroups/SecurityGroupSelector.tsx +9 -4
  213. package/src/serverGroup/details/AmazonServerGroupActions.spec.tsx +186 -0
  214. package/src/serverGroup/details/AmazonServerGroupActions.tsx +37 -87
  215. package/src/serverGroup/details/advancedSettings/EditAsgAdvancedSettingsModal.spec.tsx +110 -0
  216. package/src/serverGroup/details/advancedSettings/EditAsgAdvancedSettingsModal.tsx +117 -0
  217. package/src/serverGroup/details/advancedSettings/index.ts +1 -0
  218. package/src/serverGroup/details/amazonServerGroupDetailsGetter.ts +4 -4
  219. package/src/serverGroup/details/resize/AmazonResizeServerGroupModal.tsx +16 -6
  220. package/src/serverGroup/details/rollback/AmazonRollbackServerGroupModal.spec.tsx +285 -0
  221. package/src/serverGroup/details/rollback/AmazonRollbackServerGroupModal.tsx +449 -0
  222. package/src/serverGroup/details/rollback/index.ts +2 -0
  223. package/src/serverGroup/details/rollback/rollbackServerGroupSelection.spec.ts +101 -0
  224. package/src/serverGroup/details/rollback/rollbackServerGroupSelection.ts +81 -0
  225. package/src/serverGroup/details/scalingPolicy/CreateScalingPolicyButton.tsx +4 -4
  226. package/src/serverGroup/details/scalingPolicy/ScalingPolicyWriter.ts +2 -5
  227. package/src/serverGroup/details/scalingPolicy/upsert/alarm/DimensionsEditor.tsx +0 -2
  228. package/src/serverGroup/details/scalingProcesses/ModifyScalingProcessesModal.spec.tsx +74 -0
  229. package/src/serverGroup/details/scalingProcesses/ModifyScalingProcessesModal.tsx +140 -0
  230. package/src/serverGroup/details/scalingProcesses/index.ts +2 -0
  231. package/src/serverGroup/details/scheduledActions/EditScheduledActionsModal.spec.tsx +115 -0
  232. package/src/serverGroup/details/scheduledActions/EditScheduledActionsModal.tsx +205 -0
  233. package/src/serverGroup/details/scheduledActions/index.ts +1 -0
  234. package/src/serverGroup/details/sections/AdvancedSettingsDetailsSection.tsx +7 -14
  235. package/src/serverGroup/details/sections/AmazonCapacityDetailsSection.tsx +14 -2
  236. package/src/serverGroup/details/sections/AmazonServerGroupMaintenanceActions.spec.tsx +148 -0
  237. package/src/serverGroup/details/sections/InstancesDistributionDetailsSection.spec.tsx +1 -5
  238. package/src/serverGroup/details/sections/LaunchTemplateDetailsSection.spec.tsx +1 -5
  239. package/src/serverGroup/details/sections/ScalingProcessesDetailsSection.tsx +8 -20
  240. package/src/serverGroup/details/sections/ScheduledActionsDetailsSection.tsx +7 -12
  241. package/src/serverGroup/details/sections/SecurityGroupsDetailsSection.tsx +14 -19
  242. package/src/serverGroup/details/sections/WarmPoolDetailsSection.tsx +44 -0
  243. package/src/serverGroup/details/sections/index.ts +1 -0
  244. package/src/serverGroup/details/securityGroups/EditSecurityGroupsModal.spec.tsx +161 -0
  245. package/src/serverGroup/details/securityGroups/EditSecurityGroupsModal.tsx +177 -0
  246. package/src/serverGroup/details/securityGroups/index.ts +1 -0
  247. package/src/serverGroup/details/warmPool/ModifyWarmPoolModal.spec.tsx +69 -0
  248. package/src/serverGroup/details/warmPool/ModifyWarmPoolModal.tsx +191 -0
  249. package/src/serverGroup/details/warmPool/WarmPoolService.spec.ts +30 -0
  250. package/src/serverGroup/details/warmPool/WarmPoolService.ts +15 -0
  251. package/src/serverGroup/details/warmPool/index.ts +2 -0
  252. package/src/serverGroup/serverGroup.transformer.ts +1 -6
  253. package/src/vpc/VpcReader.ts +2 -2
  254. package/src/vpc/index.ts +1 -0
  255. package/dist/common/common.module.d.ts +0 -1
  256. package/dist/common/footer.component.d.ts +0 -1
  257. package/dist/function/function.module.d.ts +0 -1
  258. package/dist/instance/details/amazonInstanceInformation.component.d.ts +0 -1
  259. package/dist/instance/details/instance.details.controller.d.ts +0 -2
  260. package/dist/instance/details/instanceDns.component.d.ts +0 -1
  261. package/dist/instance/details/instanceSecurityGroups.component.d.ts +0 -1
  262. package/dist/instance/details/instanceStatus.component.d.ts +0 -1
  263. package/dist/instance/details/instanceTags.component.d.ts +0 -1
  264. package/dist/loadBalancer/details/loadBalancerActions.component.d.ts +0 -1
  265. package/dist/loadBalancer/details/loadBalancerDetails.controller.d.ts +0 -41
  266. package/dist/loadBalancer/details/targetGroupDetails.controller.d.ts +0 -30
  267. package/dist/loadBalancer/loadBalancer.module.d.ts +0 -1
  268. package/dist/loadBalancer/targetGroup.states.d.ts +0 -1
  269. package/dist/pipeline/stages/bake/awsBakeStage.d.ts +0 -2
  270. package/dist/pipeline/stages/bake/bakeExecutionDetails.controller.d.ts +0 -2
  271. package/dist/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.d.ts +0 -2
  272. package/dist/pipeline/stages/deployCloudFormation/cloudFormationTemplateEntry.component.d.ts +0 -1
  273. package/dist/pipeline/stages/deployCloudFormation/deployCloudFormationStackConfig.controller.d.ts +0 -25
  274. package/dist/pipeline/stages/disableAsg/awsDisableAsgStage.d.ts +0 -2
  275. package/dist/pipeline/stages/disableCluster/awsDisableClusterStage.d.ts +0 -2
  276. package/dist/pipeline/stages/enableAsg/awsEnableAsgStage.d.ts +0 -2
  277. package/dist/pipeline/stages/rollbackCluster/awsRollbackClusterStage.d.ts +0 -2
  278. package/dist/pipeline/stages/scaleDownCluster/awsScaleDownClusterStage.d.ts +0 -2
  279. package/dist/pipeline/stages/shrinkCluster/awsShrinkClusterStage.d.ts +0 -2
  280. package/dist/reactShims/aws.react.injector.d.ts +0 -18
  281. package/dist/reactShims/aws.react.module.d.ts +0 -1
  282. package/dist/reactShims/index.d.ts +0 -1
  283. package/dist/securityGroup/clone/cloneSecurityGroup.controller.d.ts +0 -2
  284. package/dist/securityGroup/configure/CreateSecurityGroupCtrl.d.ts +0 -2
  285. package/dist/securityGroup/configure/EditSecurityGroupCtrl.d.ts +0 -2
  286. package/dist/securityGroup/configure/configSecurityGroup.mixin.controller.d.ts +0 -2
  287. package/dist/securityGroup/configure/ingressRuleGroupSelector.component.d.ts +0 -1
  288. package/dist/securityGroup/configure/securityGroupDetailsCustom.component.d.ts +0 -1
  289. package/dist/securityGroup/configure/securityGroupDetailsCustom.d.ts +0 -10
  290. package/dist/securityGroup/details/securityGroupDetail.controller.d.ts +0 -2
  291. package/dist/securityGroup/details/securityGroupIpRangeRules.component.d.ts +0 -1
  292. package/dist/securityGroup/securityGroup.module.d.ts +0 -1
  293. package/dist/serverGroup/details/advancedSettings/editAsgAdvancedSettings.modal.controller.d.ts +0 -2
  294. package/dist/serverGroup/details/rollback/rollbackServerGroup.controller.d.ts +0 -2
  295. package/dist/serverGroup/details/scalingPolicy/createScalingPolicyButton.component.d.ts +0 -1
  296. package/dist/serverGroup/details/scalingPolicy/scalingPolicy.module.d.ts +0 -1
  297. package/dist/serverGroup/details/scalingPolicy/scalingPolicySummary.component.d.ts +0 -1
  298. package/dist/serverGroup/details/scalingProcesses/modifyScalingProcesses.controller.d.ts +0 -2
  299. package/dist/serverGroup/details/scheduledAction/editScheduledActions.modal.controller.d.ts +0 -2
  300. package/dist/serverGroup/details/securityGroup/editSecurityGroups.modal.controller.d.ts +0 -2
  301. package/dist/serverGroup/details/serverGroupDetails.module.d.ts +0 -1
  302. package/dist/subnet/subnet.renderer.d.ts +0 -5
  303. package/dist/vpc/vpc.module.d.ts +0 -1
  304. package/src/applicationProviderFields/awsFields.html +0 -13
  305. package/src/common/common.module.ts +0 -6
  306. package/src/common/footer.component.ts +0 -29
  307. package/src/function/function.module.ts +0 -5
  308. package/src/image/image.reader.spec.ts +0 -75
  309. package/src/instance/details/amazonInstanceInformation.component.ts +0 -13
  310. package/src/instance/details/instance.details.controller.js +0 -586
  311. package/src/instance/details/instance.details.controller.spec.js +0 -133
  312. package/src/instance/details/instanceDetails.html +0 -65
  313. package/src/instance/details/instanceDns.component.ts +0 -21
  314. package/src/instance/details/instanceSecurityGroups.component.ts +0 -13
  315. package/src/instance/details/instanceStatus.component.ts +0 -19
  316. package/src/instance/details/instanceTags.component.ts +0 -13
  317. package/src/loadBalancer/details/loadBalancerActions.component.ts +0 -16
  318. package/src/loadBalancer/details/loadBalancerDetails.controller.spec.ts +0 -76
  319. package/src/loadBalancer/details/loadBalancerDetails.controller.ts +0 -240
  320. package/src/loadBalancer/details/loadBalancerDetails.html +0 -266
  321. package/src/loadBalancer/details/targetGroupDetails.controller.ts +0 -95
  322. package/src/loadBalancer/details/targetGroupDetails.html +0 -138
  323. package/src/loadBalancer/loadBalancer.module.ts +0 -15
  324. package/src/loadBalancer/targetGroup.states.ts +0 -55
  325. package/src/pipeline/stages/bake/awsBakeStage.js +0 -219
  326. package/src/pipeline/stages/bake/bakeExecutionDetails.controller.js +0 -43
  327. package/src/pipeline/stages/bake/bakeExecutionDetails.html +0 -65
  328. package/src/pipeline/stages/bake/bakeStage.html +0 -205
  329. package/src/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.js +0 -143
  330. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStage.html +0 -143
  331. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStepLabel.html +0 -1
  332. package/src/pipeline/stages/deployCloudFormation/cloudFormationTemplateEntry.component.ts +0 -46
  333. package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackConfig.controller.ts +0 -84
  334. package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackConfig.html +0 -84
  335. package/src/pipeline/stages/destroyAsg/destroyAsgStage.html +0 -9
  336. package/src/pipeline/stages/destroyAsg/destroyAsgStepLabel.html +0 -1
  337. package/src/pipeline/stages/disableAsg/awsDisableAsgStage.js +0 -69
  338. package/src/pipeline/stages/disableAsg/disableAsgStage.html +0 -11
  339. package/src/pipeline/stages/disableAsg/disableAsgStepLabel.html +0 -1
  340. package/src/pipeline/stages/disableCluster/awsDisableClusterStage.js +0 -84
  341. package/src/pipeline/stages/disableCluster/disableClusterStage.html +0 -26
  342. package/src/pipeline/stages/enableAsg/awsEnableAsgStage.js +0 -73
  343. package/src/pipeline/stages/enableAsg/enableAsgStage.html +0 -11
  344. package/src/pipeline/stages/enableAsg/enableAsgStepLabel.html +0 -1
  345. package/src/pipeline/stages/findAmi/findAmiStage.html +0 -24
  346. package/src/pipeline/stages/findImageFromTags/findImageFromTagsExecutionDetails.html +0 -44
  347. package/src/pipeline/stages/findImageFromTags/findImageFromTagsStage.html +0 -11
  348. package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessExecutionDetails.html +0 -36
  349. package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.html +0 -24
  350. package/src/pipeline/stages/resizeAsg/resizeAsgStage.html +0 -90
  351. package/src/pipeline/stages/resizeAsg/resizeAsgStepLabel.html +0 -4
  352. package/src/pipeline/stages/rollbackCluster/awsRollbackClusterStage.js +0 -66
  353. package/src/pipeline/stages/rollbackCluster/rollbackClusterStage.html +0 -43
  354. package/src/pipeline/stages/scaleDownCluster/awsScaleDownClusterStage.js +0 -78
  355. package/src/pipeline/stages/scaleDownCluster/scaleDownClusterStage.html +0 -35
  356. package/src/pipeline/stages/shrinkCluster/awsShrinkClusterStage.js +0 -73
  357. package/src/pipeline/stages/shrinkCluster/shrinkClusterStage.html +0 -34
  358. package/src/pipeline/stages/tagImage/awsTagImageStage.js +0 -34
  359. package/src/pipeline/stages/tagImage/tagImageExecutionDetails.html +0 -38
  360. package/src/pipeline/stages/tagImage/tagImageStage.html +0 -10
  361. package/src/reactShims/aws.react.injector.ts +0 -25
  362. package/src/reactShims/aws.react.module.ts +0 -12
  363. package/src/reactShims/index.ts +0 -1
  364. package/src/securityGroup/clone/cloneSecurityGroup.controller.js +0 -106
  365. package/src/securityGroup/clone/cloneSecurityGroup.html +0 -19
  366. package/src/securityGroup/configure/CreateSecurityGroup.controller.spec.js +0 -307
  367. package/src/securityGroup/configure/CreateSecurityGroupCtrl.js +0 -47
  368. package/src/securityGroup/configure/EditSecurityGroupCtrl.js +0 -115
  369. package/src/securityGroup/configure/configSecurityGroup.mixin.controller.js +0 -366
  370. package/src/securityGroup/configure/createSecurityGroup.html +0 -19
  371. package/src/securityGroup/configure/createSecurityGroupIngress.html +0 -100
  372. package/src/securityGroup/configure/createSecurityGroupProperties.html +0 -123
  373. package/src/securityGroup/configure/editSecurityGroup.html +0 -20
  374. package/src/securityGroup/configure/ingressRuleGroupSelector.component.html +0 -77
  375. package/src/securityGroup/configure/ingressRuleGroupSelector.component.less +0 -6
  376. package/src/securityGroup/configure/ingressRuleGroupSelector.component.ts +0 -190
  377. package/src/securityGroup/configure/securityGroupDetailsCustom.component.ts +0 -16
  378. package/src/securityGroup/configure/securityGroupDetailsCustom.tsx +0 -16
  379. package/src/securityGroup/details/securityGroupDetail.controller.js +0 -249
  380. package/src/securityGroup/details/securityGroupDetail.html +0 -114
  381. package/src/securityGroup/details/securityGroupIpRangeRules.component.ts +0 -12
  382. package/src/securityGroup/securityGroup.module.ts +0 -26
  383. package/src/securityGroup/securityGroup.transformer.js +0 -48
  384. package/src/serverGroup/configure/serverGroupConfiguration.service.spec.ts +0 -478
  385. package/src/serverGroup/details/advancedSettings/editAsgAdvancedSettings.modal.controller.js +0 -47
  386. package/src/serverGroup/details/advancedSettings/editAsgAdvancedSettings.modal.html +0 -79
  387. package/src/serverGroup/details/rollback/rollbackServerGroup.controller.js +0 -146
  388. package/src/serverGroup/details/rollback/rollbackServerGroup.html +0 -139
  389. package/src/serverGroup/details/scalingPolicy/createScalingPolicyButton.component.ts +0 -15
  390. package/src/serverGroup/details/scalingPolicy/scalingPolicy.module.ts +0 -6
  391. package/src/serverGroup/details/scalingPolicy/scalingPolicySummary.component.ts +0 -14
  392. package/src/serverGroup/details/scalingPolicy/upsert/alarm/dimensionsEditor.less +0 -18
  393. package/src/serverGroup/details/scalingProcesses/modifyScalingProcesses.controller.js +0 -95
  394. package/src/serverGroup/details/scalingProcesses/modifyScalingProcesses.controller.spec.js +0 -106
  395. package/src/serverGroup/details/scalingProcesses/modifyScalingProcesses.html +0 -30
  396. package/src/serverGroup/details/scheduledAction/editScheduledActions.modal.controller.js +0 -70
  397. package/src/serverGroup/details/scheduledAction/editScheduledActions.modal.html +0 -89
  398. package/src/serverGroup/details/securityGroup/editSecurityGroups.modal.controller.js +0 -95
  399. package/src/serverGroup/details/securityGroup/editSecurityGroups.modal.html +0 -40
  400. package/src/serverGroup/details/serverGroupDetails.module.ts +0 -18
  401. package/src/serverGroup/serverGroup.transformer.spec.ts +0 -185
  402. package/src/subnet/SubnetSelectInput.spec.tsx +0 -91
  403. package/src/subnet/subnet.renderer.ts +0 -12
  404. package/src/vpc/vpc.module.ts +0 -9
@@ -3,6 +3,7 @@
3
3
  import { AccountService, SubnetReader } from '@spinnaker/core';
4
4
 
5
5
  import { AWSProviderSettings } from '../../aws.settings';
6
+ import { createAwsServerGroupCommandBuilder } from './serverGroupCommandBuilder.service';
6
7
 
7
8
  import {
8
9
  createMockAmazonServerGroupWithLt,
@@ -13,62 +14,50 @@ import {
13
14
  describe('awsServerGroupCommandBuilder', function () {
14
15
  const AccountServiceFixture = require('./AccountServiceFixtures');
15
16
 
16
- beforeEach(window.module(require('./serverGroupCommandBuilder.service').name));
17
-
18
- beforeEach(
19
- window.inject(function (awsServerGroupCommandBuilder, $q, $rootScope, instanceTypeService) {
20
- this.awsServerGroupCommandBuilder = awsServerGroupCommandBuilder;
21
- this.$scope = $rootScope;
22
- this.instanceTypeService = instanceTypeService;
23
- this.$q = $q;
24
- spyOn(AccountService, 'getPreferredZonesByAccount').and.returnValue(
25
- $q.when(AccountServiceFixture.preferredZonesByAccount),
26
- );
27
- spyOn(AccountService, 'getCredentialsKeyedByAccount').and.returnValue(
28
- $q.when(AccountServiceFixture.credentialsKeyedByAccount),
29
- );
30
- spyOn(SubnetReader, 'listSubnets').and.returnValue($q.when([]));
31
- spyOn(AccountService, 'getAvailabilityZonesForAccountAndRegion').and.returnValue(this.$q.when(['a', 'b', 'c']));
32
- }),
33
- );
17
+ beforeEach(function () {
18
+ this.instanceTypeService = {
19
+ getCategoryForMultipleInstanceTypes: jasmine.createSpy('getCategoryForMultipleInstanceTypes'),
20
+ };
21
+ this.awsServerGroupCommandBuilder = createAwsServerGroupCommandBuilder(this.instanceTypeService);
22
+ spyOn(AccountService, 'getPreferredZonesByAccount').and.returnValue(
23
+ Promise.resolve(AccountServiceFixture.preferredZonesByAccount),
24
+ );
25
+ spyOn(AccountService, 'getCredentialsKeyedByAccount').and.returnValue(
26
+ Promise.resolve(AccountServiceFixture.credentialsKeyedByAccount),
27
+ );
28
+ spyOn(SubnetReader, 'listSubnets').and.returnValue(Promise.resolve([]));
29
+ spyOn(AccountService, 'getAvailabilityZonesForAccountAndRegion').and.returnValue(Promise.resolve(['a', 'b', 'c']));
30
+ });
34
31
 
35
32
  afterEach(AWSProviderSettings.resetToOriginal);
36
33
 
37
34
  describe('buildNewServerGroupCommand', function () {
38
- it('initializes to default values, setting usePreferredZone flag to true', function () {
39
- let command = null;
35
+ it('initializes to default values, setting usePreferredZone flag to true', async function () {
40
36
  AWSProviderSettings.defaults.iamRole = '{{application}}IAMRole';
41
- this.awsServerGroupCommandBuilder
42
- .buildNewServerGroupCommand({ name: 'appo', defaultCredentials: {}, defaultRegions: {} }, 'aws')
43
- .then(function (result) {
44
- command = result;
45
- });
46
-
47
- this.$scope.$digest();
37
+ const command = await this.awsServerGroupCommandBuilder.buildNewServerGroupCommand(
38
+ { name: 'appo', defaultCredentials: {}, defaultRegions: {} },
39
+ 'aws',
40
+ );
48
41
 
49
42
  expect(command.viewState.usePreferredZones).toBe(true);
50
43
  expect(command.availabilityZones).toEqual(['a', 'b', 'c']);
51
44
  expect(command.iamRole).toBe('appoIAMRole');
52
45
  });
53
46
 
54
- it('sets unlimitedCpuCredits to undefined if not modified by user', function () {
55
- let command = null;
47
+ it('sets unlimitedCpuCredits to undefined if not modified by user', async function () {
56
48
  AWSProviderSettings.defaults.iamRole = '{{application}}IAMRole';
57
- this.awsServerGroupCommandBuilder
58
- .buildNewServerGroupCommand({ name: 'test-app', defaultCredentials: {}, defaultRegions: {} }, 'aws')
59
- .then(function (result) {
60
- command = result;
61
- });
62
-
63
- this.$scope.$digest();
49
+ const command = await this.awsServerGroupCommandBuilder.buildNewServerGroupCommand(
50
+ { name: 'test-app', defaultCredentials: {}, defaultRegions: {} },
51
+ 'aws',
52
+ );
64
53
 
65
54
  expect(command.unlimitedCpuCredits).toBe(undefined);
66
55
  });
67
56
  });
68
57
 
69
58
  describe('buildServerGroupCommandFromExisting', function () {
70
- it('sets usePreferredZones flag based on initial value', function () {
71
- spyOn(this.instanceTypeService, 'getCategoryForMultipleInstanceTypes').and.returnValue(this.$q.when('custom'));
59
+ it('sets usePreferredZones flag based on initial value', async function () {
60
+ this.instanceTypeService.getCategoryForMultipleInstanceTypes.and.returnValue(Promise.resolve('custom'));
72
61
  const baseServerGroup = {
73
62
  account: 'prod',
74
63
  region: 'us-west-1',
@@ -78,37 +67,27 @@ describe('awsServerGroupCommandBuilder', function () {
78
67
  },
79
68
  launchTemplate: mockLaunchTemplate,
80
69
  };
81
- let command = null;
82
-
83
- this.awsServerGroupCommandBuilder
84
- .buildServerGroupCommandFromExisting({ name: 'appo' }, baseServerGroup)
85
- .then(function (result) {
86
- command = result;
87
- });
88
-
89
- this.$scope.$digest();
70
+ let command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
71
+ { name: 'appo' },
72
+ baseServerGroup,
73
+ );
90
74
 
91
75
  expect(command.viewState.usePreferredZones).toBe(true);
92
76
  expect(command.availabilityZones).toEqual(['g', 'h', 'i']);
93
77
 
94
78
  baseServerGroup.asg.availabilityZones = ['g'];
95
79
 
96
- this.awsServerGroupCommandBuilder
97
- .buildServerGroupCommandFromExisting({ name: 'appo' }, baseServerGroup)
98
- .then(function (result) {
99
- command = result;
100
- });
101
-
102
- this.$scope.$digest();
80
+ command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
81
+ { name: 'appo' },
82
+ baseServerGroup,
83
+ );
103
84
 
104
85
  expect(command.viewState.usePreferredZones).toBe(false);
105
86
  expect(command.availabilityZones).toEqual(['g']);
106
87
  });
107
88
 
108
- it('sets profile and instance type if available', function () {
109
- spyOn(this.instanceTypeService, 'getCategoryForMultipleInstanceTypes').and.returnValue(
110
- this.$q.when('selectedProfile'),
111
- );
89
+ it('sets profile and instance type if available', async function () {
90
+ this.instanceTypeService.getCategoryForMultipleInstanceTypes.and.returnValue(Promise.resolve('selectedProfile'));
112
91
 
113
92
  const baseServerGroup = {
114
93
  account: 'prod',
@@ -123,24 +102,17 @@ describe('awsServerGroupCommandBuilder', function () {
123
102
  securityGroups: [],
124
103
  },
125
104
  };
126
- let command = null;
127
-
128
- this.awsServerGroupCommandBuilder
129
- .buildServerGroupCommandFromExisting({ name: 'appo' }, baseServerGroup)
130
- .then(function (result) {
131
- command = result;
132
- });
133
-
134
- this.$scope.$digest();
105
+ const command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
106
+ { name: 'appo' },
107
+ baseServerGroup,
108
+ );
135
109
 
136
110
  expect(command.viewState.instanceProfile).toBe('selectedProfile');
137
111
  expect(command.instanceType).toBe('something-custom');
138
112
  });
139
113
 
140
- it('copies suspended processes unless the mode is "editPipeline"', function () {
141
- spyOn(this.instanceTypeService, 'getCategoryForMultipleInstanceTypes').and.returnValue(
142
- this.$q.when('selectedProfile'),
143
- );
114
+ it('copies suspended processes unless the mode is "editPipeline"', async function () {
115
+ this.instanceTypeService.getCategoryForMultipleInstanceTypes.and.returnValue(Promise.resolve('selectedProfile'));
144
116
 
145
117
  const baseServerGroup = {
146
118
  account: 'prod',
@@ -156,29 +128,24 @@ describe('awsServerGroupCommandBuilder', function () {
156
128
  securityGroups: [],
157
129
  },
158
130
  };
159
- let command = null;
160
-
161
- this.awsServerGroupCommandBuilder
162
- .buildServerGroupCommandFromExisting({ name: 'appo' }, baseServerGroup)
163
- .then((result) => (command = result));
164
-
165
- this.$scope.$digest();
131
+ let command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
132
+ { name: 'appo' },
133
+ baseServerGroup,
134
+ );
166
135
 
167
136
  expect(command.suspendedProcesses).toEqual(['x', 'a']);
168
137
 
169
- this.awsServerGroupCommandBuilder
170
- .buildServerGroupCommandFromExisting({ name: 'appo' }, baseServerGroup, 'editPipeline')
171
- .then((result) => (command = result));
172
-
173
- this.$scope.$digest();
138
+ command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
139
+ { name: 'appo' },
140
+ baseServerGroup,
141
+ 'editPipeline',
142
+ );
174
143
 
175
144
  expect(command.suspendedProcesses).toEqual([]);
176
145
  });
177
146
 
178
- it('copies tags not in the reserved list:', function () {
179
- spyOn(this.instanceTypeService, 'getCategoryForMultipleInstanceTypes').and.returnValue(
180
- this.$q.when('selectedProfile'),
181
- );
147
+ it('copies tags not in the reserved list:', async function () {
148
+ this.instanceTypeService.getCategoryForMultipleInstanceTypes.and.returnValue(Promise.resolve('selectedProfile'));
182
149
 
183
150
  const baseServerGroup = {
184
151
  account: 'prod',
@@ -207,21 +174,16 @@ describe('awsServerGroupCommandBuilder', function () {
207
174
  securityGroups: [],
208
175
  },
209
176
  };
210
- let command = null;
211
-
212
- this.awsServerGroupCommandBuilder
213
- .buildServerGroupCommandFromExisting({ name: 'appo' }, baseServerGroup)
214
- .then((result) => (command = result));
215
-
216
- this.$scope.$digest();
177
+ const command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
178
+ { name: 'appo' },
179
+ baseServerGroup,
180
+ );
217
181
 
218
182
  expect(command.tags).toEqual({ 'some-key': 'some-value' });
219
183
  });
220
184
 
221
- it('sets unlimitedCpuCredits to false when building from source server group with standard credits', function () {
222
- spyOn(this.instanceTypeService, 'getCategoryForMultipleInstanceTypes').and.returnValue(
223
- this.$q.when('selectedProfile'),
224
- );
185
+ it('sets unlimitedCpuCredits to false when building from source server group with standard credits', async function () {
186
+ this.instanceTypeService.getCategoryForMultipleInstanceTypes.and.returnValue(Promise.resolve('selectedProfile'));
225
187
 
226
188
  const baseServerGroup = createMockAmazonServerGroupWithLt(
227
189
  createCustomMockLaunchTemplate('testLtCpuCredits', {
@@ -231,20 +193,16 @@ describe('awsServerGroupCommandBuilder', function () {
231
193
  }),
232
194
  );
233
195
 
234
- let command = null;
235
- this.awsServerGroupCommandBuilder
236
- .buildServerGroupCommandFromExisting({ name: 'test' }, baseServerGroup)
237
- .then((result) => (command = result));
238
-
239
- this.$scope.$digest();
196
+ const command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
197
+ { name: 'test' },
198
+ baseServerGroup,
199
+ );
240
200
 
241
201
  expect(command.unlimitedCpuCredits).toBe(false);
242
202
  });
243
203
 
244
- it('sets unlimitedCpuCredits to true when building from source server group with unlimited credits', function () {
245
- spyOn(this.instanceTypeService, 'getCategoryForMultipleInstanceTypes').and.returnValue(
246
- this.$q.when('selectedProfile'),
247
- );
204
+ it('sets unlimitedCpuCredits to true when building from source server group with unlimited credits', async function () {
205
+ this.instanceTypeService.getCategoryForMultipleInstanceTypes.and.returnValue(Promise.resolve('selectedProfile'));
248
206
 
249
207
  const baseServerGroup = createMockAmazonServerGroupWithLt(
250
208
  createCustomMockLaunchTemplate('testLtCpuCredits', {
@@ -254,29 +212,23 @@ describe('awsServerGroupCommandBuilder', function () {
254
212
  }),
255
213
  );
256
214
 
257
- let command = null;
258
- this.awsServerGroupCommandBuilder
259
- .buildServerGroupCommandFromExisting({ name: 'test' }, baseServerGroup)
260
- .then((result) => (command = result));
261
-
262
- this.$scope.$digest();
215
+ const command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
216
+ { name: 'test' },
217
+ baseServerGroup,
218
+ );
263
219
 
264
220
  expect(command.unlimitedCpuCredits).toBe(true);
265
221
  });
266
222
 
267
- it('sets unlimitedCpuCredits to undefined when building from source server group with cpu credits unset', function () {
268
- spyOn(this.instanceTypeService, 'getCategoryForMultipleInstanceTypes').and.returnValue(
269
- this.$q.when('selectedProfile'),
270
- );
223
+ it('sets unlimitedCpuCredits to undefined when building from source server group with cpu credits unset', async function () {
224
+ this.instanceTypeService.getCategoryForMultipleInstanceTypes.and.returnValue(Promise.resolve('selectedProfile'));
271
225
 
272
226
  const baseServerGroup = createMockAmazonServerGroupWithLt();
273
227
 
274
- let command = null;
275
- this.awsServerGroupCommandBuilder
276
- .buildServerGroupCommandFromExisting({ name: 'test' }, baseServerGroup)
277
- .then((result) => (command = result));
278
-
279
- this.$scope.$digest();
228
+ const command = await this.awsServerGroupCommandBuilder.buildServerGroupCommandFromExisting(
229
+ { name: 'test' },
230
+ baseServerGroup,
231
+ );
280
232
 
281
233
  expect(command.unlimitedCpuCredits).toBe(undefined);
282
234
  });
@@ -1,4 +1,3 @@
1
- import { module } from 'angular';
2
1
  import {
3
2
  chain,
4
3
  clone,
@@ -15,11 +14,11 @@ import {
15
14
  some,
16
15
  xor,
17
16
  } from 'lodash';
18
- import { $q } from 'ngimport';
19
17
 
20
18
  import type {
21
19
  Application,
22
20
  CacheInitializerService,
21
+ DeckRuntimeServices,
23
22
  IAccountDetails,
24
23
  IDeploymentStrategy,
25
24
  IRegion,
@@ -31,20 +30,10 @@ import type {
31
30
  IServerGroupCommandResult,
32
31
  IServerGroupCommandViewState,
33
32
  ISubnet,
34
- LoadBalancerReader,
35
33
  SecurityGroupReader,
36
34
  ServerGroupCommandRegistry,
37
35
  } from '@spinnaker/core';
38
- import {
39
- AccountService,
40
- CACHE_INITIALIZER_SERVICE,
41
- LOAD_BALANCER_READ_SERVICE,
42
- NameUtils,
43
- SECURITY_GROUP_READER,
44
- SERVER_GROUP_COMMAND_REGISTRY_PROVIDER,
45
- setMatchingResourceSummary,
46
- SubnetReader,
47
- } from '@spinnaker/core';
36
+ import { AccountService, NameUtils, REST, setMatchingResourceSummary, SubnetReader } from '@spinnaker/core';
48
37
 
49
38
  import { AWSProviderSettings } from '../../aws.settings';
50
39
  import { AutoScalingProcessService } from '../details/scalingProcesses/AutoScalingProcessService';
@@ -54,8 +43,8 @@ import type {
54
43
  IKeyPair,
55
44
  IScalingProcess,
56
45
  } from '../../domain';
57
- import { AMAZON_INSTANCE_AWSINSTANCETYPE_SERVICE } from '../../instance/awsInstanceType.service';
58
- import type { IAmazonInstanceType } from '../../instance/awsInstanceType.service';
46
+ import { AwsInstanceTypeService } from '../../instance/awsInstanceType.service';
47
+ import type { IAmazonInstanceType, IAmazonInstanceTypesByRegion } from '../../instance/awsInstanceType.service';
59
48
  import { KeyPairsReader } from '../../keyPairs';
60
49
 
61
50
  export type IBlockDeviceMappingSource = 'source' | 'ami' | 'default';
@@ -81,7 +70,7 @@ export interface IAmazonServerGroupCommandBackingData extends IServerGroupComman
81
70
  keyPairs: IKeyPair[];
82
71
  targetGroups: string[];
83
72
  scalingProcesses: IScalingProcess[];
84
- instanceTypesInfo: IAmazonInstanceType[];
73
+ instanceTypesInfo: IAmazonInstanceTypesByRegion;
85
74
  }
86
75
 
87
76
  export interface IAmazonServerGroupCommandViewState extends IServerGroupCommandViewState {
@@ -178,21 +167,30 @@ export class AwsServerGroupConfigurationService {
178
167
  'ClosestToNextInstanceHour',
179
168
  'Default',
180
169
  ];
170
+ private securityGroupReader: SecurityGroupReader;
171
+ private awsInstanceTypeService: AwsInstanceTypeService;
172
+ private cacheInitializer: CacheInitializerService;
181
173
 
182
- public static $inject = [
183
- 'securityGroupReader',
184
- 'awsInstanceTypeService',
185
- 'cacheInitializer',
186
- 'loadBalancerReader',
187
- 'serverGroupCommandRegistry',
188
- ];
189
174
  constructor(
190
- private securityGroupReader: SecurityGroupReader,
191
- private awsInstanceTypeService: any,
192
- private cacheInitializer: CacheInitializerService,
193
- private loadBalancerReader: LoadBalancerReader,
194
- private serverGroupCommandRegistry: ServerGroupCommandRegistry,
195
- ) {}
175
+ securityGroupReader: SecurityGroupReader,
176
+ awsInstanceTypeService: AwsInstanceTypeService,
177
+ cacheInitializer: CacheInitializerService,
178
+ private serverGroupCommandRegistry: Pick<ServerGroupCommandRegistry, 'getCommandOverrides'> = {
179
+ getCommandOverrides: () => [],
180
+ },
181
+ ) {
182
+ this.securityGroupReader = securityGroupReader;
183
+ this.awsInstanceTypeService = awsInstanceTypeService;
184
+ this.cacheInitializer = cacheInitializer;
185
+ }
186
+
187
+ private getSecurityGroupReader(): SecurityGroupReader {
188
+ return this.securityGroupReader;
189
+ }
190
+
191
+ private getCacheInitializer(): CacheInitializerService {
192
+ return this.cacheInitializer;
193
+ }
196
194
 
197
195
  public configureUpdateCommand(command: IAmazonServerGroupCommand): void {
198
196
  command.backingData = {
@@ -202,7 +200,7 @@ export class AwsServerGroupConfigurationService {
202
200
  } as IAmazonServerGroupCommandBackingData;
203
201
  }
204
202
 
205
- public configureCommand(application: Application, cmd: IAmazonServerGroupCommand): PromiseLike<void> {
203
+ public configureCommand(application: Application, cmd: IAmazonServerGroupCommand): Promise<void> {
206
204
  this.applyOverrides('beforeConfiguration', cmd);
207
205
  // TODO: Instead of attaching these to the command itself, they could be static methods
208
206
  cmd.toggleSuspendedProcess = (command: IAmazonServerGroupCommand, process: string): void => {
@@ -260,21 +258,31 @@ export class AwsServerGroupConfigurationService {
260
258
  command.backingData.filtered.regions.some((region) => region.name === command.region && region.deprecated)
261
259
  );
262
260
  };
263
-
264
- return $q
265
- .all([
266
- AccountService.getCredentialsKeyedByAccount('aws'),
267
- this.securityGroupReader.getAllSecurityGroups(),
268
- SubnetReader.listSubnets(),
269
- AccountService.getPreferredZonesByAccount('aws'),
270
- KeyPairsReader.listKeyPairs(),
271
- this.awsInstanceTypeService.getAllTypesByRegion(),
272
- $q.when(clone(this.enabledMetrics)),
273
- $q.when(clone(this.healthCheckTypes)),
274
- $q.when(clone(this.terminationPolicies)),
275
- ])
276
- .then(
277
- ([
261
+ const securityGroupReader = this.getSecurityGroupReader();
262
+
263
+ return Promise.all([
264
+ AccountService.getCredentialsKeyedByAccount('aws'),
265
+ securityGroupReader.getAllSecurityGroups(),
266
+ SubnetReader.listSubnets(),
267
+ AccountService.getPreferredZonesByAccount('aws'),
268
+ KeyPairsReader.listKeyPairs(),
269
+ this.awsInstanceTypeService.getAllTypesByRegion(),
270
+ Promise.resolve(clone(this.enabledMetrics)),
271
+ Promise.resolve(clone(this.healthCheckTypes)),
272
+ Promise.resolve(clone(this.terminationPolicies)),
273
+ ]).then(
274
+ ([
275
+ credentialsKeyedByAccount,
276
+ securityGroups,
277
+ subnets,
278
+ preferredZones,
279
+ keyPairs,
280
+ instanceTypesInfo,
281
+ enabledMetrics,
282
+ healthCheckTypes,
283
+ terminationPolicies,
284
+ ]) => {
285
+ const backingData: Partial<IAmazonServerGroupCommandBackingData> = {
278
286
  credentialsKeyedByAccount,
279
287
  securityGroups,
280
288
  subnets,
@@ -284,45 +292,34 @@ export class AwsServerGroupConfigurationService {
284
292
  enabledMetrics,
285
293
  healthCheckTypes,
286
294
  terminationPolicies,
287
- ]) => {
288
- const backingData: Partial<IAmazonServerGroupCommandBackingData> = {
289
- credentialsKeyedByAccount,
290
- securityGroups,
291
- subnets,
292
- preferredZones,
293
- keyPairs,
294
- instanceTypesInfo,
295
- enabledMetrics,
296
- healthCheckTypes,
297
- terminationPolicies,
298
- };
299
-
300
- let securityGroupReloader: PromiseLike<void> = $q.when();
301
- backingData.accounts = keys(backingData.credentialsKeyedByAccount);
302
- backingData.filtered = {} as IAmazonServerGroupCommandBackingDataFiltered;
303
- backingData.scalingProcesses = AutoScalingProcessService.listProcesses();
304
- backingData.appLoadBalancers = application.getDataSource('loadBalancers').data;
305
- backingData.managedResources = application.getDataSource('managedResources')?.data?.resources;
306
- cmd.backingData = backingData as IAmazonServerGroupCommandBackingData;
307
- this.configureVpcId(cmd);
308
- backingData.filtered.securityGroups = this.getRegionalSecurityGroups(cmd);
309
- if (cmd.viewState.disableImageSelection) {
310
- this.configureInstanceTypes(cmd);
311
- }
295
+ };
296
+
297
+ let securityGroupReloader: Promise<void> = Promise.resolve();
298
+ backingData.accounts = keys(backingData.credentialsKeyedByAccount);
299
+ backingData.filtered = {} as IAmazonServerGroupCommandBackingDataFiltered;
300
+ backingData.scalingProcesses = AutoScalingProcessService.listProcesses();
301
+ backingData.appLoadBalancers = application.getDataSource('loadBalancers').data;
302
+ backingData.managedResources = application.getDataSource('managedResources')?.data?.resources;
303
+ cmd.backingData = backingData as IAmazonServerGroupCommandBackingData;
304
+ this.configureVpcId(cmd);
305
+ backingData.filtered.securityGroups = this.getRegionalSecurityGroups(cmd);
306
+ if (cmd.viewState.disableImageSelection) {
307
+ this.configureInstanceTypes(cmd);
308
+ }
312
309
 
313
- if (cmd.securityGroups && cmd.securityGroups.length) {
314
- const regionalSecurityGroupIds = map(this.getRegionalSecurityGroups(cmd), 'id');
315
- if (intersection(cmd.securityGroups, regionalSecurityGroupIds).length < cmd.securityGroups.length) {
316
- securityGroupReloader = this.refreshSecurityGroups(cmd, true);
317
- }
310
+ if (cmd.securityGroups && cmd.securityGroups.length) {
311
+ const regionalSecurityGroupIds = map(this.getRegionalSecurityGroups(cmd), 'id');
312
+ if (intersection(cmd.securityGroups, regionalSecurityGroupIds).length < cmd.securityGroups.length) {
313
+ securityGroupReloader = this.refreshSecurityGroups(cmd, true);
318
314
  }
315
+ }
319
316
 
320
- return securityGroupReloader.then(() => {
321
- this.applyOverrides('afterConfiguration', cmd);
322
- this.attachEventHandlers(cmd);
323
- });
324
- },
325
- );
317
+ return securityGroupReloader.then(() => {
318
+ this.applyOverrides('afterConfiguration', cmd);
319
+ this.attachEventHandlers(cmd);
320
+ });
321
+ },
322
+ );
326
323
  }
327
324
 
328
325
  public applyOverrides(phase: string, command: IAmazonServerGroupCommand): void {
@@ -514,15 +511,19 @@ export class AwsServerGroupConfigurationService {
514
511
  public refreshSecurityGroups(
515
512
  command: IAmazonServerGroupCommand,
516
513
  skipCommandReconfiguration?: boolean,
517
- ): PromiseLike<void> {
518
- return this.cacheInitializer.refreshCache('securityGroups').then(() => {
519
- return this.securityGroupReader.getAllSecurityGroups().then((securityGroups) => {
520
- command.backingData.securityGroups = securityGroups;
521
- if (!skipCommandReconfiguration) {
522
- this.configureSecurityGroupOptions(command);
523
- }
514
+ ): Promise<void> {
515
+ return this.getCacheInitializer()
516
+ .refreshCache('securityGroups')
517
+ .then(() => {
518
+ return this.getSecurityGroupReader()
519
+ .getAllSecurityGroups()
520
+ .then((securityGroups) => {
521
+ command.backingData.securityGroups = securityGroups;
522
+ if (!skipCommandReconfiguration) {
523
+ this.configureSecurityGroupOptions(command);
524
+ }
525
+ });
524
526
  });
525
- });
526
527
  }
527
528
 
528
529
  private getLoadBalancerMap(command: IAmazonServerGroupCommand): IAmazonLoadBalancerSourceData[] {
@@ -613,12 +614,15 @@ export class AwsServerGroupConfigurationService {
613
614
  }
614
615
 
615
616
  public refreshLoadBalancers(command: IAmazonServerGroupCommand, skipCommandReconfiguration?: boolean) {
616
- return this.loadBalancerReader.listLoadBalancers('aws').then((loadBalancers) => {
617
- command.backingData.loadBalancers = loadBalancers;
618
- if (!skipCommandReconfiguration) {
619
- this.configureLoadBalancerOptions(command);
620
- }
621
- });
617
+ return REST('/loadBalancers')
618
+ .query({ provider: 'aws' })
619
+ .get()
620
+ .then((loadBalancers) => {
621
+ command.backingData.loadBalancers = loadBalancers;
622
+ if (!skipCommandReconfiguration) {
623
+ this.configureLoadBalancerOptions(command);
624
+ }
625
+ });
622
626
  }
623
627
 
624
628
  public configureVpcId(command: IAmazonServerGroupCommand): IAmazonServerGroupCommandResult {
@@ -737,11 +741,10 @@ export class AwsServerGroupConfigurationService {
737
741
  }
738
742
  }
739
743
 
740
- export const AWS_SERVER_GROUP_CONFIGURATION_SERVICE = 'spinnaker.amazon.serverGroup.configure.service';
741
- module(AWS_SERVER_GROUP_CONFIGURATION_SERVICE, [
742
- SECURITY_GROUP_READER,
743
- AMAZON_INSTANCE_AWSINSTANCETYPE_SERVICE,
744
- LOAD_BALANCER_READ_SERVICE,
745
- CACHE_INITIALIZER_SERVICE,
746
- SERVER_GROUP_COMMAND_REGISTRY_PROVIDER,
747
- ]).service('awsServerGroupConfigurationService', AwsServerGroupConfigurationService);
744
+ export class AwsServerGroupConfigurationServiceDelegate extends AwsServerGroupConfigurationService {
745
+ public static readonly requiresDeckRuntimeServices = true;
746
+
747
+ constructor(_promiseService: unknown, runtimeServices: DeckRuntimeServices) {
748
+ super(runtimeServices.securityGroupReader, new AwsInstanceTypeService(), runtimeServices.cacheInitializer);
749
+ }
750
+ }