@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.
- package/dist/aws.module.d.ts +2 -1
- package/dist/aws.services.d.ts +8 -0
- package/dist/certificates/AmazonCertificateReader.d.ts +1 -1
- package/dist/domain/IAmazonServerGroup.d.ts +10 -0
- package/dist/function/CreateLambdaFunction.d.ts +10 -5
- package/dist/function/configure/Network.d.ts +3 -0
- package/dist/function/details/FunctionActions.d.ts +3 -0
- package/dist/function/function.transformer.d.ts +1 -0
- package/dist/image/image.reader.d.ts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instance/amazon.instance.write.service.d.ts +5 -5
- package/dist/instance/awsInstanceType.service.d.ts +13 -2
- package/dist/instance/details/AmazonInstanceDetails.d.ts +67 -0
- package/dist/instance/index.d.ts +1 -0
- package/dist/keyPairs/KeyPairsReader.d.ts +1 -1
- package/dist/loadBalancer/AmazonLoadBalancersTag.d.ts +7 -4
- package/dist/loadBalancer/OidcConfigReader.d.ts +1 -1
- package/dist/loadBalancer/TargetGroupDetails.d.ts +37 -3
- package/dist/loadBalancer/amazonLoadBalancerDataUtils.d.ts +1 -1
- package/dist/loadBalancer/configure/AmazonLoadBalancerChoiceModal.d.ts +6 -2
- package/dist/loadBalancer/configure/LoadBalancerTypes.d.ts +4 -4
- package/dist/loadBalancer/configure/application/CreateApplicationLoadBalancer.d.ts +10 -5
- package/dist/loadBalancer/configure/classic/CreateClassicLoadBalancer.d.ts +12 -7
- package/dist/loadBalancer/configure/common/SecurityGroups.d.ts +4 -0
- package/dist/loadBalancer/configure/network/CreateNetworkLoadBalancer.d.ts +10 -5
- package/dist/loadBalancer/details/LoadBalancerActions.d.ts +9 -2
- package/dist/loadBalancer/details/amazonLoadBalancerDetails.d.ts +22 -0
- package/dist/loadBalancer/index.d.ts +1 -0
- package/dist/loadBalancer/loadBalancer.transformer.d.ts +1 -1
- package/dist/pipeline/stages/AmazonStageConfig.d.ts +11 -0
- package/dist/pipeline/stages/bake/AwsBakeStageConfig.d.ts +66 -0
- package/dist/pipeline/stages/cloneServerGroup/AwsCloneServerGroupStageConfig.d.ts +20 -0
- package/dist/pipeline/stages/deleteLambda/index.d.ts +1 -1
- package/dist/pipeline/stages/deployCloudFormation/CloudFormationChangeSetInfo.d.ts +5 -4
- package/dist/pipeline/stages/deployCloudFormation/DeployCloudFormationStackStageConfig.d.ts +3 -0
- package/dist/pipeline/stages/deployCloudFormation/deployCloudFormationStackStage.d.ts +1 -1
- package/dist/pipeline/stages/deployCloudFormation/evaluateCloudFormationChangeSetExecution.service.d.ts +1 -3
- package/dist/pipeline/stages/deployLambda/index.d.ts +1 -1
- package/dist/pipeline/stages/destroyAsg/awsDestroyAsgStage.d.ts +26 -2
- package/dist/pipeline/stages/disableAsg/AwsDisableAsgStageConfig.d.ts +27 -0
- package/dist/pipeline/stages/disableCluster/AwsDisableClusterStageConfig.d.ts +19 -0
- package/dist/pipeline/stages/enableAsg/AwsEnableAsgStageConfig.d.ts +20 -0
- package/dist/pipeline/stages/findAmi/awsFindAmiStage.d.ts +17 -2
- package/dist/pipeline/stages/findImageFromTags/AwsFindImageFromTagsStageConfig.d.ts +3 -0
- package/dist/pipeline/stages/findImageFromTags/awsFindImageFromTagsStage.d.ts +12 -2
- package/dist/pipeline/stages/invokeLambda/index.d.ts +1 -1
- package/dist/pipeline/stages/modifyScalingProcess/ModifyScalingProcessStageConfig.d.ts +3 -0
- package/dist/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.d.ts +20 -2
- package/dist/pipeline/stages/modifyWarmPool/ModifyWarmPoolStageConfig.d.ts +3 -0
- package/dist/pipeline/stages/modifyWarmPool/modifyWarmPoolStage.d.ts +20 -0
- package/dist/pipeline/stages/resizeAsg/AwsResizeAsgStageConfig.d.ts +17 -0
- package/dist/pipeline/stages/resizeAsg/awsResizeAsgStage.d.ts +40 -2
- package/dist/pipeline/stages/rollbackCluster/AwsRollbackClusterStageConfig.d.ts +19 -0
- package/dist/pipeline/stages/routeLambda/index.d.ts +1 -1
- package/dist/pipeline/stages/scaleDownCluster/AwsScaleDownClusterStageConfig.d.ts +22 -0
- package/dist/pipeline/stages/shrinkCluster/AwsShrinkClusterStageConfig.d.ts +21 -0
- package/dist/pipeline/stages/tagImage/awsTagImageStage.d.ts +5 -2
- package/dist/pipeline/stages/updateCodeLambda/index.d.ts +1 -1
- package/dist/search/searchResultFormatter.d.ts +4 -2
- package/dist/securityGroup/configure/AmazonSecurityGroupModal.d.ts +43 -0
- package/dist/securityGroup/details/AmazonSecurityGroupDetails.d.ts +62 -0
- package/dist/securityGroup/details/index.d.ts +1 -0
- package/dist/securityGroup/index.d.ts +1 -0
- package/dist/securityGroup/securityGroup.reader.d.ts +0 -1
- package/dist/securityGroup/securityGroup.transformer.d.ts +11 -2
- package/dist/serverGroup/configure/serverGroupCommandBuilder.service.d.ts +23 -7
- package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +17 -13
- package/dist/serverGroup/configure/wizard/AmazonCloneServerGroupModal.d.ts +16 -6
- package/dist/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.d.ts +6 -3
- package/dist/serverGroup/configure/wizard/pages/ServerGroupLoadBalancers.d.ts +3 -0
- package/dist/serverGroup/configure/wizard/securityGroups/SecurityGroupSelector.d.ts +4 -0
- package/dist/serverGroup/details/AmazonServerGroupActions.d.ts +10 -2
- package/dist/serverGroup/details/advancedSettings/EditAsgAdvancedSettingsModal.d.ts +17 -0
- package/dist/serverGroup/details/advancedSettings/index.d.ts +1 -0
- package/dist/serverGroup/details/resize/AmazonResizeServerGroupModal.d.ts +5 -3
- package/dist/serverGroup/details/rollback/AmazonRollbackServerGroupModal.d.ts +67 -0
- package/dist/serverGroup/details/rollback/index.d.ts +2 -0
- package/dist/serverGroup/details/rollback/rollbackServerGroupSelection.d.ts +9 -0
- package/dist/serverGroup/details/scalingPolicy/ScalingPolicyWriter.d.ts +2 -2
- package/dist/serverGroup/details/scalingPolicy/upsert/alarm/DimensionsEditor.d.ts +0 -1
- package/dist/serverGroup/details/scalingProcesses/ModifyScalingProcessesModal.d.ts +24 -0
- package/dist/serverGroup/details/scalingProcesses/index.d.ts +2 -0
- package/dist/serverGroup/details/scheduledActions/EditScheduledActionsModal.d.ts +31 -0
- package/dist/serverGroup/details/scheduledActions/index.d.ts +1 -0
- package/dist/serverGroup/details/sections/AdvancedSettingsDetailsSection.d.ts +3 -0
- package/dist/serverGroup/details/sections/AmazonCapacityDetailsSection.d.ts +3 -0
- package/dist/serverGroup/details/sections/ScalingProcessesDetailsSection.d.ts +1 -1
- package/dist/serverGroup/details/sections/ScheduledActionsDetailsSection.d.ts +1 -1
- package/dist/serverGroup/details/sections/SecurityGroupsDetailsSection.d.ts +4 -1
- package/dist/serverGroup/details/sections/WarmPoolDetailsSection.d.ts +6 -0
- package/dist/serverGroup/details/sections/index.d.ts +1 -0
- package/dist/serverGroup/details/securityGroups/EditSecurityGroupsModal.d.ts +32 -0
- package/dist/serverGroup/details/securityGroups/index.d.ts +1 -0
- package/dist/serverGroup/details/warmPool/ModifyWarmPoolModal.d.ts +26 -0
- package/dist/serverGroup/details/warmPool/WarmPoolService.d.ts +6 -0
- package/dist/serverGroup/details/warmPool/index.d.ts +2 -0
- package/dist/serverGroup/serverGroup.transformer.d.ts +1 -2
- package/dist/vpc/VpcReader.d.ts +2 -2
- package/dist/vpc/index.d.ts +1 -0
- package/package.json +3 -12
- package/src/aws.module.spec.ts +296 -0
- package/src/aws.module.ts +107 -112
- package/src/aws.services.ts +21 -0
- package/src/certificates/AmazonCertificateReader.ts +1 -1
- package/src/domain/IAmazonServerGroup.ts +9 -0
- package/src/function/CreateLambdaFunction.tsx +29 -16
- package/src/function/configure/Network.tsx +8 -4
- package/src/function/details/AmazonFunctionDetails.tsx +4 -5
- package/src/function/details/FunctionActions.tsx +5 -1
- package/src/function/function.transformer.ts +4 -0
- package/src/image/image.reader.ts +3 -5
- package/src/index.ts +2 -2
- package/src/instance/amazon.instance.write.service.ts +15 -4
- package/src/instance/awsInstanceType.service.spec.js +172 -136
- package/src/instance/awsInstanceType.service.ts +142 -154
- package/src/instance/details/AmazonInstanceDetails.spec.tsx +79 -0
- package/src/instance/details/AmazonInstanceDetails.tsx +644 -0
- package/src/instance/details/InstanceInformation.tsx +11 -14
- package/src/instance/details/InstanceSecurityGroups.tsx +20 -23
- package/src/instance/details/InstanceTags.tsx +5 -3
- package/src/instance/index.ts +1 -0
- package/src/keyPairs/KeyPairsReader.ts +1 -1
- package/src/loadBalancer/AmazonLoadBalancersTag.spec.tsx +39 -0
- package/src/loadBalancer/AmazonLoadBalancersTag.tsx +21 -14
- package/src/loadBalancer/OidcConfigReader.ts +1 -1
- package/src/loadBalancer/TargetGroupDetails.spec.tsx +113 -0
- package/src/loadBalancer/TargetGroupDetails.tsx +287 -7
- package/src/loadBalancer/amazonLoadBalancerDataUtils.ts +21 -21
- package/src/loadBalancer/configure/AmazonLoadBalancerChoiceModal.tsx +17 -4
- package/src/loadBalancer/configure/LoadBalancerTypes.ts +7 -4
- package/src/loadBalancer/configure/application/ALBListeners.tsx +1 -2
- package/src/loadBalancer/configure/application/CreateApplicationLoadBalancer.tsx +28 -18
- package/src/loadBalancer/configure/classic/CreateClassicLoadBalancer.tsx +29 -19
- package/src/loadBalancer/configure/common/LoadBalancerLocation.tsx +1 -1
- package/src/loadBalancer/configure/common/SecurityGroups.spec.tsx +27 -0
- package/src/loadBalancer/configure/common/SecurityGroups.tsx +11 -5
- package/src/loadBalancer/configure/network/CreateNetworkLoadBalancer.tsx +28 -18
- package/src/loadBalancer/details/LoadBalancerActions.tsx +19 -5
- package/src/loadBalancer/details/amazonLoadBalancerDetails.spec.tsx +141 -0
- package/src/loadBalancer/details/amazonLoadBalancerDetails.tsx +599 -0
- package/src/loadBalancer/index.ts +1 -0
- package/src/loadBalancer/loadBalancer.transformer.ts +3 -4
- package/src/pipeline/stages/AmazonStageConfig.spec.tsx +103 -0
- package/src/pipeline/stages/AmazonStageConfig.tsx +259 -0
- package/src/pipeline/stages/bake/AwsBakeStageConfig.tsx +708 -0
- package/src/pipeline/stages/cloneServerGroup/AwsCloneServerGroupStageConfig.tsx +275 -0
- package/src/pipeline/stages/deleteLambda/index.ts +2 -6
- package/src/pipeline/stages/deployCloudFormation/CloudFormationChangeSetInfo.tsx +14 -33
- package/src/pipeline/stages/deployCloudFormation/DeployCloudFormationStackStageConfig.tsx +264 -0
- package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackStage.spec.tsx +403 -0
- package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackStage.ts +21 -29
- package/src/pipeline/stages/deployCloudFormation/evaluateCloudFormationChangeSetExecution.service.ts +1 -11
- package/src/pipeline/stages/deployCloudFormation/evaluateCloudFormationChangeSetExecutionApproval.tsx +4 -3
- package/src/pipeline/stages/deployLambda/components/NetworkForm.tsx +3 -6
- package/src/pipeline/stages/deployLambda/index.ts +2 -6
- package/src/pipeline/stages/destroyAsg/awsDestroyAsgStage.js +28 -65
- package/src/pipeline/stages/disableAsg/AwsDisableAsgStageConfig.tsx +103 -0
- package/src/pipeline/stages/disableCluster/AwsDisableClusterStageConfig.tsx +119 -0
- package/src/pipeline/stages/enableAsg/AwsEnableAsgStageConfig.tsx +98 -0
- package/src/pipeline/stages/findAmi/awsFindAmiStage.js +22 -79
- package/src/pipeline/stages/findImageFromTags/AwsFindImageFromTagsStageConfig.spec.tsx +122 -0
- package/src/pipeline/stages/findImageFromTags/AwsFindImageFromTagsStageConfig.tsx +71 -0
- package/src/pipeline/stages/findImageFromTags/awsFindImageFromTagsStage.js +17 -32
- package/src/pipeline/stages/invokeLambda/index.ts +2 -6
- package/src/pipeline/stages/modifyScalingProcess/ModifyScalingProcessStageConfig.tsx +146 -0
- package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.js +27 -98
- package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.spec.tsx +167 -0
- package/src/pipeline/stages/modifyWarmPool/ModifyWarmPoolStageConfig.tsx +157 -0
- package/src/pipeline/stages/modifyWarmPool/modifyWarmPoolStage.js +26 -0
- package/src/pipeline/stages/modifyWarmPool/modifyWarmPoolStage.spec.tsx +89 -0
- package/src/pipeline/stages/resizeAsg/AwsResizeAsgStageConfig.spec.tsx +617 -0
- package/src/pipeline/stages/resizeAsg/AwsResizeAsgStageConfig.tsx +340 -0
- package/src/pipeline/stages/resizeAsg/awsResizeAsgStage.js +34 -125
- package/src/pipeline/stages/rollbackCluster/AwsRollbackClusterStageConfig.tsx +129 -0
- package/src/pipeline/stages/routeLambda/index.ts +2 -6
- package/src/pipeline/stages/scaleDownCluster/AwsScaleDownClusterStageConfig.tsx +121 -0
- package/src/pipeline/stages/shrinkCluster/AwsShrinkClusterStageConfig.tsx +136 -0
- package/src/pipeline/stages/tagImage/awsTagImageStage.spec.tsx +167 -0
- package/src/pipeline/stages/tagImage/awsTagImageStage.tsx +94 -0
- package/src/pipeline/stages/updateCodeLambda/index.ts +2 -6
- package/src/routerConsumers.spec.tsx +207 -0
- package/src/search/searchResultFormatter.ts +9 -16
- package/src/securityGroup/configure/AmazonSecurityGroupModal.spec.tsx +170 -0
- package/src/securityGroup/configure/AmazonSecurityGroupModal.tsx +440 -0
- package/src/securityGroup/details/AmazonSecurityGroupDetails.spec.tsx +62 -0
- package/src/securityGroup/details/AmazonSecurityGroupDetails.tsx +444 -0
- package/src/securityGroup/details/IPRangeRules.tsx +1 -1
- package/src/securityGroup/details/index.ts +1 -0
- package/src/securityGroup/index.ts +1 -0
- package/src/securityGroup/securityGroup.reader.ts +0 -5
- package/src/securityGroup/securityGroup.transformer.ts +35 -0
- package/src/serverGroup/configure/AmazonImageSelectInput.spec.tsx +104 -80
- package/src/serverGroup/configure/AmazonImageSelectInput.tsx +37 -18
- package/src/serverGroup/configure/serverGroupCommandBuilder.aws.service.spec.js +28 -66
- package/src/serverGroup/configure/serverGroupCommandBuilder.service.ts +476 -465
- package/src/serverGroup/configure/serverGroupCommandBuilder.spec.js +76 -124
- package/src/serverGroup/configure/serverGroupConfiguration.service.ts +106 -103
- package/src/serverGroup/configure/wizard/AmazonCloneServerGroupModal.tsx +65 -25
- package/src/serverGroup/configure/wizard/instanceType/CpuCreditsToggle.tsx +3 -3
- package/src/serverGroup/configure/wizard/instanceType/advancedMode/AdvancedModeSelector.tsx +2 -2
- package/src/serverGroup/configure/wizard/instanceType/simpleMode/SimpleModeSelector.spec.tsx +105 -0
- package/src/serverGroup/configure/wizard/instanceType/simpleMode/SimpleModeSelector.tsx +20 -6
- package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.spec.tsx +39 -0
- package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.tsx +10 -9
- package/src/serverGroup/configure/wizard/pages/ServerGroupInstanceType.tsx +2 -2
- package/src/serverGroup/configure/wizard/pages/ServerGroupLoadBalancers.tsx +5 -2
- package/src/serverGroup/configure/wizard/pages/advancedSettings/ServerGroupAdvancedSettingsCommon.spec.tsx +53 -0
- package/src/serverGroup/configure/wizard/pages/advancedSettings/ServerGroupAdvancedSettingsCommon.tsx +35 -33
- package/src/serverGroup/configure/wizard/securityGroups/SecurityGroupSelector.spec.tsx +20 -0
- package/src/serverGroup/configure/wizard/securityGroups/SecurityGroupSelector.tsx +9 -4
- package/src/serverGroup/details/AmazonServerGroupActions.spec.tsx +186 -0
- package/src/serverGroup/details/AmazonServerGroupActions.tsx +37 -87
- package/src/serverGroup/details/advancedSettings/EditAsgAdvancedSettingsModal.spec.tsx +110 -0
- package/src/serverGroup/details/advancedSettings/EditAsgAdvancedSettingsModal.tsx +117 -0
- package/src/serverGroup/details/advancedSettings/index.ts +1 -0
- package/src/serverGroup/details/amazonServerGroupDetailsGetter.ts +4 -4
- package/src/serverGroup/details/resize/AmazonResizeServerGroupModal.tsx +16 -6
- package/src/serverGroup/details/rollback/AmazonRollbackServerGroupModal.spec.tsx +285 -0
- package/src/serverGroup/details/rollback/AmazonRollbackServerGroupModal.tsx +449 -0
- package/src/serverGroup/details/rollback/index.ts +2 -0
- package/src/serverGroup/details/rollback/rollbackServerGroupSelection.spec.ts +101 -0
- package/src/serverGroup/details/rollback/rollbackServerGroupSelection.ts +81 -0
- package/src/serverGroup/details/scalingPolicy/CreateScalingPolicyButton.tsx +4 -4
- package/src/serverGroup/details/scalingPolicy/ScalingPolicyWriter.ts +2 -5
- package/src/serverGroup/details/scalingPolicy/upsert/alarm/DimensionsEditor.tsx +0 -2
- package/src/serverGroup/details/scalingProcesses/ModifyScalingProcessesModal.spec.tsx +74 -0
- package/src/serverGroup/details/scalingProcesses/ModifyScalingProcessesModal.tsx +140 -0
- package/src/serverGroup/details/scalingProcesses/index.ts +2 -0
- package/src/serverGroup/details/scheduledActions/EditScheduledActionsModal.spec.tsx +115 -0
- package/src/serverGroup/details/scheduledActions/EditScheduledActionsModal.tsx +205 -0
- package/src/serverGroup/details/scheduledActions/index.ts +1 -0
- package/src/serverGroup/details/sections/AdvancedSettingsDetailsSection.tsx +7 -14
- package/src/serverGroup/details/sections/AmazonCapacityDetailsSection.tsx +14 -2
- package/src/serverGroup/details/sections/AmazonServerGroupMaintenanceActions.spec.tsx +148 -0
- package/src/serverGroup/details/sections/InstancesDistributionDetailsSection.spec.tsx +1 -5
- package/src/serverGroup/details/sections/LaunchTemplateDetailsSection.spec.tsx +1 -5
- package/src/serverGroup/details/sections/ScalingProcessesDetailsSection.tsx +8 -20
- package/src/serverGroup/details/sections/ScheduledActionsDetailsSection.tsx +7 -12
- package/src/serverGroup/details/sections/SecurityGroupsDetailsSection.tsx +14 -19
- package/src/serverGroup/details/sections/WarmPoolDetailsSection.tsx +44 -0
- package/src/serverGroup/details/sections/index.ts +1 -0
- package/src/serverGroup/details/securityGroups/EditSecurityGroupsModal.spec.tsx +161 -0
- package/src/serverGroup/details/securityGroups/EditSecurityGroupsModal.tsx +177 -0
- package/src/serverGroup/details/securityGroups/index.ts +1 -0
- package/src/serverGroup/details/warmPool/ModifyWarmPoolModal.spec.tsx +69 -0
- package/src/serverGroup/details/warmPool/ModifyWarmPoolModal.tsx +191 -0
- package/src/serverGroup/details/warmPool/WarmPoolService.spec.ts +30 -0
- package/src/serverGroup/details/warmPool/WarmPoolService.ts +15 -0
- package/src/serverGroup/details/warmPool/index.ts +2 -0
- package/src/serverGroup/serverGroup.transformer.ts +1 -6
- package/src/vpc/VpcReader.ts +2 -2
- package/src/vpc/index.ts +1 -0
- package/dist/common/common.module.d.ts +0 -1
- package/dist/common/footer.component.d.ts +0 -1
- package/dist/function/function.module.d.ts +0 -1
- package/dist/instance/details/amazonInstanceInformation.component.d.ts +0 -1
- package/dist/instance/details/instance.details.controller.d.ts +0 -2
- package/dist/instance/details/instanceDns.component.d.ts +0 -1
- package/dist/instance/details/instanceSecurityGroups.component.d.ts +0 -1
- package/dist/instance/details/instanceStatus.component.d.ts +0 -1
- package/dist/instance/details/instanceTags.component.d.ts +0 -1
- package/dist/loadBalancer/details/loadBalancerActions.component.d.ts +0 -1
- package/dist/loadBalancer/details/loadBalancerDetails.controller.d.ts +0 -41
- package/dist/loadBalancer/details/targetGroupDetails.controller.d.ts +0 -30
- package/dist/loadBalancer/loadBalancer.module.d.ts +0 -1
- package/dist/loadBalancer/targetGroup.states.d.ts +0 -1
- package/dist/pipeline/stages/bake/awsBakeStage.d.ts +0 -2
- package/dist/pipeline/stages/bake/bakeExecutionDetails.controller.d.ts +0 -2
- package/dist/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.d.ts +0 -2
- package/dist/pipeline/stages/deployCloudFormation/cloudFormationTemplateEntry.component.d.ts +0 -1
- package/dist/pipeline/stages/deployCloudFormation/deployCloudFormationStackConfig.controller.d.ts +0 -25
- package/dist/pipeline/stages/disableAsg/awsDisableAsgStage.d.ts +0 -2
- package/dist/pipeline/stages/disableCluster/awsDisableClusterStage.d.ts +0 -2
- package/dist/pipeline/stages/enableAsg/awsEnableAsgStage.d.ts +0 -2
- package/dist/pipeline/stages/rollbackCluster/awsRollbackClusterStage.d.ts +0 -2
- package/dist/pipeline/stages/scaleDownCluster/awsScaleDownClusterStage.d.ts +0 -2
- package/dist/pipeline/stages/shrinkCluster/awsShrinkClusterStage.d.ts +0 -2
- package/dist/reactShims/aws.react.injector.d.ts +0 -18
- package/dist/reactShims/aws.react.module.d.ts +0 -1
- package/dist/reactShims/index.d.ts +0 -1
- package/dist/securityGroup/clone/cloneSecurityGroup.controller.d.ts +0 -2
- package/dist/securityGroup/configure/CreateSecurityGroupCtrl.d.ts +0 -2
- package/dist/securityGroup/configure/EditSecurityGroupCtrl.d.ts +0 -2
- package/dist/securityGroup/configure/configSecurityGroup.mixin.controller.d.ts +0 -2
- package/dist/securityGroup/configure/ingressRuleGroupSelector.component.d.ts +0 -1
- package/dist/securityGroup/configure/securityGroupDetailsCustom.component.d.ts +0 -1
- package/dist/securityGroup/configure/securityGroupDetailsCustom.d.ts +0 -10
- package/dist/securityGroup/details/securityGroupDetail.controller.d.ts +0 -2
- package/dist/securityGroup/details/securityGroupIpRangeRules.component.d.ts +0 -1
- package/dist/securityGroup/securityGroup.module.d.ts +0 -1
- package/dist/serverGroup/details/advancedSettings/editAsgAdvancedSettings.modal.controller.d.ts +0 -2
- package/dist/serverGroup/details/rollback/rollbackServerGroup.controller.d.ts +0 -2
- package/dist/serverGroup/details/scalingPolicy/createScalingPolicyButton.component.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/scalingPolicy.module.d.ts +0 -1
- package/dist/serverGroup/details/scalingPolicy/scalingPolicySummary.component.d.ts +0 -1
- package/dist/serverGroup/details/scalingProcesses/modifyScalingProcesses.controller.d.ts +0 -2
- package/dist/serverGroup/details/scheduledAction/editScheduledActions.modal.controller.d.ts +0 -2
- package/dist/serverGroup/details/securityGroup/editSecurityGroups.modal.controller.d.ts +0 -2
- package/dist/serverGroup/details/serverGroupDetails.module.d.ts +0 -1
- package/dist/subnet/subnet.renderer.d.ts +0 -5
- package/dist/vpc/vpc.module.d.ts +0 -1
- package/src/applicationProviderFields/awsFields.html +0 -13
- package/src/common/common.module.ts +0 -6
- package/src/common/footer.component.ts +0 -29
- package/src/function/function.module.ts +0 -5
- package/src/image/image.reader.spec.ts +0 -75
- package/src/instance/details/amazonInstanceInformation.component.ts +0 -13
- package/src/instance/details/instance.details.controller.js +0 -586
- package/src/instance/details/instance.details.controller.spec.js +0 -133
- package/src/instance/details/instanceDetails.html +0 -65
- package/src/instance/details/instanceDns.component.ts +0 -21
- package/src/instance/details/instanceSecurityGroups.component.ts +0 -13
- package/src/instance/details/instanceStatus.component.ts +0 -19
- package/src/instance/details/instanceTags.component.ts +0 -13
- package/src/loadBalancer/details/loadBalancerActions.component.ts +0 -16
- package/src/loadBalancer/details/loadBalancerDetails.controller.spec.ts +0 -76
- package/src/loadBalancer/details/loadBalancerDetails.controller.ts +0 -240
- package/src/loadBalancer/details/loadBalancerDetails.html +0 -266
- package/src/loadBalancer/details/targetGroupDetails.controller.ts +0 -95
- package/src/loadBalancer/details/targetGroupDetails.html +0 -138
- package/src/loadBalancer/loadBalancer.module.ts +0 -15
- package/src/loadBalancer/targetGroup.states.ts +0 -55
- package/src/pipeline/stages/bake/awsBakeStage.js +0 -219
- package/src/pipeline/stages/bake/bakeExecutionDetails.controller.js +0 -43
- package/src/pipeline/stages/bake/bakeExecutionDetails.html +0 -65
- package/src/pipeline/stages/bake/bakeStage.html +0 -205
- package/src/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.js +0 -143
- package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStage.html +0 -143
- package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStepLabel.html +0 -1
- package/src/pipeline/stages/deployCloudFormation/cloudFormationTemplateEntry.component.ts +0 -46
- package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackConfig.controller.ts +0 -84
- package/src/pipeline/stages/deployCloudFormation/deployCloudFormationStackConfig.html +0 -84
- package/src/pipeline/stages/destroyAsg/destroyAsgStage.html +0 -9
- package/src/pipeline/stages/destroyAsg/destroyAsgStepLabel.html +0 -1
- package/src/pipeline/stages/disableAsg/awsDisableAsgStage.js +0 -69
- package/src/pipeline/stages/disableAsg/disableAsgStage.html +0 -11
- package/src/pipeline/stages/disableAsg/disableAsgStepLabel.html +0 -1
- package/src/pipeline/stages/disableCluster/awsDisableClusterStage.js +0 -84
- package/src/pipeline/stages/disableCluster/disableClusterStage.html +0 -26
- package/src/pipeline/stages/enableAsg/awsEnableAsgStage.js +0 -73
- package/src/pipeline/stages/enableAsg/enableAsgStage.html +0 -11
- package/src/pipeline/stages/enableAsg/enableAsgStepLabel.html +0 -1
- package/src/pipeline/stages/findAmi/findAmiStage.html +0 -24
- package/src/pipeline/stages/findImageFromTags/findImageFromTagsExecutionDetails.html +0 -44
- package/src/pipeline/stages/findImageFromTags/findImageFromTagsStage.html +0 -11
- package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessExecutionDetails.html +0 -36
- package/src/pipeline/stages/modifyScalingProcess/modifyScalingProcessStage.html +0 -24
- package/src/pipeline/stages/resizeAsg/resizeAsgStage.html +0 -90
- package/src/pipeline/stages/resizeAsg/resizeAsgStepLabel.html +0 -4
- package/src/pipeline/stages/rollbackCluster/awsRollbackClusterStage.js +0 -66
- package/src/pipeline/stages/rollbackCluster/rollbackClusterStage.html +0 -43
- package/src/pipeline/stages/scaleDownCluster/awsScaleDownClusterStage.js +0 -78
- package/src/pipeline/stages/scaleDownCluster/scaleDownClusterStage.html +0 -35
- package/src/pipeline/stages/shrinkCluster/awsShrinkClusterStage.js +0 -73
- package/src/pipeline/stages/shrinkCluster/shrinkClusterStage.html +0 -34
- package/src/pipeline/stages/tagImage/awsTagImageStage.js +0 -34
- package/src/pipeline/stages/tagImage/tagImageExecutionDetails.html +0 -38
- package/src/pipeline/stages/tagImage/tagImageStage.html +0 -10
- package/src/reactShims/aws.react.injector.ts +0 -25
- package/src/reactShims/aws.react.module.ts +0 -12
- package/src/reactShims/index.ts +0 -1
- package/src/securityGroup/clone/cloneSecurityGroup.controller.js +0 -106
- package/src/securityGroup/clone/cloneSecurityGroup.html +0 -19
- package/src/securityGroup/configure/CreateSecurityGroup.controller.spec.js +0 -307
- package/src/securityGroup/configure/CreateSecurityGroupCtrl.js +0 -47
- package/src/securityGroup/configure/EditSecurityGroupCtrl.js +0 -115
- package/src/securityGroup/configure/configSecurityGroup.mixin.controller.js +0 -366
- package/src/securityGroup/configure/createSecurityGroup.html +0 -19
- package/src/securityGroup/configure/createSecurityGroupIngress.html +0 -100
- package/src/securityGroup/configure/createSecurityGroupProperties.html +0 -123
- package/src/securityGroup/configure/editSecurityGroup.html +0 -20
- package/src/securityGroup/configure/ingressRuleGroupSelector.component.html +0 -77
- package/src/securityGroup/configure/ingressRuleGroupSelector.component.less +0 -6
- package/src/securityGroup/configure/ingressRuleGroupSelector.component.ts +0 -190
- package/src/securityGroup/configure/securityGroupDetailsCustom.component.ts +0 -16
- package/src/securityGroup/configure/securityGroupDetailsCustom.tsx +0 -16
- package/src/securityGroup/details/securityGroupDetail.controller.js +0 -249
- package/src/securityGroup/details/securityGroupDetail.html +0 -114
- package/src/securityGroup/details/securityGroupIpRangeRules.component.ts +0 -12
- package/src/securityGroup/securityGroup.module.ts +0 -26
- package/src/securityGroup/securityGroup.transformer.js +0 -48
- package/src/serverGroup/configure/serverGroupConfiguration.service.spec.ts +0 -478
- package/src/serverGroup/details/advancedSettings/editAsgAdvancedSettings.modal.controller.js +0 -47
- package/src/serverGroup/details/advancedSettings/editAsgAdvancedSettings.modal.html +0 -79
- package/src/serverGroup/details/rollback/rollbackServerGroup.controller.js +0 -146
- package/src/serverGroup/details/rollback/rollbackServerGroup.html +0 -139
- package/src/serverGroup/details/scalingPolicy/createScalingPolicyButton.component.ts +0 -15
- package/src/serverGroup/details/scalingPolicy/scalingPolicy.module.ts +0 -6
- package/src/serverGroup/details/scalingPolicy/scalingPolicySummary.component.ts +0 -14
- package/src/serverGroup/details/scalingPolicy/upsert/alarm/dimensionsEditor.less +0 -18
- package/src/serverGroup/details/scalingProcesses/modifyScalingProcesses.controller.js +0 -95
- package/src/serverGroup/details/scalingProcesses/modifyScalingProcesses.controller.spec.js +0 -106
- package/src/serverGroup/details/scalingProcesses/modifyScalingProcesses.html +0 -30
- package/src/serverGroup/details/scheduledAction/editScheduledActions.modal.controller.js +0 -70
- package/src/serverGroup/details/scheduledAction/editScheduledActions.modal.html +0 -89
- package/src/serverGroup/details/securityGroup/editSecurityGroups.modal.controller.js +0 -95
- package/src/serverGroup/details/securityGroup/editSecurityGroups.modal.html +0 -40
- package/src/serverGroup/details/serverGroupDetails.module.ts +0 -18
- package/src/serverGroup/serverGroup.transformer.spec.ts +0 -185
- package/src/subnet/SubnetSelectInput.spec.tsx +0 -91
- package/src/subnet/subnet.renderer.ts +0 -12
- package/src/vpc/vpc.module.ts +0 -9
|
@@ -58,7 +58,7 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
58
58
|
return (
|
|
59
59
|
<div className="container-fluid form-horizontal">
|
|
60
60
|
<div className="form-group">
|
|
61
|
-
<div className="col-md-
|
|
61
|
+
<div className="col-md-3 sm-label-right">
|
|
62
62
|
<b>Cooldown</b>
|
|
63
63
|
</div>
|
|
64
64
|
<div className="col-md-2">
|
|
@@ -67,11 +67,11 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
67
67
|
seconds
|
|
68
68
|
</div>
|
|
69
69
|
<div className="form-group">
|
|
70
|
-
<div className="col-md-
|
|
70
|
+
<div className="col-md-3 sm-label-right">
|
|
71
71
|
<b>Enabled Metrics </b>
|
|
72
72
|
<HelpField id="aws.serverGroup.enabledMetrics" />
|
|
73
73
|
</div>
|
|
74
|
-
<div className="col-md-
|
|
74
|
+
<div className="col-md-7">
|
|
75
75
|
<Select
|
|
76
76
|
multi={true}
|
|
77
77
|
value={values.enabledMetrics}
|
|
@@ -87,10 +87,10 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
87
87
|
</div>
|
|
88
88
|
|
|
89
89
|
<div className="form-group">
|
|
90
|
-
<div className="col-md-
|
|
90
|
+
<div className="col-md-3 sm-label-right">
|
|
91
91
|
<b>Health Check Type</b>
|
|
92
92
|
</div>
|
|
93
|
-
<div className="col-md-
|
|
93
|
+
<div className="col-md-7">
|
|
94
94
|
<Select
|
|
95
95
|
value={values.healthCheckType}
|
|
96
96
|
clearable={false}
|
|
@@ -101,7 +101,7 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
101
101
|
</div>
|
|
102
102
|
</div>
|
|
103
103
|
<div className="form-group">
|
|
104
|
-
<div className="col-md-
|
|
104
|
+
<div className="col-md-3 sm-label-right">
|
|
105
105
|
<b>Health Check Grace Period</b>
|
|
106
106
|
</div>
|
|
107
107
|
<div className="col-md-2">
|
|
@@ -115,10 +115,10 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
115
115
|
seconds
|
|
116
116
|
</div>
|
|
117
117
|
<div className="form-group">
|
|
118
|
-
<div className="col-md-
|
|
118
|
+
<div className="col-md-3 sm-label-right">
|
|
119
119
|
<b>Termination Policies</b>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="col-md-
|
|
121
|
+
<div className="col-md-7">
|
|
122
122
|
<Select
|
|
123
123
|
multi={true}
|
|
124
124
|
value={values.terminationPolicies}
|
|
@@ -134,10 +134,10 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
134
134
|
</div>
|
|
135
135
|
|
|
136
136
|
<div className="form-group">
|
|
137
|
-
<div className="col-md-
|
|
137
|
+
<div className="col-md-3 sm-label-right">
|
|
138
138
|
<b>Key Name</b>
|
|
139
139
|
</div>
|
|
140
|
-
<div className="col-md-
|
|
140
|
+
<div className="col-md-7">
|
|
141
141
|
<Select
|
|
142
142
|
value={values.keyPair}
|
|
143
143
|
required={true}
|
|
@@ -148,37 +148,37 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
148
148
|
</div>
|
|
149
149
|
</div>
|
|
150
150
|
<div className="form-group">
|
|
151
|
-
<div className="col-md-
|
|
151
|
+
<div className="col-md-3 sm-label-right">
|
|
152
152
|
<b>Ramdisk Id (optional)</b>
|
|
153
153
|
</div>
|
|
154
|
-
<div className="col-md-
|
|
154
|
+
<div className="col-md-7">
|
|
155
155
|
<Field type="text" name="ramdiskId" className="form-control input-sm no-spel" />
|
|
156
156
|
</div>
|
|
157
157
|
</div>
|
|
158
158
|
<div className="form-group">
|
|
159
|
-
<div className="col-md-
|
|
159
|
+
<div className="col-md-3 sm-label-right">
|
|
160
160
|
<b>IAM Instance Profile (optional)</b>
|
|
161
161
|
</div>
|
|
162
|
-
<div className="col-md-
|
|
162
|
+
<div className="col-md-7">
|
|
163
163
|
<Field type="text" className="form-control input-sm no-spel" name="iamRole" />
|
|
164
164
|
</div>
|
|
165
165
|
</div>
|
|
166
166
|
<div className="form-group">
|
|
167
|
-
<div className="col-md-
|
|
167
|
+
<div className="col-md-3 sm-label-right">
|
|
168
168
|
<b>UserData (optional) </b>
|
|
169
169
|
<HelpField id="aws.serverGroup.base64UserData" />
|
|
170
170
|
</div>
|
|
171
|
-
<div className="col-md-
|
|
171
|
+
<div className="col-md-7">
|
|
172
172
|
<Field type="text" className="form-control input-sm no-spel" name="base64UserData" />
|
|
173
173
|
</div>
|
|
174
174
|
</div>
|
|
175
175
|
<div className="form-group">
|
|
176
|
-
<div className="col-md-
|
|
176
|
+
<div className="col-md-3 sm-label-right">
|
|
177
177
|
<b>Instance Monitoring </b>
|
|
178
178
|
<HelpField id="aws.serverGroup.instanceMonitoring" />
|
|
179
179
|
</div>
|
|
180
180
|
|
|
181
|
-
<div className="col-md-
|
|
181
|
+
<div className="col-md-7 checkbox">
|
|
182
182
|
<label>
|
|
183
183
|
<input
|
|
184
184
|
type="checkbox"
|
|
@@ -190,10 +190,10 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
190
190
|
</div>
|
|
191
191
|
</div>
|
|
192
192
|
<div className="form-group">
|
|
193
|
-
<div className="col-md-
|
|
193
|
+
<div className="col-md-3 sm-label-right">
|
|
194
194
|
<b>EBS Optimized</b>
|
|
195
195
|
</div>
|
|
196
|
-
<div className="col-md-
|
|
196
|
+
<div className="col-md-7 checkbox">
|
|
197
197
|
<label>
|
|
198
198
|
<input
|
|
199
199
|
type="checkbox"
|
|
@@ -206,11 +206,11 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
206
206
|
</div>
|
|
207
207
|
{asgSettings?.enableIMDSv2 && (
|
|
208
208
|
<div className="form-group">
|
|
209
|
-
<div className="col-md-
|
|
209
|
+
<div className="col-md-3 sm-label-right">
|
|
210
210
|
<b>IMDSv2 </b>
|
|
211
211
|
<HelpField id="aws.serverGroup.imdsv2" />
|
|
212
212
|
</div>
|
|
213
|
-
<div className="col-md-
|
|
213
|
+
<div className="col-md-7 checkbox">
|
|
214
214
|
<label>
|
|
215
215
|
<input
|
|
216
216
|
type="checkbox"
|
|
@@ -224,7 +224,7 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
224
224
|
)}
|
|
225
225
|
{!AWSProviderSettings.disableSpotPricing && values.viewState.useSimpleInstanceTypeSelector && (
|
|
226
226
|
<div className="form-group">
|
|
227
|
-
<div className="col-md-
|
|
227
|
+
<div className="col-md-3 sm-label-right">
|
|
228
228
|
<b>Spot Instances Price (optional)</b> <HelpField id="aws.serverGroup.spotMaxPrice" />
|
|
229
229
|
</div>
|
|
230
230
|
<div className="col-md-2">
|
|
@@ -233,10 +233,10 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
233
233
|
</div>
|
|
234
234
|
)}
|
|
235
235
|
<div className="form-group">
|
|
236
|
-
<div className="col-md-
|
|
236
|
+
<div className="col-md-3 sm-label-right">
|
|
237
237
|
<b>AMI Block Device Mappings</b>
|
|
238
238
|
</div>
|
|
239
|
-
<div className="col-md-
|
|
239
|
+
<div className="col-md-7 radio">
|
|
240
240
|
<div>
|
|
241
241
|
<label>
|
|
242
242
|
<input
|
|
@@ -273,12 +273,12 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
273
273
|
</div>
|
|
274
274
|
</div>
|
|
275
275
|
<div className="form-group">
|
|
276
|
-
<div className="col-md-
|
|
276
|
+
<div className="col-md-3 sm-label-right">
|
|
277
277
|
<b>{`Associate ${asgSettings?.enableIPv6 ? 'IPv6 (Recommended)' : 'Public IPv4'} Address`}</b>
|
|
278
278
|
<HelpField id="serverGroup.ipv6" />
|
|
279
279
|
</div>
|
|
280
280
|
{asgSettings?.enableIPv6 && (
|
|
281
|
-
<div className="col-md-
|
|
281
|
+
<div className="col-md-7 checkbox">
|
|
282
282
|
<label>
|
|
283
283
|
<input
|
|
284
284
|
type="checkbox"
|
|
@@ -329,10 +329,10 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
329
329
|
)}
|
|
330
330
|
</div>
|
|
331
331
|
<div className="form-group">
|
|
332
|
-
<div className="col-md-
|
|
332
|
+
<div className="col-md-3 sm-label-right">
|
|
333
333
|
<b>Scaling Processes</b>
|
|
334
334
|
</div>
|
|
335
|
-
<div className="col-md-
|
|
335
|
+
<div className="col-md-7 checkbox">
|
|
336
336
|
{values.backingData.scalingProcesses.map((process) => (
|
|
337
337
|
<div key={process.name}>
|
|
338
338
|
<label>
|
|
@@ -349,10 +349,10 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
349
349
|
</div>
|
|
350
350
|
{app.attributes.platformHealthOnlyShowOverride && (
|
|
351
351
|
<div className="form-group">
|
|
352
|
-
<div className="col-md-
|
|
352
|
+
<div className="col-md-3 sm-label-right">
|
|
353
353
|
<b>Task Completion</b>
|
|
354
354
|
</div>
|
|
355
|
-
<div className="col-md-
|
|
355
|
+
<div className="col-md-7">
|
|
356
356
|
<PlatformHealthOverride
|
|
357
357
|
interestingHealthProviderNames={values.interestingHealthProviderNames}
|
|
358
358
|
platformHealthType="Amazon"
|
|
@@ -362,11 +362,13 @@ export class ServerGroupAdvancedSettingsCommon extends React.Component<IServerGr
|
|
|
362
362
|
</div>
|
|
363
363
|
)}
|
|
364
364
|
<div className="form-group">
|
|
365
|
-
<div className="sm-label-
|
|
365
|
+
<div className="col-md-3 sm-label-right">
|
|
366
366
|
<b>Tags (optional)</b>
|
|
367
367
|
<HelpField id="aws.serverGroup.tags" />
|
|
368
368
|
</div>
|
|
369
|
-
<
|
|
369
|
+
<div className="col-md-7">
|
|
370
|
+
<MapEditor model={values.tags as any} allowEmpty={true} onChange={this.tagsChanged} />
|
|
371
|
+
</div>
|
|
370
372
|
</div>
|
|
371
373
|
</div>
|
|
372
374
|
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { InfrastructureCaches } from '@spinnaker/core';
|
|
2
|
+
|
|
3
|
+
import { SecurityGroupSelector } from './SecurityGroupSelector';
|
|
4
|
+
|
|
5
|
+
describe('SecurityGroupSelector', () => {
|
|
6
|
+
it('renders when the security group cache has not been registered', () => {
|
|
7
|
+
spyOn(InfrastructureCaches, 'get').and.returnValue(undefined);
|
|
8
|
+
|
|
9
|
+
expect(() => new SecurityGroupSelector(buildProps() as any)).not.toThrow();
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
function buildProps() {
|
|
14
|
+
return {
|
|
15
|
+
command: { selectedProvider: 'aws' },
|
|
16
|
+
availableGroups: [],
|
|
17
|
+
groupsToEdit: [],
|
|
18
|
+
onChange: jasmine.createSpy('onChange'),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -3,7 +3,7 @@ import type { Option } from 'react-select';
|
|
|
3
3
|
import VirtualizedSelect from 'react-virtualized-select';
|
|
4
4
|
|
|
5
5
|
import type { ISecurityGroup } from '@spinnaker/core';
|
|
6
|
-
import { FirewallLabels, HelpField, InfrastructureCaches,
|
|
6
|
+
import { DeckRuntimeContext, FirewallLabels, HelpField, InfrastructureCaches, timestamp } from '@spinnaker/core';
|
|
7
7
|
|
|
8
8
|
import type { IAmazonServerGroupCommand } from '../../serverGroupConfiguration.service';
|
|
9
9
|
|
|
@@ -23,20 +23,25 @@ export interface ISecurityGroupSelectorState {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export class SecurityGroupSelector extends React.Component<ISecurityGroupSelectorProps, ISecurityGroupSelectorState> {
|
|
26
|
+
public static contextType = DeckRuntimeContext;
|
|
27
|
+
public declare context: React.ContextType<typeof DeckRuntimeContext>;
|
|
28
|
+
|
|
26
29
|
constructor(props: ISecurityGroupSelectorProps) {
|
|
27
30
|
super(props);
|
|
28
31
|
this.state = {
|
|
29
32
|
refreshing: false,
|
|
30
|
-
refreshTime:
|
|
33
|
+
refreshTime: this.getRefreshTime(),
|
|
31
34
|
};
|
|
32
35
|
}
|
|
33
36
|
|
|
37
|
+
private getRefreshTime = () => InfrastructureCaches.get('securityGroups')?.getStats().ageMax || 0;
|
|
38
|
+
|
|
34
39
|
private refreshSecurityGroups = () => {
|
|
35
40
|
this.setState({ refreshing: true });
|
|
36
41
|
if (this.props.refresh) {
|
|
37
42
|
this.props.refresh().then(() => this.setState({ refreshing: false }));
|
|
38
43
|
} else {
|
|
39
|
-
(
|
|
44
|
+
(this.context.services.providerServiceDelegate.getDelegate(
|
|
40
45
|
this.props.command.selectedProvider,
|
|
41
46
|
'serverGroup.configurationService',
|
|
42
47
|
) as any)
|
|
@@ -44,7 +49,7 @@ export class SecurityGroupSelector extends React.Component<ISecurityGroupSelecto
|
|
|
44
49
|
.then(() => {
|
|
45
50
|
this.setState({
|
|
46
51
|
refreshing: false,
|
|
47
|
-
refreshTime:
|
|
52
|
+
refreshTime: this.getRefreshTime(),
|
|
48
53
|
});
|
|
49
54
|
});
|
|
50
55
|
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { shallow } from 'enzyme';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
import type { Application } from '@spinnaker/core';
|
|
5
|
+
import { ConfirmationModalService, ManagedMenuItem, ServerGroupWarningMessageService } from '@spinnaker/core';
|
|
6
|
+
|
|
7
|
+
import type { IAmazonServerGroupView } from '../../domain';
|
|
8
|
+
import { AWSProviderSettings } from '../../aws.settings';
|
|
9
|
+
import { AmazonServerGroupActionsComponent as AmazonServerGroupActions } from './AmazonServerGroupActions';
|
|
10
|
+
import { AmazonRollbackServerGroupModal } from './rollback';
|
|
11
|
+
|
|
12
|
+
describe('<AmazonServerGroupActions /> rollback integration', () => {
|
|
13
|
+
const originalAdHocInfraWritesEnabled = AWSProviderSettings.adHocInfraWritesEnabled;
|
|
14
|
+
const runtimeServices = {} as any;
|
|
15
|
+
|
|
16
|
+
const shallowActions = (component: React.ReactElement) => {
|
|
17
|
+
const wrapper = shallow(component);
|
|
18
|
+
(wrapper.instance() as any).context = { services: runtimeServices };
|
|
19
|
+
return wrapper;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const buildServerGroup = (overrides: Partial<IAmazonServerGroupView> = {}): IAmazonServerGroupView =>
|
|
23
|
+
({
|
|
24
|
+
account: 'test-account',
|
|
25
|
+
app: 'test-app',
|
|
26
|
+
capacity: { desired: 2, max: 2, min: 0 },
|
|
27
|
+
cloudProvider: 'aws',
|
|
28
|
+
cluster: 'test-app-main',
|
|
29
|
+
createdTime: 2,
|
|
30
|
+
instanceCounts: { total: 2 },
|
|
31
|
+
isDisabled: false,
|
|
32
|
+
name: 'test-app-main-v002',
|
|
33
|
+
moniker: { app: 'test-app', cluster: 'test-app-main' },
|
|
34
|
+
region: 'us-east-1',
|
|
35
|
+
...overrides,
|
|
36
|
+
} as IAmazonServerGroupView);
|
|
37
|
+
|
|
38
|
+
const buildApplication = (serverGroups: IAmazonServerGroupView[]): Application =>
|
|
39
|
+
({
|
|
40
|
+
attributes: {},
|
|
41
|
+
getDataSource: (key: string) => (key === 'serverGroups' ? { data: serverGroups } : undefined),
|
|
42
|
+
isManagementPaused: false,
|
|
43
|
+
name: 'test-app',
|
|
44
|
+
serverGroups: { refresh: jasmine.createSpy('refresh') },
|
|
45
|
+
} as any);
|
|
46
|
+
|
|
47
|
+
const action = (wrapper: ReturnType<typeof shallow>, label: string) =>
|
|
48
|
+
wrapper.find(ManagedMenuItem).filterWhere((item) => item.prop('children') === label);
|
|
49
|
+
|
|
50
|
+
beforeEach(() => {
|
|
51
|
+
AWSProviderSettings.adHocInfraWritesEnabled = true;
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
afterEach(() => {
|
|
55
|
+
AWSProviderSettings.adHocInfraWritesEnabled = originalAdHocInfraWritesEnabled;
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it('renders standalone Rollback as a managed action and opens the modal with exact enriched state', () => {
|
|
59
|
+
const selected = buildServerGroup({ isDisabled: true, name: 'test-app-main-v001' });
|
|
60
|
+
const rollbackSource = buildServerGroup();
|
|
61
|
+
const unrelated = buildServerGroup({ app: 'other-app', cluster: 'other-app-main', name: 'other-app-main-v001' });
|
|
62
|
+
const application = buildApplication([selected, rollbackSource, unrelated]);
|
|
63
|
+
const show = spyOn(AmazonRollbackServerGroupModal, 'show').and.returnValue(Promise.resolve({} as any));
|
|
64
|
+
const wrapper = shallowActions(<AmazonServerGroupActions app={application} serverGroup={selected} />);
|
|
65
|
+
|
|
66
|
+
const rollback = action(wrapper, 'Rollback');
|
|
67
|
+
expect(rollback.length).toBe(1);
|
|
68
|
+
expect(rollback.props()).toEqual(
|
|
69
|
+
jasmine.objectContaining({ application, resource: selected, onClick: jasmine.any(Function) }),
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
rollback.prop('onClick')();
|
|
73
|
+
|
|
74
|
+
expect(show).toHaveBeenCalledOnceWith(
|
|
75
|
+
{
|
|
76
|
+
allServerGroups: [selected],
|
|
77
|
+
application,
|
|
78
|
+
previousServerGroup: selected,
|
|
79
|
+
serverGroup: rollbackSource,
|
|
80
|
+
},
|
|
81
|
+
runtimeServices,
|
|
82
|
+
);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it('does not render Rollback when a disabled server group has no enabled rollback source', () => {
|
|
86
|
+
const selected = buildServerGroup({ isDisabled: true, name: 'test-app-main-v001' });
|
|
87
|
+
const wrapper = shallow(<AmazonServerGroupActions app={buildApplication([selected])} serverGroup={selected} />);
|
|
88
|
+
|
|
89
|
+
expect(action(wrapper, 'Rollback').length).toBe(0);
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
it('opens rollback settings when orchestrated rollback is accepted from Enable', async () => {
|
|
93
|
+
const selected = buildServerGroup({ isDisabled: true, name: 'test-app-main-v001' });
|
|
94
|
+
const rollbackSource = buildServerGroup();
|
|
95
|
+
const application = buildApplication([selected, rollbackSource]);
|
|
96
|
+
const confirm = spyOn(ConfirmationModalService, 'confirm').and.returnValue(Promise.resolve() as any);
|
|
97
|
+
const show = spyOn(AmazonRollbackServerGroupModal, 'show').and.returnValue(Promise.resolve({} as any));
|
|
98
|
+
const wrapper = shallowActions(<AmazonServerGroupActions app={application} serverGroup={selected} />);
|
|
99
|
+
|
|
100
|
+
action(wrapper, 'Enable').prop('onClick')();
|
|
101
|
+
await settle();
|
|
102
|
+
|
|
103
|
+
expect(confirm).toHaveBeenCalledTimes(1);
|
|
104
|
+
expect(show).toHaveBeenCalledOnceWith(
|
|
105
|
+
{
|
|
106
|
+
allServerGroups: [selected],
|
|
107
|
+
application,
|
|
108
|
+
previousServerGroup: selected,
|
|
109
|
+
serverGroup: rollbackSource,
|
|
110
|
+
},
|
|
111
|
+
runtimeServices,
|
|
112
|
+
);
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
it('continues to the ordinary Enable confirmation when orchestrated rollback is declined', async () => {
|
|
116
|
+
const selected = buildServerGroup({ isDisabled: true, name: 'test-app-main-v001' });
|
|
117
|
+
const rollbackSource = buildServerGroup();
|
|
118
|
+
const application = buildApplication([selected, rollbackSource]);
|
|
119
|
+
const confirm = spyOn(ConfirmationModalService, 'confirm').and.callFake((params: any) =>
|
|
120
|
+
params.header === 'Rolling back?' ? (Promise.reject({ source: 'footer' }) as any) : (Promise.resolve() as any),
|
|
121
|
+
);
|
|
122
|
+
const show = spyOn(AmazonRollbackServerGroupModal, 'show').and.returnValue(Promise.resolve({} as any));
|
|
123
|
+
const wrapper = shallow(<AmazonServerGroupActions app={application} serverGroup={selected} />);
|
|
124
|
+
|
|
125
|
+
action(wrapper, 'Enable').prop('onClick')();
|
|
126
|
+
await settle();
|
|
127
|
+
|
|
128
|
+
expect(show).not.toHaveBeenCalled();
|
|
129
|
+
expect(confirm).toHaveBeenCalledTimes(2);
|
|
130
|
+
expect(confirm.calls.mostRecent().args[0]).toEqual(
|
|
131
|
+
jasmine.objectContaining({
|
|
132
|
+
header: `Really enable ${selected.name}?`,
|
|
133
|
+
submitMethod: jasmine.any(Function),
|
|
134
|
+
}),
|
|
135
|
+
);
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it('does nothing when the orchestrated rollback prompt is dismissed', async () => {
|
|
139
|
+
const selected = buildServerGroup({ isDisabled: true, name: 'test-app-main-v001' });
|
|
140
|
+
const rollbackSource = buildServerGroup();
|
|
141
|
+
const application = buildApplication([selected, rollbackSource]);
|
|
142
|
+
const confirm = spyOn(ConfirmationModalService, 'confirm').and.returnValue(
|
|
143
|
+
Promise.reject({ source: 'header' }) as any,
|
|
144
|
+
);
|
|
145
|
+
const show = spyOn(AmazonRollbackServerGroupModal, 'show').and.returnValue(Promise.resolve({} as any));
|
|
146
|
+
const writer = { enableServerGroup: jasmine.createSpy('enableServerGroup') };
|
|
147
|
+
const enable = writer.enableServerGroup;
|
|
148
|
+
const wrapper = shallow(<AmazonServerGroupActions app={application} serverGroup={selected} />);
|
|
149
|
+
(wrapper.instance() as any).context = { services: { serverGroupWriter: writer } };
|
|
150
|
+
|
|
151
|
+
action(wrapper, 'Enable').prop('onClick')();
|
|
152
|
+
await settle();
|
|
153
|
+
|
|
154
|
+
expect(confirm).toHaveBeenCalledTimes(1);
|
|
155
|
+
expect(show).not.toHaveBeenCalled();
|
|
156
|
+
expect(enable).not.toHaveBeenCalled();
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
it('closes destroyed server group details through the injected state service', () => {
|
|
160
|
+
const selected = buildServerGroup();
|
|
161
|
+
const stateService = { go: jasmine.createSpy('go'), includes: jasmine.createSpy('includes').and.returnValue(true) };
|
|
162
|
+
const confirm = spyOn(ConfirmationModalService, 'confirm');
|
|
163
|
+
spyOn(ServerGroupWarningMessageService, 'addDestroyWarningMessage');
|
|
164
|
+
const wrapper = shallow(
|
|
165
|
+
<AmazonServerGroupActions
|
|
166
|
+
app={buildApplication([selected])}
|
|
167
|
+
router={{} as any}
|
|
168
|
+
serverGroup={selected}
|
|
169
|
+
stateParams={{}}
|
|
170
|
+
stateService={stateService as any}
|
|
171
|
+
/>,
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
action(wrapper, 'Destroy').prop('onClick')();
|
|
175
|
+
confirm.calls.mostRecent().args[0].taskMonitorConfig.onTaskComplete();
|
|
176
|
+
|
|
177
|
+
expect(stateService.includes).toHaveBeenCalledWith('**.serverGroup', {
|
|
178
|
+
accountId: 'test-account',
|
|
179
|
+
name: 'test-app-main-v002',
|
|
180
|
+
region: 'us-east-1',
|
|
181
|
+
});
|
|
182
|
+
expect(stateService.go).toHaveBeenCalledWith('^');
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
const settle = () => new Promise((resolve) => setTimeout(resolve));
|