@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
@@ -1,77 +0,0 @@
1
- <span class="form-control-static" ng-if="$ctrl.rule.existing">
2
- <account-tag
3
- account="$ctrl.rule.accountName"
4
- ng-if="$ctrl.rule.accountName !== $ctrl.securityGroup.accountName"
5
- ></account-tag>
6
- {{ $ctrl.rule.name || $ctrl.rule.id }}
7
- </span>
8
-
9
- <div ng-if="$ctrl.rule.crossAccountEnabled && $ctrl.securityGroup.regions.length === 1" class="cross-account-select">
10
- <div class="row">
11
- <div class="col-md-3"><span class="small">Account</span></div>
12
- <div class="col-md-9">
13
- <account-select-field
14
- component="$ctrl.rule"
15
- field="accountName"
16
- accounts="$ctrl.crossAccountAccounts"
17
- provider="'aws'"
18
- on-change="$ctrl.setAvailableSecurityGroups()"
19
- ></account-select-field>
20
- </div>
21
- </div>
22
- <div class="row" ng-if="$ctrl.securityGroup.vpcId">
23
- <div class="col-md-3"><span class="small">VPC</span></div>
24
- <div class="col-md-9">
25
- <select class="form-control input-sm" ng-model="$ctrl.rule.vpcId" ng-change="$ctrl.setAvailableSecurityGroups()">
26
- <option
27
- ng-repeat="vpc in $ctrl.regionalVpcs[$ctrl.rule.accountName]"
28
- value="{{ vpc.id }}"
29
- ng-selected="$ctrl.rule.vpcId === vpc.id"
30
- >
31
- {{ vpc.label }}
32
- </option>
33
- </select>
34
- </div>
35
- </div>
36
- </div>
37
-
38
- <div class="row">
39
- <div class="col-md-3">
40
- <span class="small" ng-if="$ctrl.rule.crossAccountEnabled">Group</span>
41
- </div>
42
- <div class="col-md-{{ $ctrl.rule.crossAccountEnabled ? 9 : 12 }}">
43
- <ui-select
44
- ng-if="!$ctrl.rule.existing"
45
- ng-model="$ctrl.rule.name"
46
- uis-open-close="$ctrl.resetCurrentItems()"
47
- class="form-control input-sm"
48
- required
49
- style="width: 100%"
50
- >
51
- <ui-select-match>{{ $select.selected }}</ui-select-match>
52
- <ui-select-choices
53
- repeat="securityGroup as securityGroup in $ctrl.availableSecurityGroups | filter: $select.search | limitTo: $ctrl.infiniteScroll.currentItems"
54
- infinite-scroll="$ctrl.addMoreItems()"
55
- infinite-scroll-distance="4"
56
- >
57
- <span ng-bind-html="securityGroup | highlight: $select.search"></span>
58
- </ui-select-choices>
59
- </ui-select>
60
- </div>
61
- </div>
62
-
63
- <a
64
- href
65
- class="small"
66
- ng-if="!$ctrl.rule.existing && $ctrl.securityGroup.regions.length === 1 && !$ctrl.rule.crossAccountEnabled"
67
- ng-click="$ctrl.enableCrossAccount($index)"
68
- >
69
- Select from a different account <span ng-if="$ctrl.securityGroup.vpcId">or VPC</span>
70
- </a>
71
-
72
- <div ng-if="$ctrl.crossAccountAccounts && $ctrl.crossAccountAccounts.length !== $ctrl.accounts.length">
73
- <help-field key="aws.securityGroup.cross.account.ingress.help" expand="true"></help-field>
74
- </div>
75
- <span ng-if="$ctrl.securityGroup.regions.length > 1" class="small">
76
- Cross-account rules disabled when 2+ regions selected
77
- </span>
@@ -1,6 +0,0 @@
1
- ingress-rule-group-selector {
2
- .col-md-3 {
3
- padding-right: 0;
4
- font-weight: 600;
5
- }
6
- }
@@ -1,190 +0,0 @@
1
- import type { IComponentOptions, IController } from 'angular';
2
- import { module } from 'angular';
3
- import { intersection, uniq } from 'lodash';
4
- import type { Subject, Subscription } from 'rxjs';
5
-
6
- import type {
7
- IAccountDetails,
8
- ISecurityGroup,
9
- ISecurityGroupRule,
10
- ISecurityGroupsByAccountSourceData,
11
- IVpc,
12
- } from '@spinnaker/core';
13
- import { AWSProviderSettings } from '../../aws.settings';
14
-
15
- interface IInfiniteScroll {
16
- currentItems: number;
17
- }
18
-
19
- interface IRuleCommand extends ISecurityGroupRule {
20
- crossAccountEnabled?: boolean;
21
- accountName?: string;
22
- vpcId?: string;
23
- existing: boolean;
24
- name: string;
25
- }
26
-
27
- interface ISecurityGroupCommand extends ISecurityGroup {
28
- regions: string[];
29
- credentials: string;
30
- }
31
-
32
- class IngressRuleSelectorController implements IController {
33
- public rule: IRuleCommand;
34
- public securityGroup: ISecurityGroupCommand;
35
- public accounts: IAccountDetails[];
36
- public crossAccountAccounts: IAccountDetails[];
37
- public vpcs: IVpc[];
38
- public regionalVpcs: { [region: string]: IVpc[] };
39
- public allSecurityGroups: ISecurityGroupsByAccountSourceData;
40
- public coordinatesChanged: Subject<void>;
41
- public allSecurityGroupsUpdated: Subject<void>;
42
- public availableSecurityGroups: string[];
43
- public coordinatesChangedListener: Subscription;
44
- public securityGroupsUpdatedListener: Subscription;
45
-
46
- public infiniteScroll: IInfiniteScroll = {
47
- currentItems: 20,
48
- };
49
-
50
- public addMoreItems(): void {
51
- this.infiniteScroll.currentItems += 20;
52
- }
53
-
54
- public resetCurrentItems(): void {
55
- this.infiniteScroll.currentItems = 20;
56
- }
57
-
58
- public addRegionalVpc(vpc: IVpc): void {
59
- const account = vpc.account;
60
- if (!this.regionalVpcs[account]) {
61
- this.regionalVpcs[account] = [];
62
- }
63
- this.regionalVpcs[account].push({
64
- name: vpc.name,
65
- region: vpc.region,
66
- account,
67
- id: vpc.id,
68
- label: vpc.label,
69
- deprecated: vpc.deprecated,
70
- cloudProvider: vpc.cloudProvider,
71
- });
72
- }
73
-
74
- public enableCrossAccount(): void {
75
- this.rule.crossAccountEnabled = true;
76
- this.crossAccountAccounts = this.accounts;
77
- const exclusions = AWSProviderSettings?.crossAccountIngressExclusions[this.securityGroup.credentials];
78
- if (exclusions && Array.isArray(exclusions)) {
79
- this.crossAccountAccounts = this.accounts.filter((account) => !exclusions.includes(account.name));
80
- }
81
- this.rule.accountName = this.securityGroup.credentials;
82
- this.rule.vpcId = this.securityGroup.vpcId;
83
- }
84
-
85
- public disableCrossAccount(): void {
86
- this.rule.crossAccountEnabled = false;
87
- this.rule.accountName = undefined;
88
- this.rule.vpcId = undefined;
89
- }
90
-
91
- public $onInit(): void {
92
- this.setAvailableSecurityGroups();
93
- this.coordinatesChangedListener = this.coordinatesChanged.subscribe(() => this.setAvailableSecurityGroups());
94
- this.securityGroupsUpdatedListener = this.allSecurityGroupsUpdated.subscribe(() =>
95
- this.setAvailableSecurityGroups(),
96
- );
97
- }
98
-
99
- public $onDestroy() {
100
- this.coordinatesChangedListener.unsubscribe();
101
- this.securityGroupsUpdatedListener.unsubscribe();
102
- }
103
-
104
- public setAvailableSecurityGroups(): void {
105
- const account = this.rule.accountName || this.securityGroup.credentials;
106
- const regions = this.securityGroup.regions;
107
- const vpcId = this.rule.vpcId || this.securityGroup.vpcId || null;
108
-
109
- let existingSecurityGroupNames: string[] = [];
110
- let availableSecurityGroups: string[] = [];
111
-
112
- if (regions.length > 1) {
113
- this.disableCrossAccount();
114
- }
115
-
116
- regions.forEach((region) => {
117
- let regionalVpcId: string = null;
118
- if (vpcId) {
119
- const baseVpc: IVpc = this.vpcs.find((vpc) => vpc.id === vpcId);
120
- const regionalVpc: IVpc = this.vpcs.find(
121
- (vpc) => vpc.account === account && vpc.region === region && vpc.name === baseVpc.name,
122
- );
123
- regionalVpcId = regionalVpc ? regionalVpc.id : undefined;
124
- }
125
-
126
- const regionalGroupNames = (this.allSecurityGroups?.[account]?.aws?.[region] ?? [])
127
- .filter((sg) => sg.vpcId === regionalVpcId)
128
- .map((sg) => sg.name);
129
-
130
- existingSecurityGroupNames = uniq(existingSecurityGroupNames.concat(regionalGroupNames));
131
-
132
- if (!availableSecurityGroups.length) {
133
- availableSecurityGroups = existingSecurityGroupNames;
134
- } else {
135
- availableSecurityGroups = intersection(availableSecurityGroups, regionalGroupNames);
136
- }
137
- });
138
- if (regions.length === 1) {
139
- this.configureAvailableVpcs();
140
- }
141
- this.availableSecurityGroups = availableSecurityGroups;
142
- if (!availableSecurityGroups.includes(this.rule.name) && !this.rule.existing) {
143
- this.rule.name = null;
144
- }
145
- }
146
-
147
- public configureAvailableVpcs(): void {
148
- const region = this.securityGroup.regions[0];
149
- const filtered = this.vpcs.filter((vpc) => vpc.region === region);
150
- this.regionalVpcs = {};
151
- filtered.forEach((vpc) => this.addRegionalVpc(vpc));
152
- this.reconcileRuleVpc(filtered);
153
- }
154
-
155
- private reconcileRuleVpc(filtered: IVpc[]): void {
156
- if (this.rule.vpcId && !this.rule.existing) {
157
- if (!this.securityGroup.vpcId) {
158
- this.rule.vpcId = null;
159
- this.rule.name = null;
160
- return;
161
- }
162
- const baseVpc = filtered.find((vpc) => vpc.id === this.rule.vpcId);
163
- const regionalVpc = filtered.find((vpc) => vpc.account === this.rule.accountName && vpc.name === baseVpc.name);
164
- if (regionalVpc) {
165
- this.rule.vpcId = regionalVpc.id;
166
- } else {
167
- this.rule.vpcId = null;
168
- this.rule.name = null;
169
- }
170
- }
171
- }
172
- }
173
-
174
- const ingressRuleSelector: IComponentOptions = {
175
- bindings: {
176
- rule: '=',
177
- securityGroup: '=',
178
- accounts: '=',
179
- vpcs: '=',
180
- allSecurityGroups: '=',
181
- coordinatesChanged: '=',
182
- allSecurityGroupsUpdated: '=',
183
- },
184
- templateUrl: require('./ingressRuleGroupSelector.component.html'),
185
- controller: IngressRuleSelectorController,
186
- };
187
-
188
- export const INGRESS_RULE_GROUP_SELECTOR_COMPONENT =
189
- 'spinnaker.amazon.securityGroup.configure.ingressRuleGroupSelector';
190
- module(INGRESS_RULE_GROUP_SELECTOR_COMPONENT, []).component('ingressRuleGroupSelector', ingressRuleSelector);
@@ -1,16 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
-
4
- import { withErrorBoundary } from '@spinnaker/core';
5
-
6
- import { SecurityGroupDetailsCustom } from './securityGroupDetailsCustom';
7
-
8
- export const AWS_SECURITY_GROUP_DETAILS_CUSTOM = 'spinnaker.amazon.securityGroups.details.custom.component';
9
- module(AWS_SECURITY_GROUP_DETAILS_CUSTOM, []).component(
10
- 'securityGroupDetailsCustom',
11
- react2angular(withErrorBoundary(SecurityGroupDetailsCustom, 'securityGroupDetailsCustom'), [
12
- 'securityGroupDetails',
13
- 'ctrl',
14
- 'scope',
15
- ]),
16
- );
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { Overridable } from '@spinnaker/core';
3
- import type { ISecurityGroupDetail } from '@spinnaker/core';
4
-
5
- export interface IAdditionalIpRulesProps {
6
- securityGroupDetails: ISecurityGroupDetail;
7
- ctrl: any;
8
- scope: any;
9
- }
10
-
11
- @Overridable('aws.securityGroup.details.custom')
12
- export class SecurityGroupDetailsCustom extends React.Component<IAdditionalIpRulesProps> {
13
- public render(): any {
14
- return null;
15
- }
16
- }
@@ -1,249 +0,0 @@
1
- 'use strict';
2
-
3
- import UIROUTER_ANGULARJS from '@uirouter/angularjs';
4
- import * as angular from 'angular';
5
- import _ from 'lodash';
6
-
7
- import {
8
- CloudProviderRegistry,
9
- ConfirmationModalService,
10
- confirmNotManaged,
11
- FirewallLabels,
12
- MANAGED_RESOURCE_DETAILS_INDICATOR,
13
- noop,
14
- RecentHistoryService,
15
- SECURITY_GROUP_READER,
16
- SecurityGroupWriter,
17
- SETTINGS,
18
- } from '@spinnaker/core';
19
-
20
- import { AWSProviderSettings } from '../../aws.settings';
21
- import { AMAZON_SECURITYGROUP_CLONE_CLONESECURITYGROUP_CONTROLLER } from '../clone/cloneSecurityGroup.controller';
22
- import { VpcReader } from '../../vpc/VpcReader';
23
-
24
- export const AMAZON_SECURITYGROUP_DETAILS_SECURITYGROUPDETAIL_CONTROLLER =
25
- 'spinnaker.amazon.securityGroup.details.controller';
26
- export const name = AMAZON_SECURITYGROUP_DETAILS_SECURITYGROUPDETAIL_CONTROLLER; // for backwards compatibility
27
- angular
28
- .module(AMAZON_SECURITYGROUP_DETAILS_SECURITYGROUPDETAIL_CONTROLLER, [
29
- UIROUTER_ANGULARJS,
30
- SECURITY_GROUP_READER,
31
- AMAZON_SECURITYGROUP_CLONE_CLONESECURITYGROUP_CONTROLLER,
32
- MANAGED_RESOURCE_DETAILS_INDICATOR,
33
- ])
34
- .controller('awsSecurityGroupDetailsCtrl', [
35
- '$scope',
36
- '$state',
37
- 'resolvedSecurityGroup',
38
- 'app',
39
- 'securityGroupReader',
40
- '$uibModal',
41
- function ($scope, $state, resolvedSecurityGroup, app, securityGroupReader, $uibModal) {
42
- this.application = app;
43
- const application = app;
44
- const securityGroup = resolvedSecurityGroup;
45
- this.firewallLabel = FirewallLabels.get('Firewall');
46
-
47
- // needed for standalone instances
48
- $scope.detailsTemplateUrl = CloudProviderRegistry.getValue('aws', 'securityGroup.detailsTemplateUrl');
49
-
50
- $scope.isDisabled = !AWSProviderSettings.adHocInfraWritesEnabled;
51
-
52
- $scope.state = {
53
- loading: true,
54
- standalone: app.isStandalone,
55
- };
56
-
57
- function extractSecurityGroup() {
58
- return securityGroupReader
59
- .getSecurityGroupDetails(
60
- application,
61
- securityGroup.accountId,
62
- securityGroup.provider,
63
- securityGroup.region,
64
- securityGroup.vpcId,
65
- securityGroup.name,
66
- )
67
- .then(function (details) {
68
- return VpcReader.getVpcName(details.vpcId).then((name) => {
69
- details.vpcName = name;
70
- return details;
71
- });
72
- })
73
- .then(function (details) {
74
- $scope.state.loading = false;
75
-
76
- if (!details || _.isEmpty(details)) {
77
- fourOhFour();
78
- } else {
79
- const applicationSecurityGroup = securityGroupReader.getApplicationSecurityGroup(
80
- application,
81
- securityGroup.accountId,
82
- securityGroup.region,
83
- securityGroup.name,
84
- );
85
-
86
- angular.extend(securityGroup, applicationSecurityGroup, details);
87
- $scope.securityGroup = securityGroup;
88
- $scope.ipRules = buildIpRulesModel(securityGroup);
89
- $scope.securityGroupRules = buildSecurityGroupRulesModel(securityGroup);
90
- }
91
- }, fourOhFour);
92
- }
93
-
94
- function buildIpRulesModel(details) {
95
- const groupedRangeRules = _.groupBy(details.ipRangeRules, (rule) => rule.range.ip + rule.range.cidr);
96
- return Object.keys(groupedRangeRules)
97
- .map((addr) => {
98
- return {
99
- address: addr,
100
- rules: buildRuleModel(groupedRangeRules, addr),
101
- };
102
- })
103
- .filter((rule) => rule.rules.length);
104
- }
105
-
106
- function buildSecurityGroupRulesModel(details) {
107
- const groupedRangeRules = _.groupBy(details.securityGroupRules, (rule) => rule.securityGroup.id);
108
- return Object.keys(groupedRangeRules)
109
- .map((addr) => {
110
- return {
111
- securityGroup: groupedRangeRules[addr][0].securityGroup,
112
- rules: buildRuleModel(groupedRangeRules, addr),
113
- };
114
- })
115
- .filter((rule) => rule.rules.length);
116
- }
117
-
118
- function buildRuleModel(groupedRangeRules, addr) {
119
- const rules = [];
120
- groupedRangeRules[addr].forEach((rule) => {
121
- (rule.portRanges || []).forEach((range) => {
122
- if (rule.protocol === '-1' || (range.startPort !== undefined && range.endPort !== undefined)) {
123
- rules.push({
124
- startPort: range.startPort,
125
- endPort: range.endPort,
126
- protocol: rule.protocol,
127
- description: rule.description,
128
- });
129
- }
130
- });
131
- });
132
- return rules;
133
- }
134
-
135
- function fourOhFour() {
136
- if ($scope.$$destroyed) {
137
- return;
138
- }
139
- if (app.isStandalone) {
140
- $scope.group = securityGroup.name;
141
- $scope.state.notFound = true;
142
- $scope.state.loading = false;
143
- RecentHistoryService.removeLastItem('securityGroups');
144
- } else {
145
- $state.go('^', { allowModalToStayOpen: true }, { location: 'replace' });
146
- }
147
- }
148
-
149
- extractSecurityGroup().then(() => {
150
- // If the user navigates away from the view before the initial extractSecurityGroup call completes,
151
- // do not bother subscribing to the refresh
152
- if (!$scope.$$destroyed && !app.isStandalone) {
153
- app.securityGroups.onRefresh($scope, extractSecurityGroup);
154
- }
155
- });
156
-
157
- function checkManagement() {
158
- return confirmNotManaged($scope.securityGroup, application);
159
- }
160
-
161
- this.editInboundRules = function editInboundRules() {
162
- confirmNotManaged($scope.securityGroup, application).then((notManaged) => {
163
- // Wait for the MD confirmation modal to go away first to avoid react/angular bootstrap fighting over the body.modal-open class
164
- return new Promise((resolve) => setTimeout(resolve, 500)).then(() => {
165
- if (notManaged) {
166
- $uibModal.open({
167
- templateUrl: require('../configure/editSecurityGroup.html'),
168
- controller: 'awsEditSecurityGroupCtrl as ctrl',
169
- size: 'lg',
170
- resolve: {
171
- securityGroup: function () {
172
- return angular.copy($scope.securityGroup);
173
- },
174
- application: function () {
175
- return application;
176
- },
177
- },
178
- });
179
- }
180
- });
181
- });
182
- };
183
-
184
- this.cloneSecurityGroup = function cloneSecurityGroup() {
185
- $uibModal.open({
186
- templateUrl: require('../clone/cloneSecurityGroup.html'),
187
- controller: 'awsCloneSecurityGroupController as ctrl',
188
- size: 'lg',
189
- resolve: {
190
- securityGroup: function () {
191
- const securityGroup = angular.copy($scope.securityGroup);
192
- if (securityGroup.region) {
193
- securityGroup.regions = [securityGroup.region];
194
- }
195
- return securityGroup;
196
- },
197
- application: function () {
198
- return application;
199
- },
200
- },
201
- });
202
- };
203
-
204
- this.deleteSecurityGroup = function deleteSecurityGroup() {
205
- let isRetry = false;
206
- const retryParams = { removeDependencies: true };
207
-
208
- const taskMonitor = {
209
- application: application,
210
- title: 'Deleting ' + securityGroup.name,
211
- onTaskRetry: () => {
212
- isRetry = true;
213
- },
214
- };
215
-
216
- const submitMethod = () => {
217
- const params = {
218
- cloudProvider: securityGroup.provider,
219
- vpcId: securityGroup.vpcId,
220
- };
221
- if (isRetry) {
222
- Object.assign(params, retryParams);
223
- }
224
- return SecurityGroupWriter.deleteSecurityGroup(securityGroup, application, params);
225
- };
226
-
227
- confirmNotManaged($scope.securityGroup, application).then((notManaged) => {
228
- notManaged &&
229
- ConfirmationModalService.confirm({
230
- header: 'Really delete ' + securityGroup.name + '?',
231
- buttonText: 'Delete ' + securityGroup.name,
232
- account: securityGroup.accountId,
233
- taskMonitorConfig: taskMonitor,
234
- submitMethod: submitMethod,
235
- retryBody: `<div><p>Retry deleting the ${FirewallLabels.get(
236
- 'firewall',
237
- )} and revoke any dependent ingress rules?</p><p>Any instance or load balancer associations will have to removed manually.</p></div>`,
238
- });
239
- });
240
- };
241
-
242
- if (app.isStandalone) {
243
- // we still want the edit to refresh the firewall details when the modal closes
244
- app.securityGroups = {
245
- refresh: extractSecurityGroup,
246
- };
247
- }
248
- },
249
- ]);
@@ -1,114 +0,0 @@
1
- <div class="text-center" ng-if="state.notFound">
2
- <h3>Could not find <firewall-label label="firewall"></firewall-label> {{group}}.</h3>
3
- <a ui-sref="home.infrastructure">Back to search results</a>
4
- </div>
5
- <div class="details-panel" ng-if="!state.notFound">
6
- <div class="header">
7
- <div class="close-button" ng-if="!state.standalone">
8
- <a class="btn btn-link" ui-sref="^">
9
- <span class="glyphicon glyphicon-remove"></span>
10
- </a>
11
- </div>
12
- <div ng-if="state.loading" class="horizontal center middle">
13
- <loading-spinner size="'small'"></loading-spinner>
14
- </div>
15
- <div class="header-text horizontal middle" ng-if="!state.loading">
16
- <span class="glyphicon glyphicon-transfer"></span>
17
- <h3 class="horizontal middle space-between flex-1" select-on-dbl-click>
18
- {{securityGroup.name || '(not found)'}}
19
- <render-if-feature feature="entityTags">
20
- <entity-notifications
21
- entity="securityGroup"
22
- application="ctrl.application"
23
- placement="bottom"
24
- h-offset-percent="90%"
25
- entity-type="securityGroup"
26
- page-location="details"
27
- on-update="ctrl.application.securityGroups.refresh()"
28
- ></entity-notifications>
29
- </render-if-feature>
30
- </h3>
31
- </div>
32
- <div class="actions" ng-hide="isDisabled">
33
- <div class="dropdown" uib-dropdown dropdown-append-to-body>
34
- <button type="button" class="btn btn-sm btn-primary dropdown-toggle" ng-disabled="disabled" uib-dropdown-toggle>
35
- <firewall-label label="Firewall"></firewall-label> Actions <span class="caret"></span>
36
- </button>
37
- <ul class="dropdown-menu" uib-dropdown-menu role="menu">
38
- <li><a href ng-click="ctrl.editInboundRules()">Edit Inbound Rules</a></li>
39
- <li>
40
- <a href ng-click="ctrl.deleteSecurityGroup()">Delete <firewall-label label="Firewall"></firewall-label></a>
41
- </li>
42
- <li>
43
- <a href ng-click="ctrl.cloneSecurityGroup()">Clone <firewall-label label="Firewall"></firewall-label></a>
44
- </li>
45
- <render-if-feature feature="entityTags">
46
- <add-entity-tag-links
47
- component="securityGroup"
48
- application="ctrl.application"
49
- entity-type="securityGroup"
50
- on-update="ctrl.application.securityGroups.refresh"
51
- ></add-entity-tag-links>
52
- </render-if-feature>
53
- </ul>
54
- </div>
55
- </div>
56
- </div>
57
- <managed-resource-details-indicator
58
- ng-if="!state.loading && securityGroup.isManaged"
59
- resource-summary="securityGroup.managedResourceSummary"
60
- application="ctrl.application"
61
- >
62
- </managed-resource-details-indicator>
63
- <div class="content" ng-if="!state.loading">
64
- <collapsible-section heading="{{ctrl.firewallLabel}} Details" expanded="true">
65
- <dl class="dl-horizontal dl-medium">
66
- <dt>ID</dt>
67
- <dd>{{securityGroup.id}}</dd>
68
- <dt>Account</dt>
69
- <dd>
70
- <account-tag account="securityGroup.accountName"></account-tag>
71
- </dd>
72
- <dt>Region</dt>
73
- <dd>{{securityGroup.region}}</dd>
74
- <dt>VPC</dt>
75
- <dd>
76
- <vpc-tag vpc-id="securityGroup.vpcId"></vpc-tag>
77
- </dd>
78
- <dt>Description</dt>
79
- <dd>{{securityGroup.description}}</dd>
80
- </dl>
81
- </collapsible-section>
82
- <ip-range-rules ip-rules="ipRules"></ip-range-rules>
83
- <collapsible-section
84
- heading="{{ctrl.firewallLabel}} Rules ({{securityGroupRules.length || 0}})"
85
- expanded="{{securityGroupRules.length > 0}}"
86
- >
87
- <div ng-if="!securityGroupRules.length">None</div>
88
-
89
- <dl
90
- ng-class="insightCtrl.vm.filtersExpanded ? '' : 'dl-horizontal dl-medium'"
91
- ng-repeat="rule in securityGroupRules | orderBy: 'securityGroup.name' "
92
- >
93
- <dt>
94
- <firewall-label label="Firewall"></firewall-label>
95
- </dt>
96
- <dd ng-if="rule.securityGroup.name">
97
- <a
98
- ui-sref="^.firewallDetails({name: rule.securityGroup.name, accountId: rule.securityGroup.accountName, region: rule.securityGroup.region, vpcId: rule.securityGroup.vpcId, provider: 'aws'})"
99
- >
100
- <account-tag
101
- account="rule.securityGroup.accountName || rule.securityGroup.accountId"
102
- ng-if="rule.securityGroup.accountName !== securityGroup.accountName"
103
- ></account-tag>
104
- {{rule.securityGroup.name}} ({{rule.securityGroup.id}})
105
- </a>
106
- </dd>
107
- <dt>Port Ranges</dt>
108
- <dd ng-repeat="portRange in rule.rules">
109
- {{portRange.protocol}}: {{portRange.startPort}} &rarr; {{portRange.endPort}}
110
- </dd>
111
- </dl>
112
- </collapsible-section>
113
- </div>
114
- </div>
@@ -1,12 +0,0 @@
1
- import { module } from 'angular';
2
- import { react2angular } from 'react2angular';
3
-
4
- import { withErrorBoundary } from '@spinnaker/core';
5
-
6
- import { IPRangeRules } from './IPRangeRules';
7
-
8
- export const AWS_SECURITY_GROUP_IP_RANGE_RULES = 'spinnaker.amazon.securityGroups.details.securityGroups.component';
9
- module(AWS_SECURITY_GROUP_IP_RANGE_RULES, []).component(
10
- 'ipRangeRules',
11
- react2angular(withErrorBoundary(IPRangeRules, 'ipRangeRules'), ['ipRules']),
12
- );