@spinnaker/amazon 2026.2.3 → 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
@@ -1,133 +0,0 @@
1
- import { ApplicationModelBuilder, InstanceReader } from '@spinnaker/core';
2
-
3
- describe('Controller: awsInstanceDetailsCtrl', function () {
4
- var controller;
5
- var scope;
6
- var $q;
7
- var application;
8
-
9
- beforeEach(window.module(require('./instance.details.controller').name));
10
-
11
- beforeEach(
12
- window.inject(function ($rootScope, $controller, _$q_) {
13
- scope = $rootScope.$new();
14
- $q = _$q_;
15
-
16
- this.createController = function (application, instance) {
17
- controller = $controller('awsInstanceDetailsCtrl', {
18
- $scope: scope,
19
- app: application,
20
- overrides: {},
21
- moniker: {},
22
- environment: 'test',
23
- instance,
24
- });
25
- };
26
-
27
- application = ApplicationModelBuilder.createApplicationForTests(
28
- 'app',
29
- { key: 'loadBalancers', lazy: true, defaultData: [] },
30
- { key: 'serverGroups', lazy: true, defaultData: [] },
31
- );
32
- }),
33
- );
34
-
35
- describe('health metrics', function () {
36
- it('overrides new health with health from application, adding new fields', function () {
37
- var details = {
38
- health: [{ type: 'Discovery', status: 'Up', extra: 'details field', reason: 'mutated' }],
39
- };
40
- var params = {
41
- instanceId: 'i-123',
42
- region: 'us-west-1',
43
- account: 'test',
44
- };
45
-
46
- spyOn(InstanceReader, 'getInstanceDetails').and.returnValue($q.when(details));
47
-
48
- application.loadBalancers.loaded = true;
49
-
50
- application.serverGroups.data = [
51
- {
52
- account: 'test',
53
- region: 'us-west-1',
54
- instances: [
55
- {
56
- id: 'i-123',
57
- health: [{ type: 'Discovery', status: 'Down', reason: 'original reason' }],
58
- },
59
- ],
60
- },
61
- ];
62
- application.serverGroups.loaded = true;
63
-
64
- this.createController(application, params);
65
- scope.$digest();
66
-
67
- expect(scope.healthMetrics.length).toBe(1);
68
- expect(scope.healthMetrics[0].reason).toBe('original reason');
69
- expect(scope.healthMetrics[0].status).toBe('Down');
70
- expect(scope.healthMetrics[0].extra).toBe('details field');
71
- });
72
- });
73
-
74
- describe('canRegister methods', function () {
75
- beforeEach(function () {
76
- var details = {};
77
- var params = {
78
- instanceId: 'i-123',
79
- region: 'us-west-1',
80
- account: 'test',
81
- };
82
-
83
- spyOn(InstanceReader, 'getInstanceDetails').and.returnValue(
84
- $q.when({
85
- plain: function () {
86
- return details;
87
- },
88
- }),
89
- );
90
-
91
- application.loadBalancers.loaded = true;
92
-
93
- application.serverGroups.data = [
94
- {
95
- account: 'test',
96
- region: 'us-west-1',
97
- instances: [
98
- {
99
- id: 'i-123',
100
- health: [{ type: 'Discovery', state: 'Up', reason: 'original reason' }],
101
- },
102
- ],
103
- },
104
- ];
105
- application.serverGroups.loaded = true;
106
-
107
- this.createController(application, params);
108
- scope.$digest();
109
- });
110
-
111
- it('can register with discovery when discovery', function () {
112
- expect(controller.canRegisterWithDiscovery()).toBe(false);
113
- scope.instance.health[0].state = 'OutOfService';
114
- expect(controller.canRegisterWithDiscovery()).toBe(true);
115
- scope.instance.health[0].state = 'Down';
116
- expect(controller.canRegisterWithDiscovery()).toBe(false);
117
- scope.instance.health = [];
118
- expect(controller.canRegisterWithDiscovery()).toBe(false);
119
- });
120
-
121
- it('can register with load balancer', function () {
122
- expect(controller.canRegisterWithLoadBalancer()).toBe(false);
123
- scope.instance.health[0].type = 'LoadBalancer';
124
- scope.instance.health[0].state = 'OutOfService';
125
- expect(controller.canRegisterWithLoadBalancer()).toBe(false);
126
- // add a load balancer
127
- scope.instance.loadBalancers = ['elb-1'];
128
- expect(controller.canRegisterWithLoadBalancer()).toBe(true);
129
- scope.instance.health[0].state = 'Up';
130
- expect(controller.canRegisterWithLoadBalancer()).toBe(false);
131
- });
132
- });
133
- });
@@ -1,65 +0,0 @@
1
- <div class="text-center" ng-if="state.notFoundStandalone">
2
- <h3>Could not find instance {{instanceIdNotFound}}.</h3>
3
- <a ui-sref="home.infrastructure">Back to search results</a>
4
- </div>
5
- <div class="details-panel" ng-if="!state.notFoundStandalone">
6
- <div class="header">
7
- <instance-details-header
8
- health-state="instance.healthState"
9
- instance-id="instance.instanceId || instanceIdNotFound"
10
- loading="state.loading"
11
- standalone="state.standalone"
12
- ></instance-details-header>
13
- <div ng-if="!state.loading" ng-hide="isDisabled">
14
- <div class="actions" ng-class="{ insights: instance.insightActions.length > 0 }" ng-if="instance.placement">
15
- <instance-actions actions="instanceActions"></instance-actions>
16
- <instance-insights insights="instance.insightActions" instance="instance"></instance-insights>
17
- </div>
18
- </div>
19
- </div>
20
- <div class="content" ng-if="!state.loading && instance">
21
- <amazon-instance-information instance="instance"></amazon-instance-information>
22
- <instance-status
23
- health-metrics="healthMetrics"
24
- health-state="instance.healthState"
25
- metric-types="['LoadBalancer', 'TargetGroup']"
26
- private-ip-address="instance.privateIpAddress"
27
- >
28
- </instance-status>
29
- <collapsible-section heading="DNS">
30
- <instance-dns
31
- instance-port="state.instancePort"
32
- ipv6-addresses="instance.ipv6Addresses"
33
- permanent-ips="instance.permanentIps"
34
- private-dns-name="instance.privateDnsName"
35
- private-ip-address="instance.privateIpAddress"
36
- public-dns-name="instance.publicDnsName"
37
- public-ip-address="instance.publicIpAddress"
38
- >
39
- </instance-dns>
40
- </collapsible-section>
41
- <instance-security-groups instance="instance"></instance-security-groups>
42
- <instance-tags tags="instance.tags"></instance-tags>
43
- <collapsible-section heading="Console Output" ng-if="baseIpAddress">
44
- <ul>
45
- <li>
46
- <console-output-link instance="instance"></console-output-link>
47
- </li>
48
- </ul>
49
- </collapsible-section>
50
- <instance-links
51
- address="baseIpAddress"
52
- application="application"
53
- instance="instance"
54
- moniker="moniker"
55
- environment="environment"
56
- ></instance-links>
57
- </div>
58
- <div class="content" ng-if="!state.loading && !instance">
59
- <div class="content-section">
60
- <div class="content-body text-center">
61
- <h3>Instance not found.</h3>
62
- </div>
63
- </div>
64
- </div>
65
- </div>
@@ -1,21 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
-
4
- import { withErrorBoundary } from '@spinnaker/core';
5
-
6
- import { InstanceDns } from './InstanceDns';
7
-
8
- export const INSTANCE_DNS_COMPONENT = 'spinnaker.application.instanceDns.component';
9
-
10
- module(INSTANCE_DNS_COMPONENT, []).component(
11
- 'instanceDns',
12
- react2angular(withErrorBoundary(InstanceDns, 'instanceDns'), [
13
- 'instancePort',
14
- 'ipv6Addresses',
15
- 'permanentIps',
16
- 'privateDnsName',
17
- 'privateIpAddress',
18
- 'publicDnsName',
19
- 'publicIpAddress',
20
- ]),
21
- );
@@ -1,13 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
-
4
- import { withErrorBoundary } from '@spinnaker/core';
5
-
6
- import { InstanceSecurityGroups } from './InstanceSecurityGroups';
7
-
8
- export const INSTANCE_SECURITY_GROUPS_COMPONENT = 'spinnaker.application.instanceSecurityGroups.component';
9
-
10
- module(INSTANCE_SECURITY_GROUPS_COMPONENT, []).component(
11
- 'instanceSecurityGroups',
12
- react2angular(withErrorBoundary(InstanceSecurityGroups, 'instanceSecurityGroups'), ['instance']),
13
- );
@@ -1,19 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
-
4
- import { withErrorBoundary } from '@spinnaker/core';
5
-
6
- import { InstanceStatus } from './InstanceStatus';
7
-
8
- export const INSTANCE_STATUS_COMPONENT = 'spinnaker.application.instanceStatus.component';
9
-
10
- module(INSTANCE_STATUS_COMPONENT, []).component(
11
- 'instanceStatus',
12
- react2angular(withErrorBoundary(InstanceStatus, 'instanceStatus'), [
13
- 'healthMetrics',
14
- 'healthState',
15
- 'metricTypes',
16
- 'customHealthUrl',
17
- 'privateIpAddress',
18
- ]),
19
- );
@@ -1,13 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
-
4
- import { withErrorBoundary } from '@spinnaker/core';
5
-
6
- import { InstanceTags } from './InstanceTags';
7
-
8
- export const INSTANCE_TAGS_COMPONENT = 'spinnaker.application.instanceTags.component';
9
-
10
- module(INSTANCE_TAGS_COMPONENT, []).component(
11
- 'instanceTags',
12
- react2angular(withErrorBoundary(InstanceTags, 'instanceTags'), ['tags']),
13
- );
@@ -1,16 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
-
4
- import { withErrorBoundary } from '@spinnaker/core';
5
-
6
- import { LoadBalancerActions } from './LoadBalancerActions';
7
-
8
- export const LOAD_BALANCER_ACTIONS = 'spinnaker.amazon.loadBalancer.details.loadBalancerActions.component';
9
- module(LOAD_BALANCER_ACTIONS, []).component(
10
- 'loadBalancerActions',
11
- react2angular(withErrorBoundary(LoadBalancerActions, 'loadBalancerActions'), [
12
- 'app',
13
- 'loadBalancer',
14
- 'loadBalancerFromParams',
15
- ]),
16
- );
@@ -1,76 +0,0 @@
1
- import type { StateService } from '@uirouter/core';
2
- import type { IControllerService, IRootScopeService } from 'angular';
3
- import { mock } from 'angular';
4
-
5
- import type { ISubnet } from '@spinnaker/core';
6
- import { ApplicationModelBuilder } from '@spinnaker/core';
7
-
8
- import { AWS_LOAD_BALANCER_DETAILS_CTRL, AwsLoadBalancerDetailsController } from './loadBalancerDetails.controller';
9
-
10
- describe('Controller: LoadBalancerDetailsCtrl', function () {
11
- let controller: AwsLoadBalancerDetailsController;
12
- let $scope;
13
- let $state;
14
- const loadBalancer = {
15
- name: 'foo',
16
- region: 'us-west-1',
17
- account: 'test',
18
- accountId: 'test',
19
- vpcId: '1',
20
- };
21
-
22
- beforeEach(mock.module(AWS_LOAD_BALANCER_DETAILS_CTRL));
23
-
24
- beforeEach(
25
- mock.inject(($controller: IControllerService, $rootScope: IRootScopeService, _$state_: StateService) => {
26
- $scope = $rootScope.$new();
27
- $state = _$state_;
28
- const app = ApplicationModelBuilder.createApplicationForTests('app', {
29
- key: 'loadBalancers',
30
- lazy: true,
31
- defaultData: [],
32
- });
33
- app.loadBalancers.data.push(loadBalancer);
34
- controller = $controller(AwsLoadBalancerDetailsController, {
35
- $scope,
36
- loadBalancer,
37
- app,
38
- $state,
39
- });
40
- }),
41
- );
42
-
43
- it('should have an instantiated controller', function () {
44
- expect(controller).toBeDefined();
45
- });
46
-
47
- describe('Get the first subnets purpose', function () {
48
- it('should return empty string if there are no subnets ', function () {
49
- const subnetDetails: ISubnet[] = [];
50
- const result = controller.getFirstSubnetPurpose(subnetDetails);
51
- expect(result).toEqual('');
52
- });
53
-
54
- it('should return empty string if no subnetDetail is submitted', function () {
55
- const result = controller.getFirstSubnetPurpose();
56
- expect(result).toEqual('');
57
- });
58
-
59
- it('should return empty string if undefined subnetDetail is submitted', function () {
60
- const result = controller.getFirstSubnetPurpose(undefined);
61
- expect(result).toEqual('');
62
- });
63
-
64
- it('should return the first purpose of subnetDetail if there is only one', function () {
65
- const subnetDetails = [{ purpose: 'internal(vpc0)' }] as ISubnet[];
66
- const result = controller.getFirstSubnetPurpose(subnetDetails);
67
- expect(result).toEqual('internal(vpc0)');
68
- });
69
-
70
- it('should return the first purpose of subnetDetail if there are multiple', function () {
71
- const subnetDetails = [{ purpose: 'internal(vpc0)' }, { purpose: 'internal(vpc1)' }] as ISubnet[];
72
- const result = controller.getFirstSubnetPurpose(subnetDetails);
73
- expect(result).toEqual('internal(vpc0)');
74
- });
75
- });
76
- });
@@ -1,240 +0,0 @@
1
- import type { StateService } from '@uirouter/angularjs';
2
- import UIROUTER_ANGULARJS from '@uirouter/angularjs';
3
- import type { IController, IQService, IScope } from 'angular';
4
- import { module } from 'angular';
5
- import { head, sortBy } from 'lodash';
6
-
7
- import type {
8
- Application,
9
- IApplicationSecurityGroup,
10
- ILoadBalancer,
11
- ISecurityGroup,
12
- ISubnet,
13
- LoadBalancerReader,
14
- SecurityGroupReader,
15
- } from '@spinnaker/core';
16
- import {
17
- FirewallLabels,
18
- LOAD_BALANCER_READ_SERVICE,
19
- MANAGED_RESOURCE_DETAILS_INDICATOR,
20
- SECURITY_GROUP_READER,
21
- SETTINGS,
22
- SubnetReader,
23
- } from '@spinnaker/core';
24
- import type {
25
- IAmazonApplicationLoadBalancer,
26
- IAmazonLoadBalancer,
27
- IAmazonLoadBalancerSourceData,
28
- IApplicationLoadBalancerSourceData,
29
- IClassicLoadBalancerSourceData,
30
- IListenerAction,
31
- ITargetGroup,
32
- } from '../../domain';
33
-
34
- import { LOAD_BALANCER_ACTIONS } from './loadBalancerActions.component';
35
-
36
- export interface ILoadBalancerFromStateParams {
37
- accountId: string;
38
- region: string;
39
- name: string;
40
- }
41
-
42
- export interface IActionDetails extends IListenerAction {
43
- targetGroup: ITargetGroup;
44
- }
45
-
46
- export class AwsLoadBalancerDetailsController implements IController {
47
- public application: Application;
48
- public elbProtocol: string;
49
- public listeners: Array<{ in: string; actions: IActionDetails[] }>;
50
- public loadBalancerFromParams: ILoadBalancerFromStateParams;
51
- public loadBalancer: IAmazonLoadBalancer;
52
- public securityGroups: ISecurityGroup[];
53
- public ipAddressTypeDescription: string;
54
- public state = { loading: true };
55
- public firewallsLabel = FirewallLabels.get('Firewalls');
56
- public oidcConfigPath = SETTINGS.oidcConfigPath;
57
-
58
- public static $inject = [
59
- '$scope',
60
- '$state',
61
- '$q',
62
- 'loadBalancer',
63
- 'app',
64
- 'securityGroupReader',
65
- 'loadBalancerReader',
66
- ];
67
- constructor(
68
- private $scope: IScope,
69
- private $state: StateService,
70
- private $q: IQService,
71
- loadBalancer: ILoadBalancerFromStateParams,
72
- private app: Application,
73
- private securityGroupReader: SecurityGroupReader,
74
- private loadBalancerReader: LoadBalancerReader,
75
- ) {
76
- this.application = app;
77
- this.loadBalancerFromParams = loadBalancer;
78
-
79
- this.app
80
- .ready()
81
- .then(() => this.extractLoadBalancer())
82
- .then(() => {
83
- // If the user navigates away from the view before the initial extractLoadBalancer call completes,
84
- // do not bother subscribing to the refresh
85
- if (!$scope.$$destroyed) {
86
- app.getDataSource('loadBalancers').onRefresh($scope, () => this.extractLoadBalancer());
87
- }
88
- });
89
- }
90
-
91
- public autoClose(): void {
92
- if (this.$scope.$$destroyed) {
93
- return;
94
- }
95
- this.$state.params.allowModalToStayOpen = true;
96
- this.$state.go('^', null, { location: 'replace' });
97
- }
98
-
99
- public extractLoadBalancer(): PromiseLike<void> {
100
- const appLoadBalancer = this.app.loadBalancers.data.find((test: ILoadBalancer) => {
101
- return (
102
- test.name === this.loadBalancerFromParams.name &&
103
- test.region === this.loadBalancerFromParams.region &&
104
- test.account === this.loadBalancerFromParams.accountId
105
- );
106
- });
107
-
108
- if (appLoadBalancer) {
109
- const detailsLoader = this.loadBalancerReader.getLoadBalancerDetails(
110
- 'aws',
111
- this.loadBalancerFromParams.accountId,
112
- this.loadBalancerFromParams.region,
113
- this.loadBalancerFromParams.name,
114
- );
115
- return detailsLoader.then(
116
- (details: IAmazonLoadBalancerSourceData[]) => {
117
- this.loadBalancer = appLoadBalancer;
118
- this.state.loading = false;
119
- const securityGroups: IApplicationSecurityGroup[] = [];
120
- if (details.length) {
121
- this.loadBalancer.elb = details[0];
122
- this.loadBalancer.elb.vpcId = this.loadBalancer.elb.vpcId || this.loadBalancer.elb.vpcid;
123
- this.loadBalancer.account = this.loadBalancerFromParams.accountId;
124
-
125
- const sourceData = details[0] as IApplicationLoadBalancerSourceData;
126
- if (sourceData.loadBalancerType === 'application' || sourceData.loadBalancerType === 'network') {
127
- // Transform listener data
128
- const elb = details[0] as IApplicationLoadBalancerSourceData;
129
- if (elb.listeners && elb.listeners.length) {
130
- this.elbProtocol = 'http:';
131
- if (elb.listeners.some((l: any) => l.protocol === 'HTTPS')) {
132
- this.elbProtocol = 'https:';
133
- }
134
-
135
- this.listeners = [];
136
-
137
- // Sort the actions by the order specified since amazon does not return them in order of order
138
- elb.listeners.forEach((l) => {
139
- l.defaultActions.sort((a, b) => a.order - b.order);
140
- l.rules.forEach((r) => r.actions.sort((a, b) => a.order - b.order));
141
- });
142
-
143
- elb.listeners.forEach((listener) => {
144
- listener.rules.map((rule) => {
145
- let inMatch = [
146
- listener.protocol,
147
- (rule.conditions.find((c) => c.field === 'host-header') || { values: [''] }).values[0],
148
- listener.port,
149
- ]
150
- .filter((f) => f)
151
- .join(':');
152
- const path = (rule.conditions.find((c) => c.field === 'path-pattern') || { values: [] }).values[0];
153
- if (path) {
154
- inMatch = `${inMatch}${path}`;
155
- }
156
- const actions = rule.actions.map((a) => {
157
- const action = { ...a } as IActionDetails;
158
- if (action.type === 'forward') {
159
- action.targetGroup = (this.loadBalancer as IAmazonApplicationLoadBalancer).targetGroups.find(
160
- (tg) => tg.name === action.targetGroupName,
161
- );
162
- }
163
- return action;
164
- });
165
- this.listeners.push({ in: inMatch, actions });
166
- });
167
- });
168
- }
169
-
170
- if (elb.ipAddressType === 'dualstack') {
171
- this.ipAddressTypeDescription = 'IPv4 and IPv6';
172
- }
173
- if (elb.ipAddressType === 'ipv4') {
174
- this.ipAddressTypeDescription = 'IPv4';
175
- }
176
- } else {
177
- // Classic
178
- const elb = details[0] as IClassicLoadBalancerSourceData;
179
- if (elb.listenerDescriptions) {
180
- this.elbProtocol = 'http:';
181
- if (elb.listenerDescriptions.some((l: any) => l.listener.protocol === 'HTTPS')) {
182
- this.elbProtocol = 'https:';
183
- }
184
- }
185
- }
186
-
187
- (this.loadBalancer.elb.securityGroups || []).forEach((securityGroupId: string) => {
188
- const match = this.securityGroupReader.getApplicationSecurityGroup(
189
- this.app,
190
- this.loadBalancerFromParams.accountId,
191
- this.loadBalancerFromParams.region,
192
- securityGroupId,
193
- );
194
- if (match) {
195
- securityGroups.push(match);
196
- }
197
- });
198
- this.securityGroups = sortBy(securityGroups, 'name');
199
-
200
- if (this.loadBalancer.subnets) {
201
- this.loadBalancer.subnetDetails = this.loadBalancer.subnets.reduce(
202
- (subnetDetails: ISubnet[], subnetId: string) => {
203
- SubnetReader.getSubnetByIdAndProvider(subnetId, this.loadBalancer.provider).then(
204
- (subnetDetail: ISubnet) => {
205
- subnetDetails.push(subnetDetail);
206
- },
207
- );
208
-
209
- return subnetDetails;
210
- },
211
- [],
212
- );
213
- }
214
- }
215
- },
216
- () => this.autoClose(),
217
- );
218
- } else {
219
- this.autoClose();
220
- }
221
- if (!this.loadBalancer) {
222
- this.autoClose();
223
- }
224
-
225
- return this.$q.when(null);
226
- }
227
-
228
- public getFirstSubnetPurpose(subnetDetailsList: ISubnet[] = []) {
229
- return head(subnetDetailsList.map((subnet) => subnet.purpose)) || '';
230
- }
231
- }
232
-
233
- export const AWS_LOAD_BALANCER_DETAILS_CTRL = 'spinnaker.amazon.loadBalancer.details.controller';
234
- module(AWS_LOAD_BALANCER_DETAILS_CTRL, [
235
- UIROUTER_ANGULARJS,
236
- SECURITY_GROUP_READER,
237
- LOAD_BALANCER_ACTIONS,
238
- LOAD_BALANCER_READ_SERVICE,
239
- MANAGED_RESOURCE_DETAILS_INDICATOR,
240
- ]).controller('awsLoadBalancerDetailsCtrl', AwsLoadBalancerDetailsController);