@spinnaker/google 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 (548) hide show
  1. package/dist/autoHealingPolicy/GceAutoHealingPolicyEditor.d.ts +24 -0
  2. package/dist/autoHealingPolicy/index.d.ts +1 -0
  3. package/dist/autoscalingPolicy/GceAutoscalingPolicyEditor.d.ts +8 -0
  4. package/dist/autoscalingPolicy/GceAutoscalingPolicyWriter.d.ts +25 -0
  5. package/dist/autoscalingPolicy/IGceAutoscalingPolicy.d.ts +33 -2
  6. package/dist/autoscalingPolicy/index.d.ts +2 -0
  7. package/dist/cache/cacheConfigurer.service.d.ts +2 -2
  8. package/dist/certificate/certificate.reader.d.ts +1 -2
  9. package/dist/common/xpnNaming.gce.service.d.ts +4 -2
  10. package/dist/domain/autoHealingPolicy.d.ts +0 -5
  11. package/dist/domain/serverGroup.d.ts +24 -0
  12. package/dist/gce.module.d.ts +3 -1
  13. package/dist/healthCheck/healthCheck.read.service.d.ts +1 -2
  14. package/dist/image/ImageSelect.d.ts +0 -1
  15. package/dist/image/image.reader.d.ts +2 -2
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/instance/custom/customInstanceBuilder.gce.service.d.ts +17 -2
  20. package/dist/instance/details/GceInstanceDetails.d.ts +24 -0
  21. package/dist/instance/gceInstanceType.service.d.ts +3 -2
  22. package/dist/instance/gceMultiInstanceTask.transformer.d.ts +3 -2
  23. package/dist/loadBalancer/configure/choice/GceLoadBalancerChoiceModal.d.ts +34 -0
  24. package/dist/loadBalancer/configure/common/GceProxyLoadBalancerEditor.d.ts +36 -0
  25. package/dist/loadBalancer/configure/common/GceProxyLoadBalancerModal.d.ts +36 -0
  26. package/dist/loadBalancer/configure/common/gceLoadBalancerData.d.ts +47 -0
  27. package/dist/loadBalancer/configure/common/gceLoadBalancerModels.d.ts +106 -0
  28. package/dist/loadBalancer/configure/common/gceLoadBalancerSubmission.d.ts +10 -0
  29. package/dist/loadBalancer/configure/common/index.d.ts +4 -0
  30. package/dist/loadBalancer/configure/common/useGceLoadBalancerData.d.ts +5 -0
  31. package/dist/loadBalancer/configure/http/GceHttpLoadBalancerEditor.d.ts +33 -0
  32. package/dist/loadBalancer/configure/http/GceHttpLoadBalancerListenerEditor.d.ts +12 -0
  33. package/dist/loadBalancer/configure/http/GceHttpLoadBalancerModal.d.ts +37 -0
  34. package/dist/loadBalancer/configure/http/GceHttpLoadBalancerResourceEditors.d.ts +18 -0
  35. package/dist/loadBalancer/configure/http/GceHttpLoadBalancerRoutingEditor.d.ts +16 -0
  36. package/dist/loadBalancer/configure/network/GceNetworkLoadBalancerEditor.d.ts +30 -0
  37. package/dist/loadBalancer/configure/network/GceNetworkLoadBalancerModal.d.ts +58 -0
  38. package/dist/loadBalancer/details/gceLoadBalancerDetails.d.ts +36 -0
  39. package/dist/loadBalancer/httpLoadBalancerUtils.service.d.ts +0 -1
  40. package/dist/loadBalancer/loadBalancer.setTransformer.d.ts +1 -5
  41. package/dist/loadBalancer/loadBalancer.transformer.d.ts +3 -2
  42. package/dist/pipeline/stages/bake/gceBakeStage.d.ts +2 -2
  43. package/dist/pipeline/stages/cloneServerGroup/gceCloneServerGroupStage.d.ts +1 -2
  44. package/dist/pipeline/stages/destroyAsg/gceDestroyAsgStage.d.ts +1 -2
  45. package/dist/pipeline/stages/disableAsg/gceDisableAsgStage.d.ts +1 -2
  46. package/dist/pipeline/stages/disableCluster/gceDisableClusterStage.d.ts +1 -2
  47. package/dist/pipeline/stages/enableAsg/gceEnableAsgStage.d.ts +1 -2
  48. package/dist/pipeline/stages/findAmi/gceFindAmiStage.d.ts +1 -2
  49. package/dist/pipeline/stages/findImageFromTags/gceFindImageFromTagsStage.d.ts +1 -2
  50. package/dist/pipeline/stages/googleStageConfig.d.ts +40 -0
  51. package/dist/pipeline/stages/resizeAsg/gceResizeAsgStage.d.ts +1 -2
  52. package/dist/pipeline/stages/scaleDownCluster/gceScaleDownClusterStage.d.ts +1 -2
  53. package/dist/pipeline/stages/shrinkCluster/gceShrinkClusterStage.d.ts +1 -2
  54. package/dist/pipeline/stages/tagImage/gceTagImageStage.d.ts +1 -2
  55. package/dist/securityGroup/configure/GceSecurityGroupModal.d.ts +50 -0
  56. package/dist/securityGroup/details/GceSecurityGroupDetails.d.ts +12 -0
  57. package/dist/securityGroup/securityGroup.reader.d.ts +3 -2
  58. package/dist/securityGroup/securityGroup.transformer.d.ts +5 -2
  59. package/dist/serverGroup/configure/serverGroupCommandBuilder.service.d.ts +6 -2
  60. package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +8 -0
  61. package/dist/serverGroup/configure/wizard/GceCloneServerGroupModal.d.ts +49 -0
  62. package/dist/serverGroup/configure/wizard/GceServerGroupWizard.helpers.d.ts +4 -0
  63. package/dist/serverGroup/configure/wizard/GceServerGroupWizard.types.d.ts +113 -0
  64. package/dist/serverGroup/configure/wizard/GceServerGroupWizardAdapter.d.ts +16 -0
  65. package/dist/serverGroup/configure/wizard/GceServerGroupWizardPage.d.ts +20 -0
  66. package/dist/serverGroup/configure/wizard/customInstance/GceCustomInstanceBuilder.d.ts +3 -0
  67. package/dist/serverGroup/configure/wizard/hiddenMetadataKeys.value.d.ts +1 -2
  68. package/dist/serverGroup/configure/wizard/index.d.ts +5 -0
  69. package/dist/serverGroup/configure/wizard/pages/AdvancedSettings.d.ts +20 -0
  70. package/dist/serverGroup/configure/wizard/pages/GceServerGroupFirewalls.d.ts +10 -0
  71. package/dist/serverGroup/configure/wizard/pages/GceServerGroupLoadBalancers.d.ts +21 -0
  72. package/dist/serverGroup/configure/wizard/pages/Policies.d.ts +14 -0
  73. package/dist/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.d.ts +13 -0
  74. package/dist/serverGroup/configure/wizard/pages/ServerGroupCapacity.d.ts +35 -0
  75. package/dist/serverGroup/configure/wizard/pages/ServerGroupImageSettings.d.ts +11 -0
  76. package/dist/serverGroup/configure/wizard/pages/ServerGroupInstanceType.d.ts +29 -0
  77. package/dist/serverGroup/configure/wizard/pages/index.d.ts +8 -0
  78. package/dist/serverGroup/configure/wizard/securityGroups/tagManager.service.d.ts +17 -2
  79. package/dist/serverGroup/configure/wizard/zones/GceInstanceFlexibilityConfigurer.d.ts +19 -0
  80. package/dist/serverGroup/details/GceInstanceFlexibilityPolicyDetails.d.ts +6 -0
  81. package/dist/serverGroup/details/autoHealingPolicy/GceAutoHealingPolicyDetails.d.ts +11 -0
  82. package/dist/serverGroup/details/autoHealingPolicy/index.d.ts +2 -0
  83. package/dist/serverGroup/details/autoHealingPolicy/modal/GceUpsertAutoHealingPolicyModal.d.ts +21 -0
  84. package/dist/serverGroup/details/autoscalingPolicy/GceAutoscalingPolicyDetails.d.ts +12 -0
  85. package/dist/serverGroup/details/autoscalingPolicy/index.d.ts +2 -0
  86. package/dist/serverGroup/details/autoscalingPolicy/modal/GceUpsertAutoscalingPolicyModal.d.ts +26 -0
  87. package/dist/serverGroup/details/gceServerGroupDetails.d.ts +32 -0
  88. package/dist/serverGroup/details/resize/GceResizeServerGroupModal.d.ts +60 -0
  89. package/dist/serverGroup/details/rollback/GceRollbackServerGroupModal.d.ts +44 -0
  90. package/dist/serverGroup/details/stateful/StatefulMIGService.d.ts +2 -2
  91. package/dist/serverGroup/serverGroup.transformer.d.ts +2 -2
  92. package/dist/subnet/subnet.renderer.d.ts +4 -2
  93. package/dist/validation/ApplicationNameValidator.d.ts +6 -0
  94. package/package.json +3 -12
  95. package/src/autoHealingPolicy/GceAutoHealingPolicyEditor.spec.tsx +133 -0
  96. package/src/autoHealingPolicy/GceAutoHealingPolicyEditor.tsx +143 -0
  97. package/src/autoHealingPolicy/index.ts +1 -0
  98. package/src/autoscalingPolicy/GceAutoscalingPolicyEditor.spec.tsx +241 -0
  99. package/src/autoscalingPolicy/GceAutoscalingPolicyEditor.tsx +479 -0
  100. package/src/autoscalingPolicy/GceAutoscalingPolicyWriter.spec.ts +135 -0
  101. package/src/autoscalingPolicy/GceAutoscalingPolicyWriter.ts +101 -0
  102. package/src/autoscalingPolicy/IGceAutoscalingPolicy.ts +37 -2
  103. package/src/autoscalingPolicy/index.ts +2 -0
  104. package/src/cache/cacheConfigurer.service.js +30 -22
  105. package/src/certificate/certificate.reader.ts +1 -6
  106. package/src/common/xpnNaming.gce.service.js +4 -12
  107. package/src/domain/autoHealingPolicy.ts +0 -6
  108. package/src/domain/serverGroup.ts +25 -0
  109. package/src/gce.module.spec.ts +638 -0
  110. package/src/gce.module.ts +106 -126
  111. package/src/healthCheck/healthCheck.read.service.ts +1 -5
  112. package/src/help/gce.help.ts +3 -7
  113. package/src/image/ImageSelect.tsx +0 -15
  114. package/src/image/image.reader.spec.ts +10 -0
  115. package/src/image/image.reader.ts +3 -3
  116. package/src/index.ts +1 -1
  117. package/src/instance/custom/customInstanceBuilder.gce.service.js +123 -141
  118. package/src/instance/details/GceInstanceDetails.spec.tsx +354 -0
  119. package/src/instance/details/GceInstanceDetails.tsx +419 -0
  120. package/src/instance/gceInstanceType.service.js +6 -11
  121. package/src/instance/gceMultiInstanceTask.transformer.js +11 -23
  122. package/src/loadBalancer/configure/choice/GceLoadBalancerChoiceModal.less +17 -0
  123. package/src/loadBalancer/configure/choice/GceLoadBalancerChoiceModal.spec.tsx +279 -0
  124. package/src/loadBalancer/configure/choice/GceLoadBalancerChoiceModal.tsx +169 -0
  125. package/src/loadBalancer/configure/common/GceProxyLoadBalancerEditor.spec.tsx +353 -0
  126. package/src/loadBalancer/configure/common/GceProxyLoadBalancerEditor.tsx +503 -0
  127. package/src/loadBalancer/configure/common/GceProxyLoadBalancerModal.spec.tsx +313 -0
  128. package/src/loadBalancer/configure/common/GceProxyLoadBalancerModal.tsx +241 -0
  129. package/src/loadBalancer/configure/common/gceLoadBalancerData.spec.ts +117 -0
  130. package/src/loadBalancer/configure/common/gceLoadBalancerData.ts +191 -0
  131. package/src/loadBalancer/configure/common/gceLoadBalancerModels.spec.ts +409 -0
  132. package/src/loadBalancer/configure/common/gceLoadBalancerModels.ts +534 -0
  133. package/src/loadBalancer/configure/common/gceLoadBalancerSubmission.spec.ts +297 -0
  134. package/src/loadBalancer/configure/common/gceLoadBalancerSubmission.ts +127 -0
  135. package/src/loadBalancer/configure/common/index.spec.ts +17 -0
  136. package/src/loadBalancer/configure/common/index.ts +4 -0
  137. package/src/loadBalancer/configure/common/useGceLoadBalancerData.spec.tsx +78 -0
  138. package/src/loadBalancer/configure/common/useGceLoadBalancerData.ts +34 -0
  139. package/src/loadBalancer/configure/http/GceHttpLoadBalancerEditor.spec.tsx +472 -0
  140. package/src/loadBalancer/configure/http/GceHttpLoadBalancerEditor.tsx +586 -0
  141. package/src/loadBalancer/configure/http/GceHttpLoadBalancerListenerEditor.spec.tsx +94 -0
  142. package/src/loadBalancer/configure/http/GceHttpLoadBalancerListenerEditor.tsx +153 -0
  143. package/src/loadBalancer/configure/http/GceHttpLoadBalancerModal.spec.tsx +326 -0
  144. package/src/loadBalancer/configure/http/GceHttpLoadBalancerModal.tsx +217 -0
  145. package/src/loadBalancer/configure/http/GceHttpLoadBalancerResourceEditors.spec.tsx +86 -0
  146. package/src/loadBalancer/configure/http/GceHttpLoadBalancerResourceEditors.tsx +284 -0
  147. package/src/loadBalancer/configure/http/GceHttpLoadBalancerRoutingEditor.spec.tsx +82 -0
  148. package/src/loadBalancer/configure/http/GceHttpLoadBalancerRoutingEditor.tsx +174 -0
  149. package/src/loadBalancer/configure/http/httpLoadBalancerWizard.component.less +31 -12
  150. package/src/loadBalancer/configure/network/GceNetworkLoadBalancerEditor.spec.tsx +175 -0
  151. package/src/loadBalancer/configure/network/GceNetworkLoadBalancerEditor.tsx +315 -0
  152. package/src/loadBalancer/configure/network/GceNetworkLoadBalancerModal.spec.tsx +303 -0
  153. package/src/loadBalancer/configure/network/GceNetworkLoadBalancerModal.tsx +368 -0
  154. package/src/loadBalancer/details/gceLoadBalancerDetails.spec.tsx +65 -0
  155. package/src/loadBalancer/details/gceLoadBalancerDetails.tsx +456 -0
  156. package/src/loadBalancer/httpLoadBalancerUtils.service.ts +3 -6
  157. package/src/loadBalancer/loadBalancer.setTransformer.ts +3 -12
  158. package/src/loadBalancer/loadBalancer.transformer.js +5 -9
  159. package/src/pipeline/stages/bake/gceBakeStage.js +362 -155
  160. package/src/pipeline/stages/cloneServerGroup/gceCloneServerGroupStage.js +17 -83
  161. package/src/pipeline/stages/destroyAsg/gceDestroyAsgStage.js +24 -62
  162. package/src/pipeline/stages/disableAsg/gceDisableAsgStage.js +22 -68
  163. package/src/pipeline/stages/disableCluster/gceDisableClusterStage.js +21 -79
  164. package/src/pipeline/stages/enableAsg/gceEnableAsgStage.js +17 -65
  165. package/src/pipeline/stages/findAmi/gceFindAmiStage.js +17 -79
  166. package/src/pipeline/stages/findImageFromTags/gceFindImageFromTagsStage.js +121 -35
  167. package/src/pipeline/stages/googleStageConfig.js +580 -0
  168. package/src/pipeline/stages/googleStageConfig.spec.js +44 -0
  169. package/src/pipeline/stages/resizeAsg/gceResizeAsgStage.js +26 -125
  170. package/src/pipeline/stages/scaleDownCluster/gceScaleDownClusterStage.js +24 -78
  171. package/src/pipeline/stages/shrinkCluster/gceShrinkClusterStage.js +19 -73
  172. package/src/pipeline/stages/tagImage/gceTagImageStage.js +165 -36
  173. package/src/securityGroup/configure/GceSecurityGroupModal.spec.tsx +381 -0
  174. package/src/securityGroup/configure/GceSecurityGroupModal.tsx +543 -0
  175. package/src/securityGroup/details/GceSecurityGroupDetails.spec.tsx +232 -0
  176. package/src/securityGroup/details/GceSecurityGroupDetails.tsx +261 -0
  177. package/src/securityGroup/securityGroup.reader.js +3 -11
  178. package/src/securityGroup/securityGroup.transformer.js +8 -15
  179. package/src/serverGroup/configure/serverGroupCommandBuilder.service.js +563 -556
  180. package/src/serverGroup/configure/serverGroupCommandBuilder.service.spec.js +238 -0
  181. package/src/serverGroup/configure/serverGroupConfiguration.service.js +621 -653
  182. package/src/serverGroup/configure/serverGroupConfiguration.service.spec.js +9 -0
  183. package/src/serverGroup/configure/wizard/GceCloneServerGroupModal.spec.tsx +1228 -0
  184. package/src/serverGroup/configure/wizard/GceCloneServerGroupModal.tsx +824 -0
  185. package/src/serverGroup/configure/wizard/GceServerGroupWizard.helpers.ts +51 -0
  186. package/src/serverGroup/configure/wizard/GceServerGroupWizard.types.ts +176 -0
  187. package/src/serverGroup/configure/wizard/GceServerGroupWizardAdapter.ts +115 -0
  188. package/src/serverGroup/configure/wizard/GceServerGroupWizardPage.spec.tsx +460 -0
  189. package/src/serverGroup/configure/wizard/GceServerGroupWizardPage.tsx +285 -0
  190. package/src/serverGroup/configure/wizard/customInstance/GceCustomInstanceBuilder.spec.tsx +125 -0
  191. package/src/serverGroup/configure/wizard/customInstance/GceCustomInstanceBuilder.tsx +127 -0
  192. package/src/serverGroup/configure/wizard/hiddenMetadataKeys.value.js +2 -7
  193. package/src/serverGroup/configure/wizard/index.ts +5 -0
  194. package/src/serverGroup/configure/wizard/pages/AdvancedSettings.spec.tsx +339 -0
  195. package/src/serverGroup/configure/wizard/pages/AdvancedSettings.tsx +871 -0
  196. package/src/serverGroup/configure/wizard/pages/GceServerGroupFirewalls.spec.tsx +196 -0
  197. package/src/serverGroup/configure/wizard/pages/GceServerGroupFirewalls.tsx +278 -0
  198. package/src/serverGroup/configure/wizard/pages/GceServerGroupLoadBalancers.spec.tsx +643 -0
  199. package/src/serverGroup/configure/wizard/pages/GceServerGroupLoadBalancers.tsx +851 -0
  200. package/src/serverGroup/configure/wizard/pages/Policies.spec.tsx +317 -0
  201. package/src/serverGroup/configure/wizard/pages/Policies.tsx +293 -0
  202. package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.spec.tsx +418 -0
  203. package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.tsx +247 -0
  204. package/src/serverGroup/configure/wizard/pages/ServerGroupCapacity.spec.tsx +659 -0
  205. package/src/serverGroup/configure/wizard/pages/ServerGroupCapacity.tsx +470 -0
  206. package/src/serverGroup/configure/wizard/pages/ServerGroupImageSettings.spec.tsx +146 -0
  207. package/src/serverGroup/configure/wizard/pages/ServerGroupImageSettings.tsx +163 -0
  208. package/src/serverGroup/configure/wizard/pages/ServerGroupInstanceType.spec.tsx +536 -0
  209. package/src/serverGroup/configure/wizard/pages/ServerGroupInstanceType.tsx +728 -0
  210. package/src/serverGroup/configure/wizard/pages/index.ts +8 -0
  211. package/src/serverGroup/configure/wizard/securityGroups/tagManager.service.js +186 -182
  212. package/src/serverGroup/configure/wizard/zones/GceInstanceFlexibilityConfigurer.spec.tsx +390 -0
  213. package/src/serverGroup/configure/wizard/zones/GceInstanceFlexibilityConfigurer.tsx +310 -0
  214. package/src/serverGroup/details/GceInstanceFlexibilityPolicyDetails.spec.tsx +32 -0
  215. package/src/serverGroup/details/GceInstanceFlexibilityPolicyDetails.tsx +36 -0
  216. package/src/serverGroup/details/autoHealingPolicy/GceAutoHealingPolicyDetails.spec.tsx +192 -0
  217. package/src/serverGroup/details/autoHealingPolicy/GceAutoHealingPolicyDetails.tsx +83 -0
  218. package/src/serverGroup/details/autoHealingPolicy/index.ts +2 -0
  219. package/src/serverGroup/details/autoHealingPolicy/modal/GceUpsertAutoHealingPolicyModal.spec.tsx +94 -0
  220. package/src/serverGroup/details/autoHealingPolicy/modal/GceUpsertAutoHealingPolicyModal.tsx +102 -0
  221. package/src/serverGroup/details/autoscalingPolicy/GceAutoscalingPolicyDetails.spec.tsx +200 -0
  222. package/src/serverGroup/details/autoscalingPolicy/GceAutoscalingPolicyDetails.tsx +153 -0
  223. package/src/serverGroup/details/autoscalingPolicy/index.ts +2 -0
  224. package/src/serverGroup/details/autoscalingPolicy/modal/GceUpsertAutoscalingPolicyModal.spec.tsx +227 -0
  225. package/src/serverGroup/details/autoscalingPolicy/modal/GceUpsertAutoscalingPolicyModal.tsx +196 -0
  226. package/src/serverGroup/details/gceServerGroupDetails.spec.tsx +290 -0
  227. package/src/serverGroup/details/gceServerGroupDetails.tsx +372 -0
  228. package/src/serverGroup/details/resize/GceResizeServerGroupModal.spec.tsx +390 -0
  229. package/src/serverGroup/details/resize/GceResizeServerGroupModal.tsx +346 -0
  230. package/src/serverGroup/details/rollback/GceRollbackServerGroupModal.spec.tsx +168 -0
  231. package/src/serverGroup/details/rollback/GceRollbackServerGroupModal.tsx +196 -0
  232. package/src/serverGroup/details/stateful/UpdateBootImageButton.tsx +1 -1
  233. package/src/serverGroup/serverGroup.transformer.js +73 -54
  234. package/src/serverGroup/serverGroup.transformer.spec.js +90 -15
  235. package/src/subnet/subnet.renderer.js +10 -15
  236. package/src/validation/ApplicationNameValidator.spec.ts +47 -0
  237. package/src/validation/ApplicationNameValidator.ts +89 -0
  238. package/dist/address/address.reader.d.ts +0 -15
  239. package/dist/autoscalingPolicy/autoscalingPolicy.write.service.d.ts +0 -2
  240. package/dist/autoscalingPolicy/components/basicSettings/basicSettings.component.d.ts +0 -2
  241. package/dist/autoscalingPolicy/components/metricSettings/GcePredictiveAutoscaling.d.ts +0 -1
  242. package/dist/autoscalingPolicy/components/metricSettings/metricSettings.component.d.ts +0 -2
  243. package/dist/autoscalingPolicy/components/scalingSchedules/scalingSchedules.component.d.ts +0 -2
  244. package/dist/autoscalingPolicy/components/scalingSchedules/timeZoneSelect.d.ts +0 -13
  245. package/dist/backendService/backendService.reader.d.ts +0 -2
  246. package/dist/cache/cacheRefresh.component.d.ts +0 -1
  247. package/dist/common/footer.directive.d.ts +0 -2
  248. package/dist/gceNetworkSelectField.directive.d.ts +0 -2
  249. package/dist/gceRegionSelectField.directive.d.ts +0 -2
  250. package/dist/instance/custom/customInstance.filter.d.ts +0 -2
  251. package/dist/instance/details/instance.details.controller.d.ts +0 -2
  252. package/dist/interceptors/iap.interceptor.d.ts +0 -8
  253. package/dist/loadBalancer/configure/choice/gceLoadBalancerChoice.modal.d.ts +0 -1
  254. package/dist/loadBalancer/configure/choice/gceLoadBalancerPipelineModal.d.ts +0 -9
  255. package/dist/loadBalancer/configure/choice/loadBalancerTypeToWizardMap.constant.d.ts +0 -10
  256. package/dist/loadBalancer/configure/common/addressSelector.component.d.ts +0 -1
  257. package/dist/loadBalancer/configure/common/commonLoadBalancer.controller.d.ts +0 -17
  258. package/dist/loadBalancer/configure/common/commonLoadBalancerCommandBuilder.service.d.ts +0 -23
  259. package/dist/loadBalancer/configure/common/healthCheck.component.d.ts +0 -1
  260. package/dist/loadBalancer/configure/http/backendService/backendService.component.d.ts +0 -2
  261. package/dist/loadBalancer/configure/http/basicSettings/basicSettings.component.d.ts +0 -2
  262. package/dist/loadBalancer/configure/http/commandBuilder.service.d.ts +0 -2
  263. package/dist/loadBalancer/configure/http/createHttpLoadBalancer.controller.d.ts +0 -2
  264. package/dist/loadBalancer/configure/http/healthCheck/healthCheck.component.d.ts +0 -2
  265. package/dist/loadBalancer/configure/http/hostRule/hostRule.component.d.ts +0 -2
  266. package/dist/loadBalancer/configure/http/httpLoadBalancer.write.service.d.ts +0 -2
  267. package/dist/loadBalancer/configure/http/listeners/listener.component.d.ts +0 -2
  268. package/dist/loadBalancer/configure/http/pathRule/pathRule.component.d.ts +0 -2
  269. package/dist/loadBalancer/configure/http/transformer.service.d.ts +0 -2
  270. package/dist/loadBalancer/configure/internal/gceCreateInternalLoadBalancer.controller.d.ts +0 -1
  271. package/dist/loadBalancer/configure/internalhttp/createInternalHttpLoadBalancer.controller.d.ts +0 -3
  272. package/dist/loadBalancer/configure/network/createLoadBalancer.controller.d.ts +0 -2
  273. package/dist/loadBalancer/configure/ssl/gceCreateSslLoadBalancer.controller.d.ts +0 -1
  274. package/dist/loadBalancer/configure/tcp/gceCreateTcpLoadBalancer.controller.d.ts +0 -1
  275. package/dist/loadBalancer/details/backendService/backendService.component.d.ts +0 -1
  276. package/dist/loadBalancer/details/backendService/sessionAffinity.filter.d.ts +0 -1
  277. package/dist/loadBalancer/details/deleteModal/deleteModal.controller.d.ts +0 -1
  278. package/dist/loadBalancer/details/healthCheck/healthCheck.component.d.ts +0 -2
  279. package/dist/loadBalancer/details/hostAndPathRules/hostAndPathRules.controller.d.ts +0 -2
  280. package/dist/loadBalancer/details/hostAndPathRules/hostAndPathRules.service.d.ts +0 -2
  281. package/dist/loadBalancer/details/hostAndPathRules/hostAndPathRulesButton.component.d.ts +0 -2
  282. package/dist/loadBalancer/details/loadBalancerDetail.controller.d.ts +0 -2
  283. package/dist/loadBalancer/details/loadBalancerType/loadBalancerType.component.d.ts +0 -2
  284. package/dist/pipeline/stages/bake/bakeExecutionDetails.controller.d.ts +0 -2
  285. package/dist/securityGroup/clone/cloneSecurityGroup.controller.d.ts +0 -2
  286. package/dist/securityGroup/configure/ConfigSecurityGroupMixin.controller.d.ts +0 -2
  287. package/dist/securityGroup/configure/createSecurityGroup.controller.d.ts +0 -2
  288. package/dist/securityGroup/configure/editSecurityGroup.controller.d.ts +0 -2
  289. package/dist/securityGroup/details/securityGroupDetail.controller.d.ts +0 -2
  290. package/dist/securityGroup/securityGroupHelpText.service.d.ts +0 -13
  291. package/dist/serverGroup/configure/serverGroup.configure.gce.module.d.ts +0 -2
  292. package/dist/serverGroup/configure/wizard/advancedSettings/GceAcceleratorConfigurer.d.ts +0 -16
  293. package/dist/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.d.ts +0 -2
  294. package/dist/serverGroup/configure/wizard/advancedSettings/diskConfigurer.component.d.ts +0 -1
  295. package/dist/serverGroup/configure/wizard/autoHealingPolicy/autoHealingPolicySelector.component.d.ts +0 -1
  296. package/dist/serverGroup/configure/wizard/autoScalingPolicy/autoScalingPolicySelector.component.d.ts +0 -1
  297. package/dist/serverGroup/configure/wizard/capacity/advancedCapacitySelector.component.d.ts +0 -2
  298. package/dist/serverGroup/configure/wizard/capacity/simpleCapacitySelector.component.d.ts +0 -2
  299. package/dist/serverGroup/configure/wizard/cloneServerGroup.gce.controller.d.ts +0 -2
  300. package/dist/serverGroup/configure/wizard/customInstance/customInstanceConfigurer.component.d.ts +0 -1
  301. package/dist/serverGroup/configure/wizard/loadBalancers/elSevenOptions/backendServiceSelector.component.d.ts +0 -2
  302. package/dist/serverGroup/configure/wizard/loadBalancers/elSevenOptions/elSevenOptionsGenerator.component.d.ts +0 -2
  303. package/dist/serverGroup/configure/wizard/loadBalancers/loadBalancerSelector.directive.d.ts +0 -2
  304. package/dist/serverGroup/configure/wizard/loadBalancingPolicy/loadBalancingPolicySelector.component.d.ts +0 -2
  305. package/dist/serverGroup/configure/wizard/location/basicSettings.controller.d.ts +0 -2
  306. package/dist/serverGroup/configure/wizard/securityGroups/securityGroupSelector.directive.d.ts +0 -2
  307. package/dist/serverGroup/configure/wizard/securityGroups/securityGroupsRemoved.directive.d.ts +0 -2
  308. package/dist/serverGroup/configure/wizard/securityGroups/tagSelector.component.d.ts +0 -2
  309. package/dist/serverGroup/configure/wizard/securityGroups/tagSelectorGenerator.component.d.ts +0 -2
  310. package/dist/serverGroup/configure/wizard/zones/regionalSelector.directive.d.ts +0 -2
  311. package/dist/serverGroup/configure/wizard/zones/targetShapeSelector.directive.d.ts +0 -1
  312. package/dist/serverGroup/configure/wizard/zones/zoneSelector.directive.d.ts +0 -2
  313. package/dist/serverGroup/details/ServerGroupDiskDescriptions.d.ts +0 -1
  314. package/dist/serverGroup/details/autoHealingPolicy/addAutoHealingPolicyButton.component.d.ts +0 -1
  315. package/dist/serverGroup/details/autoHealingPolicy/autoHealingPolicy.component.d.ts +0 -1
  316. package/dist/serverGroup/details/autoHealingPolicy/modal/upsertAutoHealingPolicy.modal.controller.d.ts +0 -2
  317. package/dist/serverGroup/details/autoscalingPolicy/addAutoscalingPolicyButton.component.d.ts +0 -2
  318. package/dist/serverGroup/details/autoscalingPolicy/autoscalingPolicy.directive.d.ts +0 -2
  319. package/dist/serverGroup/details/autoscalingPolicy/modal/GceScaleInControls.d.ts +0 -1
  320. package/dist/serverGroup/details/autoscalingPolicy/modal/upsertAutoscalingPolicy.modal.controller.d.ts +0 -2
  321. package/dist/serverGroup/details/resize/resizeAutoscalingPolicy.component.d.ts +0 -2
  322. package/dist/serverGroup/details/resize/resizeCapacity.component.d.ts +0 -2
  323. package/dist/serverGroup/details/resize/resizeServerGroup.controller.d.ts +0 -2
  324. package/dist/serverGroup/details/rollback/rollbackServerGroup.controller.d.ts +0 -2
  325. package/dist/serverGroup/details/serverGroup.details.gce.module.d.ts +0 -2
  326. package/dist/serverGroup/details/serverGroupDetails.gce.controller.d.ts +0 -2
  327. package/dist/subnet/subnetSelectField.directive.d.ts +0 -2
  328. package/dist/validation/applicationName.validator.d.ts +0 -2
  329. package/src/address/address.reader.ts +0 -61
  330. package/src/applicationProviderFields/gceFields.html +0 -13
  331. package/src/autoscalingPolicy/autoscalingPolicy.write.service.js +0 -83
  332. package/src/autoscalingPolicy/components/basicSettings/basicSettings.component.html +0 -71
  333. package/src/autoscalingPolicy/components/basicSettings/basicSettings.component.js +0 -20
  334. package/src/autoscalingPolicy/components/metricSettings/GcePredictiveAutoscaling.tsx +0 -54
  335. package/src/autoscalingPolicy/components/metricSettings/metricSettings.component.html +0 -208
  336. package/src/autoscalingPolicy/components/metricSettings/metricSettings.component.js +0 -108
  337. package/src/autoscalingPolicy/components/scalingSchedules/scalingSchedules.component.html +0 -84
  338. package/src/autoscalingPolicy/components/scalingSchedules/scalingSchedules.component.js +0 -61
  339. package/src/autoscalingPolicy/components/scalingSchedules/timeZoneSelect.tsx +0 -63
  340. package/src/backendService/backendService.reader.js +0 -28
  341. package/src/cache/cacheRefresh.component.html +0 -17
  342. package/src/cache/cacheRefresh.component.ts +0 -53
  343. package/src/cache/cacheRefreshTooltip.html +0 -3
  344. package/src/common/footer.directive.html +0 -7
  345. package/src/common/footer.directive.js +0 -22
  346. package/src/gceNetworkSelectField.directive.js +0 -22
  347. package/src/gceRegionSelectField.directive.js +0 -22
  348. package/src/instance/custom/customInstance.filter.js +0 -26
  349. package/src/instance/details/instance.details.controller.js +0 -518
  350. package/src/instance/details/instance.details.controller.spec.js +0 -27
  351. package/src/instance/details/instanceDetails.html +0 -248
  352. package/src/instance/gceInstanceType.service.spec.js +0 -19
  353. package/src/interceptors/iap.interceptor.ts +0 -36
  354. package/src/loadBalancer/configure/choice/gceLoadBalancerChoice.modal.html +0 -33
  355. package/src/loadBalancer/configure/choice/gceLoadBalancerChoice.modal.spec.js +0 -66
  356. package/src/loadBalancer/configure/choice/gceLoadBalancerChoice.modal.ts +0 -64
  357. package/src/loadBalancer/configure/choice/gceLoadBalancerPipelineModal.ts +0 -47
  358. package/src/loadBalancer/configure/choice/loadBalancerTypeToWizardMap.constant.ts +0 -58
  359. package/src/loadBalancer/configure/common/addressSelector.component.ts +0 -47
  360. package/src/loadBalancer/configure/common/commonAdvancedSettingsPage.html +0 -32
  361. package/src/loadBalancer/configure/common/commonCreateLoadBalancer.html +0 -41
  362. package/src/loadBalancer/configure/common/commonEditLoadBalancer.html +0 -38
  363. package/src/loadBalancer/configure/common/commonHealthCheckPage.html +0 -16
  364. package/src/loadBalancer/configure/common/commonLoadBalancer.controller.ts +0 -56
  365. package/src/loadBalancer/configure/common/commonLoadBalancerCommandBuilder.service.ts +0 -87
  366. package/src/loadBalancer/configure/common/healthCheck.component.html +0 -179
  367. package/src/loadBalancer/configure/common/healthCheck.component.ts +0 -82
  368. package/src/loadBalancer/configure/gceL4LoadBalancerPipeline.spec.js +0 -143
  369. package/src/loadBalancer/configure/http/backendService/backendService.component.html +0 -157
  370. package/src/loadBalancer/configure/http/backendService/backendService.component.js +0 -80
  371. package/src/loadBalancer/configure/http/backendService/backendServices.html +0 -57
  372. package/src/loadBalancer/configure/http/basicSettings/basicSettings.component.html +0 -105
  373. package/src/loadBalancer/configure/http/basicSettings/basicSettings.component.js +0 -46
  374. package/src/loadBalancer/configure/http/basicSettings/basicSettings.html +0 -6
  375. package/src/loadBalancer/configure/http/commandBuilder.service.js +0 -404
  376. package/src/loadBalancer/configure/http/createHttpLoadBalancer.controller.js +0 -184
  377. package/src/loadBalancer/configure/http/createHttpLoadBalancer.controller.spec.js +0 -96
  378. package/src/loadBalancer/configure/http/createHttpLoadBalancer.html +0 -39
  379. package/src/loadBalancer/configure/http/defaultService/defaultService.html +0 -24
  380. package/src/loadBalancer/configure/http/editHttpLoadBalancer.html +0 -36
  381. package/src/loadBalancer/configure/http/healthCheck/healthCheck.component.html +0 -180
  382. package/src/loadBalancer/configure/http/healthCheck/healthCheck.component.js +0 -69
  383. package/src/loadBalancer/configure/http/healthCheck/healthChecks.html +0 -55
  384. package/src/loadBalancer/configure/http/hostRule/hostRule.component.html +0 -60
  385. package/src/loadBalancer/configure/http/hostRule/hostRule.component.js +0 -35
  386. package/src/loadBalancer/configure/http/hostRule/hostRules.html +0 -16
  387. package/src/loadBalancer/configure/http/httpLoadBalancer.write.service.js +0 -56
  388. package/src/loadBalancer/configure/http/listeners/listener.component.html +0 -245
  389. package/src/loadBalancer/configure/http/listeners/listener.component.js +0 -164
  390. package/src/loadBalancer/configure/http/listeners/listener.component.spec.js +0 -125
  391. package/src/loadBalancer/configure/http/listeners/listeners.html +0 -17
  392. package/src/loadBalancer/configure/http/pathRule/pathRule.component.html +0 -51
  393. package/src/loadBalancer/configure/http/pathRule/pathRule.component.js +0 -16
  394. package/src/loadBalancer/configure/http/transformer.service.js +0 -191
  395. package/src/loadBalancer/configure/http/transformer.service.spec.js +0 -182
  396. package/src/loadBalancer/configure/internal/createLoadBalancerProperties.html +0 -98
  397. package/src/loadBalancer/configure/internal/gceCreateInternalLoadBalancer.controller.ts +0 -284
  398. package/src/loadBalancer/configure/internal/listener.html +0 -41
  399. package/src/loadBalancer/configure/internalhttp/createInternalHttpLoadBalancer.controller.spec.js +0 -89
  400. package/src/loadBalancer/configure/internalhttp/createInternalHttpLoadBalancer.controller.ts +0 -196
  401. package/src/loadBalancer/configure/network/advancedSettings.html +0 -54
  402. package/src/loadBalancer/configure/network/createLoadBalancer.controller.js +0 -240
  403. package/src/loadBalancer/configure/network/createLoadBalancer.controller.spec.js +0 -118
  404. package/src/loadBalancer/configure/network/createLoadBalancer.html +0 -25
  405. package/src/loadBalancer/configure/network/createLoadBalancerProperties.html +0 -86
  406. package/src/loadBalancer/configure/network/editLoadBalancer.html +0 -29
  407. package/src/loadBalancer/configure/network/healthCheck.html +0 -36
  408. package/src/loadBalancer/configure/network/listeners.html +0 -55
  409. package/src/loadBalancer/configure/ssl/backendService.html +0 -31
  410. package/src/loadBalancer/configure/ssl/createLoadBalancerProperties.html +0 -86
  411. package/src/loadBalancer/configure/ssl/gceCreateSslLoadBalancer.controller.ts +0 -244
  412. package/src/loadBalancer/configure/ssl/listener.html +0 -43
  413. package/src/loadBalancer/configure/tcp/backendService.html +0 -31
  414. package/src/loadBalancer/configure/tcp/createLoadBalancerProperties.html +0 -86
  415. package/src/loadBalancer/configure/tcp/gceCreateTcpLoadBalancer.controller.ts +0 -234
  416. package/src/loadBalancer/configure/tcp/listener.html +0 -15
  417. package/src/loadBalancer/details/backendService/backendService.component.ts +0 -23
  418. package/src/loadBalancer/details/backendService/sessionAffinity.filter.ts +0 -11
  419. package/src/loadBalancer/details/deleteModal/deleteModal.controller.ts +0 -105
  420. package/src/loadBalancer/details/deleteModal/deleteModal.html +0 -31
  421. package/src/loadBalancer/details/healthCheck/healthCheck.component.html +0 -14
  422. package/src/loadBalancer/details/healthCheck/healthCheck.component.js +0 -13
  423. package/src/loadBalancer/details/hostAndPathRules/hostAndPathRules.controller.js +0 -23
  424. package/src/loadBalancer/details/hostAndPathRules/hostAndPathRules.modal.html +0 -40
  425. package/src/loadBalancer/details/hostAndPathRules/hostAndPathRules.service.js +0 -41
  426. package/src/loadBalancer/details/hostAndPathRules/hostAndPathRulesButton.component.js +0 -39
  427. package/src/loadBalancer/details/loadBalancerDetail.controller.js +0 -260
  428. package/src/loadBalancer/details/loadBalancerDetail.controller.spec.js +0 -41
  429. package/src/loadBalancer/details/loadBalancerDetails.html +0 -202
  430. package/src/loadBalancer/details/loadBalancerType/loadBalancerType.component.js +0 -31
  431. package/src/loadBalancer/details/loadBalancerType/loadBalancerType.component.spec.js +0 -85
  432. package/src/networkSelectField.directive.html +0 -14
  433. package/src/pipeline/stages/bake/bakeExecutionDetails.controller.js +0 -40
  434. package/src/pipeline/stages/bake/bakeExecutionDetails.html +0 -60
  435. package/src/pipeline/stages/bake/bakeStage.html +0 -117
  436. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStage.html +0 -99
  437. package/src/pipeline/stages/cloneServerGroup/cloneServerGroupStepLabel.html +0 -1
  438. package/src/pipeline/stages/destroyAsg/destroyAsgStage.html +0 -9
  439. package/src/pipeline/stages/destroyAsg/destroyAsgStepLabel.html +0 -1
  440. package/src/pipeline/stages/disableAsg/disableAsgStage.html +0 -11
  441. package/src/pipeline/stages/disableAsg/disableAsgStepLabel.html +0 -1
  442. package/src/pipeline/stages/disableCluster/disableClusterStage.html +0 -26
  443. package/src/pipeline/stages/enableAsg/enableAsgStage.html +0 -11
  444. package/src/pipeline/stages/enableAsg/enableAsgStepLabel.html +0 -1
  445. package/src/pipeline/stages/findAmi/findAmiStage.html +0 -20
  446. package/src/pipeline/stages/findImageFromTags/findImageFromTagsExecutionDetails.html +0 -40
  447. package/src/pipeline/stages/findImageFromTags/findImageFromTagsStage.html +0 -8
  448. package/src/pipeline/stages/resizeAsg/resizeAsgStage.html +0 -97
  449. package/src/pipeline/stages/resizeAsg/resizeAsgStepLabel.html +0 -1
  450. package/src/pipeline/stages/scaleDownCluster/scaleDownClusterStage.html +0 -35
  451. package/src/pipeline/stages/shrinkCluster/shrinkClusterStage.html +0 -34
  452. package/src/pipeline/stages/tagImage/tagImageExecutionDetails.html +0 -39
  453. package/src/pipeline/stages/tagImage/tagImageStage.html +0 -14
  454. package/src/regionSelectField.directive.html +0 -18
  455. package/src/securityGroup/clone/cloneSecurityGroup.controller.js +0 -85
  456. package/src/securityGroup/clone/cloneSecurityGroup.html +0 -25
  457. package/src/securityGroup/configure/ConfigSecurityGroupMixin.controller.js +0 -318
  458. package/src/securityGroup/configure/createSecurityGroup.controller.js +0 -62
  459. package/src/securityGroup/configure/createSecurityGroup.html +0 -25
  460. package/src/securityGroup/configure/createSecurityGroupIngress.html +0 -81
  461. package/src/securityGroup/configure/createSecurityGroupProperties.html +0 -70
  462. package/src/securityGroup/configure/createSecurityGroupSourceFilters.html +0 -56
  463. package/src/securityGroup/configure/createSecurityGroupTargets.html +0 -43
  464. package/src/securityGroup/configure/editSecurityGroup.controller.js +0 -132
  465. package/src/securityGroup/configure/editSecurityGroup.html +0 -26
  466. package/src/securityGroup/details/securityGroupDetail.controller.js +0 -258
  467. package/src/securityGroup/details/securityGroupDetail.html +0 -171
  468. package/src/securityGroup/securityGroupHelpText.service.spec.ts +0 -102
  469. package/src/securityGroup/securityGroupHelpText.service.ts +0 -83
  470. package/src/serverGroup/configure/serverGroup.configure.gce.module.js +0 -59
  471. package/src/serverGroup/configure/wizard/advancedSettings/GceAcceleratorConfigurer.tsx +0 -222
  472. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettings.directive.html +0 -277
  473. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettings.html +0 -9
  474. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.js +0 -71
  475. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.spec.js +0 -58
  476. package/src/serverGroup/configure/wizard/advancedSettings/diskConfigurer.component.ts +0 -199
  477. package/src/serverGroup/configure/wizard/autoHealingPolicy/autoHealingPolicy.html +0 -20
  478. package/src/serverGroup/configure/wizard/autoHealingPolicy/autoHealingPolicySelector.component.html +0 -90
  479. package/src/serverGroup/configure/wizard/autoHealingPolicy/autoHealingPolicySelector.component.ts +0 -70
  480. package/src/serverGroup/configure/wizard/autoScalingPolicy/autoScalingPolicy.html +0 -20
  481. package/src/serverGroup/configure/wizard/autoScalingPolicy/autoScalingPolicySelector.component.html +0 -21
  482. package/src/serverGroup/configure/wizard/autoScalingPolicy/autoScalingPolicySelector.component.js +0 -44
  483. package/src/serverGroup/configure/wizard/capacity/advancedCapacitySelector.component.html +0 -42
  484. package/src/serverGroup/configure/wizard/capacity/advancedCapacitySelector.component.js +0 -16
  485. package/src/serverGroup/configure/wizard/capacity/capacity.html +0 -16
  486. package/src/serverGroup/configure/wizard/capacity/simpleCapacitySelector.component.html +0 -14
  487. package/src/serverGroup/configure/wizard/capacity/simpleCapacitySelector.component.js +0 -22
  488. package/src/serverGroup/configure/wizard/capacity/simpleCapacitySelector.component.spec.js +0 -31
  489. package/src/serverGroup/configure/wizard/capacity/zones.html +0 -7
  490. package/src/serverGroup/configure/wizard/cloneServerGroup.gce.controller.js +0 -476
  491. package/src/serverGroup/configure/wizard/customInstance/customInstanceBuilder.html +0 -13
  492. package/src/serverGroup/configure/wizard/customInstance/customInstanceConfigurer.component.ts +0 -21
  493. package/src/serverGroup/configure/wizard/instanceType/instanceType.html +0 -11
  494. package/src/serverGroup/configure/wizard/loadBalancers/elSevenOptions/backendServiceSelector.component.html +0 -21
  495. package/src/serverGroup/configure/wizard/loadBalancers/elSevenOptions/backendServiceSelector.component.js +0 -33
  496. package/src/serverGroup/configure/wizard/loadBalancers/elSevenOptions/elSevenOptionsGenerator.component.js +0 -42
  497. package/src/serverGroup/configure/wizard/loadBalancers/loadBalancerSelector.directive.html +0 -53
  498. package/src/serverGroup/configure/wizard/loadBalancers/loadBalancerSelector.directive.js +0 -55
  499. package/src/serverGroup/configure/wizard/loadBalancers/loadBalancers.html +0 -5
  500. package/src/serverGroup/configure/wizard/loadBalancingPolicy/loadBalancingPolicySelector.component.html +0 -182
  501. package/src/serverGroup/configure/wizard/loadBalancingPolicy/loadBalancingPolicySelector.component.less +0 -11
  502. package/src/serverGroup/configure/wizard/loadBalancingPolicy/loadBalancingPolicySelector.component.ts +0 -153
  503. package/src/serverGroup/configure/wizard/location/basicSettings.controller.js +0 -139
  504. package/src/serverGroup/configure/wizard/location/basicSettings.html +0 -167
  505. package/src/serverGroup/configure/wizard/securityGroups/securityGroupSelector.directive.html +0 -66
  506. package/src/serverGroup/configure/wizard/securityGroups/securityGroupSelector.directive.js +0 -48
  507. package/src/serverGroup/configure/wizard/securityGroups/securityGroups.html +0 -4
  508. package/src/serverGroup/configure/wizard/securityGroups/securityGroupsRemoved.directive.html +0 -14
  509. package/src/serverGroup/configure/wizard/securityGroups/securityGroupsRemoved.directive.js +0 -25
  510. package/src/serverGroup/configure/wizard/securityGroups/tagSelector.component.html +0 -26
  511. package/src/serverGroup/configure/wizard/securityGroups/tagSelector.component.js +0 -31
  512. package/src/serverGroup/configure/wizard/securityGroups/tagSelectorGenerator.component.js +0 -44
  513. package/src/serverGroup/configure/wizard/serverGroupWizard.html +0 -52
  514. package/src/serverGroup/configure/wizard/templateSelection/templateSelection.html +0 -9
  515. package/src/serverGroup/configure/wizard/zones/regionalSelector.directive.html +0 -13
  516. package/src/serverGroup/configure/wizard/zones/regionalSelector.directive.js +0 -21
  517. package/src/serverGroup/configure/wizard/zones/targetShapeSelector.directive.html +0 -13
  518. package/src/serverGroup/configure/wizard/zones/targetShapeSelector.directive.ts +0 -20
  519. package/src/serverGroup/configure/wizard/zones/zoneSelector.directive.html +0 -24
  520. package/src/serverGroup/configure/wizard/zones/zoneSelector.directive.js +0 -21
  521. package/src/serverGroup/details/ServerGroupDiskDescriptions.tsx +0 -97
  522. package/src/serverGroup/details/autoHealingPolicy/addAutoHealingPolicyButton.component.ts +0 -38
  523. package/src/serverGroup/details/autoHealingPolicy/autoHealingPolicy.component.ts +0 -73
  524. package/src/serverGroup/details/autoHealingPolicy/modal/upsertAutoHealingPolicy.modal.controller.ts +0 -88
  525. package/src/serverGroup/details/autoHealingPolicy/modal/upsertAutoHealingPolicy.modal.html +0 -29
  526. package/src/serverGroup/details/autoscalingPolicy/addAutoscalingPolicyButton.component.js +0 -38
  527. package/src/serverGroup/details/autoscalingPolicy/autoscalingPolicy.directive.html +0 -49
  528. package/src/serverGroup/details/autoscalingPolicy/autoscalingPolicy.directive.js +0 -138
  529. package/src/serverGroup/details/autoscalingPolicy/modal/GceScaleInControls.tsx +0 -137
  530. package/src/serverGroup/details/autoscalingPolicy/modal/upsertAutoscalingPolicy.modal.controller.js +0 -56
  531. package/src/serverGroup/details/autoscalingPolicy/modal/upsertAutoscalingPolicy.modal.html +0 -38
  532. package/src/serverGroup/details/resize/resizeAutoscalingPolicy.component.html +0 -55
  533. package/src/serverGroup/details/resize/resizeAutoscalingPolicy.component.js +0 -60
  534. package/src/serverGroup/details/resize/resizeCapacity.component.html +0 -36
  535. package/src/serverGroup/details/resize/resizeCapacity.component.js +0 -46
  536. package/src/serverGroup/details/resize/resizeServerGroup.controller.js +0 -64
  537. package/src/serverGroup/details/resize/resizeServerGroup.controller.spec.js +0 -119
  538. package/src/serverGroup/details/resize/resizeServerGroup.html +0 -41
  539. package/src/serverGroup/details/rollback/rollbackServerGroup.controller.js +0 -73
  540. package/src/serverGroup/details/rollback/rollbackServerGroup.html +0 -43
  541. package/src/serverGroup/details/serverGroup.details.gce.module.js +0 -17
  542. package/src/serverGroup/details/serverGroupDetails.gce.controller.js +0 -511
  543. package/src/serverGroup/details/serverGroupDetails.gce.controller.spec.js +0 -26
  544. package/src/serverGroup/details/serverGroupDetails.html +0 -359
  545. package/src/serverGroup/details/serverGroupDetails.less +0 -3
  546. package/src/subnet/subnetSelectField.directive.html +0 -21
  547. package/src/subnet/subnetSelectField.directive.js +0 -24
  548. package/src/validation/applicationName.validator.js +0 -114
@@ -0,0 +1,200 @@
1
+ import React from 'react';
2
+ import { shallow } from 'enzyme';
3
+
4
+ import { ConfirmationModalService } from '@spinnaker/core';
5
+
6
+ import { GceAutoscalingPolicyWriter } from '../../../autoscalingPolicy';
7
+ import { GceAutoscalingPolicyDetails } from './GceAutoscalingPolicyDetails';
8
+ import { GceUpsertAutoscalingPolicyModal } from './modal/GceUpsertAutoscalingPolicyModal';
9
+
10
+ describe('GceAutoscalingPolicyDetails', () => {
11
+ const application = { name: 'my-app' } as any;
12
+ const serverGroup = { account: 'my-account', name: 'my-app-main-v001', region: 'us-central1' } as any;
13
+ const managedServerGroup = {
14
+ ...serverGroup,
15
+ isManaged: true,
16
+ managedResourceSummary: {
17
+ id: 'managed-resource-id',
18
+ isPaused: false,
19
+ locations: { account: 'my-account', regions: [] },
20
+ },
21
+ } as any;
22
+ const policy = {
23
+ minNumReplicas: 0,
24
+ maxNumReplicas: 5,
25
+ coolDownPeriodSec: 60,
26
+ mode: 'ON' as const,
27
+ cpuUtilization: { utilizationTarget: 0 },
28
+ scaleInControl: { maxScaledInReplicas: { percent: 0 }, timeWindowSec: 60 },
29
+ scalingSchedules: [{ scheduleName: 'overnight', enabled: false }],
30
+ };
31
+
32
+ it('summarizes zero-valued metrics, scale-in controls, and schedules', () => {
33
+ const wrapper = shallow(
34
+ <GceAutoscalingPolicyDetails
35
+ application={application}
36
+ mutationsEnabled={true}
37
+ serverGroup={serverGroup}
38
+ policy={policy}
39
+ />,
40
+ );
41
+
42
+ expect(wrapper.text()).toContain('CPU Usage');
43
+ expect(wrapper.text()).toContain('0%');
44
+ expect(wrapper.text()).toContain('Max Scaled-in Replicas');
45
+ expect(wrapper.text()).toContain('overnight (disabled)');
46
+ });
47
+
48
+ it('opens edit after managed-resource confirmation proceeds', async () => {
49
+ const show = spyOn(GceUpsertAutoscalingPolicyModal, 'show');
50
+ const confirm = spyOn(ConfirmationModalService, 'confirm').and.returnValue(Promise.resolve() as any);
51
+ const wrapper = shallow(
52
+ <GceAutoscalingPolicyDetails
53
+ application={application}
54
+ mutationsEnabled={true}
55
+ serverGroup={managedServerGroup}
56
+ policy={policy}
57
+ />,
58
+ );
59
+
60
+ wrapper.find('[data-testid="edit-autoscaling-policy"]').simulate('click');
61
+ expect(show).not.toHaveBeenCalled();
62
+ await Promise.resolve();
63
+ await Promise.resolve();
64
+
65
+ expect(confirm).toHaveBeenCalledWith(jasmine.objectContaining({ header: 'Pause Management?' }));
66
+ expect(show).toHaveBeenCalledWith({ application, serverGroup: managedServerGroup, policy });
67
+ });
68
+
69
+ it('does not open edit when managed-resource confirmation is cancelled', async () => {
70
+ const show = spyOn(GceUpsertAutoscalingPolicyModal, 'show');
71
+ spyOn(ConfirmationModalService, 'confirm').and.returnValue(Promise.reject() as any);
72
+ const wrapper = shallow(
73
+ <GceAutoscalingPolicyDetails
74
+ application={application}
75
+ mutationsEnabled={true}
76
+ serverGroup={managedServerGroup}
77
+ policy={policy}
78
+ />,
79
+ );
80
+
81
+ wrapper.find('[data-testid="edit-autoscaling-policy"]').simulate('click');
82
+ await Promise.resolve();
83
+ await Promise.resolve();
84
+
85
+ expect(show).not.toHaveBeenCalled();
86
+ });
87
+
88
+ it('opens add after managed-resource confirmation proceeds', async () => {
89
+ const show = spyOn(GceUpsertAutoscalingPolicyModal, 'show');
90
+ const confirm = spyOn(ConfirmationModalService, 'confirm').and.returnValue(Promise.resolve() as any);
91
+ const wrapper = shallow(
92
+ <GceAutoscalingPolicyDetails
93
+ application={application}
94
+ mutationsEnabled={true}
95
+ serverGroup={managedServerGroup}
96
+ policy={undefined as any}
97
+ />,
98
+ );
99
+
100
+ wrapper.find('[data-testid="add-autoscaling-policy"]').simulate('click');
101
+ expect(show).not.toHaveBeenCalled();
102
+ await Promise.resolve();
103
+ await Promise.resolve();
104
+
105
+ expect(confirm).toHaveBeenCalledWith(jasmine.objectContaining({ header: 'Pause Management?' }));
106
+ expect(show).toHaveBeenCalledWith({ application, serverGroup: managedServerGroup });
107
+ });
108
+
109
+ it('does not open add when managed-resource confirmation is cancelled', async () => {
110
+ const show = spyOn(GceUpsertAutoscalingPolicyModal, 'show');
111
+ spyOn(ConfirmationModalService, 'confirm').and.returnValue(Promise.reject() as any);
112
+ const wrapper = shallow(
113
+ <GceAutoscalingPolicyDetails
114
+ application={application}
115
+ mutationsEnabled={true}
116
+ serverGroup={managedServerGroup}
117
+ policy={undefined as any}
118
+ />,
119
+ );
120
+
121
+ wrapper.find('[data-testid="add-autoscaling-policy"]').simulate('click');
122
+ await Promise.resolve();
123
+ await Promise.resolve();
124
+
125
+ expect(show).not.toHaveBeenCalled();
126
+ });
127
+
128
+ it('offers delete confirmation after managed-resource confirmation proceeds', async () => {
129
+ const confirm = spyOn(ConfirmationModalService, 'confirm').and.returnValues(
130
+ Promise.resolve() as any,
131
+ Promise.resolve() as any,
132
+ );
133
+ const deletePolicy = spyOn(GceAutoscalingPolicyWriter, 'deleteAutoscalingPolicy');
134
+ const wrapper = shallow(
135
+ <GceAutoscalingPolicyDetails
136
+ application={application}
137
+ mutationsEnabled={true}
138
+ serverGroup={managedServerGroup}
139
+ policy={policy}
140
+ />,
141
+ );
142
+
143
+ wrapper.find('[data-testid="delete-autoscaling-policy"]').simulate('click');
144
+ await Promise.resolve();
145
+ await Promise.resolve();
146
+
147
+ expect(confirm.calls.count()).toBe(2);
148
+ const deleteConfirmation = confirm.calls.mostRecent().args[0];
149
+ deleteConfirmation.submitMethod();
150
+
151
+ expect(deletePolicy).toHaveBeenCalledWith(application, managedServerGroup);
152
+ });
153
+
154
+ it('does not offer delete confirmation when managed-resource confirmation is cancelled', async () => {
155
+ const cancelledConfirmation = {
156
+ then: (_onProceed: () => void, onCancel: () => void) => Promise.resolve(onCancel()),
157
+ } as any;
158
+ const confirm = spyOn(ConfirmationModalService, 'confirm').and.returnValue(cancelledConfirmation);
159
+ const deletePolicy = spyOn(GceAutoscalingPolicyWriter, 'deleteAutoscalingPolicy');
160
+ const wrapper = shallow(
161
+ <GceAutoscalingPolicyDetails
162
+ application={application}
163
+ mutationsEnabled={true}
164
+ serverGroup={managedServerGroup}
165
+ policy={policy}
166
+ />,
167
+ );
168
+
169
+ wrapper.find('[data-testid="delete-autoscaling-policy"]').simulate('click');
170
+ await Promise.resolve();
171
+ await Promise.resolve();
172
+
173
+ expect(confirm.calls.count()).toBe(1);
174
+ expect(confirm).toHaveBeenCalledWith(jasmine.objectContaining({ header: 'Pause Management?' }));
175
+ expect(deletePolicy).not.toHaveBeenCalled();
176
+ });
177
+
178
+ it('hides all mutation actions when mutations are disabled', () => {
179
+ const details = shallow(
180
+ <GceAutoscalingPolicyDetails
181
+ application={application}
182
+ mutationsEnabled={false}
183
+ serverGroup={serverGroup}
184
+ policy={policy}
185
+ />,
186
+ );
187
+ const emptyDetails = shallow(
188
+ <GceAutoscalingPolicyDetails
189
+ application={application}
190
+ mutationsEnabled={false}
191
+ serverGroup={serverGroup}
192
+ policy={undefined as any}
193
+ />,
194
+ );
195
+
196
+ expect(details.find('[data-testid="edit-autoscaling-policy"]').exists()).toBe(false);
197
+ expect(details.find('[data-testid="delete-autoscaling-policy"]').exists()).toBe(false);
198
+ expect(emptyDetails.isEmptyRender()).toBe(true);
199
+ });
200
+ });
@@ -0,0 +1,153 @@
1
+ import React from 'react';
2
+
3
+ import type { Application, IManagedResource } from '@spinnaker/core';
4
+ import { ConfirmationModalService, confirmNotManaged } from '@spinnaker/core';
5
+
6
+ import type { IGceAutoscalingPolicy, IGcePolicyServerGroup } from '../../../autoscalingPolicy';
7
+ import { GceAutoscalingPolicyWriter } from '../../../autoscalingPolicy';
8
+ import { GCEProviderSettings } from '../../../gce.settings';
9
+ import { GceUpsertAutoscalingPolicyModal } from './modal/GceUpsertAutoscalingPolicyModal';
10
+
11
+ export interface IGceAutoscalingPolicyDetailsProps {
12
+ application: Application;
13
+ mutationsEnabled: boolean;
14
+ serverGroup: IGcePolicyServerGroup & IManagedResource & { autoscalingMessages?: string[] };
15
+ policy?: IGceAutoscalingPolicy;
16
+ }
17
+
18
+ function percentage(value?: number): string {
19
+ return value === undefined ? '-' : `${Math.round(value * 100)}%`;
20
+ }
21
+
22
+ export function GceAutoscalingPolicyDetails({
23
+ application,
24
+ mutationsEnabled,
25
+ serverGroup,
26
+ policy,
27
+ }: IGceAutoscalingPolicyDetailsProps): JSX.Element | null {
28
+ const runIfNotManaged = (action: () => void): void => {
29
+ confirmNotManaged(serverGroup, application).then((notManaged) => notManaged && action());
30
+ };
31
+
32
+ if (!policy) {
33
+ return mutationsEnabled ? (
34
+ <button
35
+ className="btn btn-link"
36
+ data-testid="add-autoscaling-policy"
37
+ type="button"
38
+ onClick={() => runIfNotManaged(() => GceUpsertAutoscalingPolicyModal.show({ application, serverGroup }))}
39
+ >
40
+ Add autoscaling policy
41
+ </button>
42
+ ) : null;
43
+ }
44
+
45
+ const maxScaledInReplicas = policy.scaleInControl?.maxScaledInReplicas;
46
+ const maxScaledIn =
47
+ typeof maxScaledInReplicas?.percent === 'number'
48
+ ? `${maxScaledInReplicas.percent}%`
49
+ : typeof maxScaledInReplicas?.fixed === 'number'
50
+ ? `${maxScaledInReplicas.fixed}`
51
+ : undefined;
52
+
53
+ const deletePolicy = (): void => {
54
+ ConfirmationModalService.confirm({
55
+ header: `Really delete autoscaler for ${serverGroup.name}?`,
56
+ buttonText: 'Delete autoscaler',
57
+ account: serverGroup.account,
58
+ taskMonitorConfig: { application, title: `Deleting autoscaler for ${serverGroup.name}` },
59
+ submitMethod: () => GceAutoscalingPolicyWriter.deleteAutoscalingPolicy(application, serverGroup),
60
+ });
61
+ };
62
+
63
+ return (
64
+ <div className="gce-autoscaling-policy-details">
65
+ <dl className="horizontal-when-filters-collapsed">
66
+ {policy.cpuUtilization && (
67
+ <>
68
+ <dt>Target CPU Usage</dt>
69
+ <dd>CPU Usage: {percentage(policy.cpuUtilization.utilizationTarget)}</dd>
70
+ </>
71
+ )}
72
+ {GCEProviderSettings.feature.predictiveAutoscaling && policy.cpuUtilization?.predictiveMethod !== undefined && (
73
+ <>
74
+ <dt>Predictive Autoscaling</dt>
75
+ <dd>{policy.cpuUtilization.predictiveMethod}</dd>
76
+ </>
77
+ )}
78
+ {policy.loadBalancingUtilization && (
79
+ <>
80
+ <dt>Target HTTP Load Balancing Usage</dt>
81
+ <dd>{percentage(policy.loadBalancingUtilization.utilizationTarget)}</dd>
82
+ </>
83
+ )}
84
+ {(policy.customMetricUtilizations || []).map((metric, index) => (
85
+ <React.Fragment key={`${metric.metric}-${index}`}>
86
+ <dt>Monitoring Metric</dt>
87
+ <dd>
88
+ {metric.metric || '-'}: {metric.utilizationTarget ?? metric.singleInstanceAssignment ?? '-'}
89
+ {metric.utilizationTargetType === 'DELTA_PER_SECOND'
90
+ ? '/sec'
91
+ : metric.utilizationTargetType === 'DELTA_PER_MINUTE'
92
+ ? '/min'
93
+ : ''}
94
+ </dd>
95
+ </React.Fragment>
96
+ ))}
97
+ <dt>Min # VMs</dt>
98
+ <dd>{policy.minNumReplicas ?? '-'}</dd>
99
+ <dt>Max # VMs</dt>
100
+ <dd>{policy.maxNumReplicas ?? '-'}</dd>
101
+ <dt>Cool-down Period</dt>
102
+ <dd>{policy.coolDownPeriodSec ?? '-'} sec</dd>
103
+ <dt>Mode</dt>
104
+ <dd>{policy.mode || '-'}</dd>
105
+ {policy.scaleInControl && (
106
+ <>
107
+ <dt>Max Scaled-in Replicas</dt>
108
+ <dd>{maxScaledIn ?? '-'}</dd>
109
+ <dt>Scale-in Time Window</dt>
110
+ <dd>{policy.scaleInControl.timeWindowSec ?? '-'} seconds</dd>
111
+ </>
112
+ )}
113
+ {(policy.scalingSchedules || []).map((schedule, index) => (
114
+ <React.Fragment key={`${schedule.scheduleName}-${index}`}>
115
+ <dt>Scaling Schedule</dt>
116
+ <dd>
117
+ {schedule.scheduleName || '-'} ({schedule.enabled ? 'enabled' : 'disabled'})
118
+ {schedule.timezone ? `, ${schedule.timezone}` : ''}
119
+ </dd>
120
+ </React.Fragment>
121
+ ))}
122
+ {(serverGroup.autoscalingMessages || []).map((message, index) => (
123
+ <React.Fragment key={index}>
124
+ <dt>Message</dt>
125
+ <dd>{message}</dd>
126
+ </React.Fragment>
127
+ ))}
128
+ </dl>
129
+ {mutationsEnabled && (
130
+ <div className="text-right">
131
+ <button
132
+ className="btn btn-link"
133
+ data-testid="edit-autoscaling-policy"
134
+ type="button"
135
+ onClick={() =>
136
+ runIfNotManaged(() => GceUpsertAutoscalingPolicyModal.show({ application, serverGroup, policy }))
137
+ }
138
+ >
139
+ Edit
140
+ </button>
141
+ <button
142
+ className="btn btn-link"
143
+ data-testid="delete-autoscaling-policy"
144
+ type="button"
145
+ onClick={() => runIfNotManaged(deletePolicy)}
146
+ >
147
+ Delete
148
+ </button>
149
+ </div>
150
+ )}
151
+ </div>
152
+ );
153
+ }
@@ -0,0 +1,2 @@
1
+ export * from './GceAutoscalingPolicyDetails';
2
+ export * from './modal/GceUpsertAutoscalingPolicyModal';
@@ -0,0 +1,227 @@
1
+ import { GceAutoscalingPolicyWriter } from '../../../../autoscalingPolicy';
2
+ import { GcePredictiveMethod } from '../../../../autoscalingPolicy';
3
+ import { GCEProviderSettings } from '../../../../gce.settings';
4
+ import { GceUpsertAutoscalingPolicyModal } from './GceUpsertAutoscalingPolicyModal';
5
+
6
+ describe('GceUpsertAutoscalingPolicyModal', () => {
7
+ const application = { name: 'my-app' } as any;
8
+ const serverGroup = { account: 'my-account', name: 'my-app-main-v001', region: 'us-central1' } as any;
9
+ const validPolicy = {
10
+ minNumReplicas: 0,
11
+ maxNumReplicas: 5,
12
+ coolDownPeriodSec: 60,
13
+ cpuUtilization: { utilizationTarget: 0.5 },
14
+ };
15
+
16
+ function isValid(policy: any): boolean {
17
+ const modal = new GceUpsertAutoscalingPolicyModal({ application, serverGroup, policy } as any);
18
+ modal.state.policy = policy;
19
+ return (modal as any).isValid();
20
+ }
21
+
22
+ async function flush(): Promise<void> {
23
+ await Promise.resolve();
24
+ await Promise.resolve();
25
+ }
26
+
27
+ it('retains edited policy state when task creation is rejected', async () => {
28
+ const rejection = { failureMessage: 'No permission' };
29
+ spyOn(GceAutoscalingPolicyWriter, 'upsertAutoscalingPolicy').and.returnValue(Promise.reject(rejection));
30
+ const modal = new GceUpsertAutoscalingPolicyModal({
31
+ application: { name: 'my-app' },
32
+ serverGroup: { account: 'my-account', name: 'my-app-main-v001', region: 'us-central1' },
33
+ policy: { minNumReplicas: 0, cpuUtilization: { utilizationTarget: 0.5 } },
34
+ closeModal: jasmine.createSpy('closeModal'),
35
+ dismissModal: jasmine.createSpy('dismissModal'),
36
+ } as any);
37
+ const editedPolicy = { minNumReplicas: 0, cpuUtilization: { utilizationTarget: 0 } };
38
+ modal.state.policy = editedPolicy;
39
+
40
+ (modal as any).submit();
41
+ await flush();
42
+
43
+ expect(modal.state.policy).toBe(editedPolicy);
44
+ expect(modal.state.taskMonitor.error).toBe(true);
45
+ });
46
+
47
+ it('does not count empty metric objects as a configured metric', () => {
48
+ expect(
49
+ isValid({
50
+ ...validPolicy,
51
+ cpuUtilization: {},
52
+ loadBalancingUtilization: {},
53
+ customMetricUtilizations: [{}],
54
+ }),
55
+ ).toBe(false);
56
+ });
57
+
58
+ it('requires CPU utilization to be strictly between zero and one', () => {
59
+ expect(isValid({ ...validPolicy, cpuUtilization: { utilizationTarget: 0 } })).toBe(false);
60
+ expect(isValid({ ...validPolicy, cpuUtilization: { utilizationTarget: 1 } })).toBe(false);
61
+ expect(isValid({ ...validPolicy, cpuUtilization: { utilizationTarget: 0.999 } })).toBe(true);
62
+ });
63
+
64
+ it('requires custom utilization targets to be greater than zero', () => {
65
+ const customPolicy = {
66
+ ...validPolicy,
67
+ cpuUtilization: {},
68
+ customMetricUtilizations: [
69
+ {
70
+ metric: 'custom.googleapis.com/queue',
71
+ metricExportScope: 'TIME_SERIES_PER_INSTANCE',
72
+ utilizationTargetType: 'GAUGE',
73
+ },
74
+ ],
75
+ };
76
+
77
+ expect(
78
+ isValid({
79
+ ...customPolicy,
80
+ customMetricUtilizations: [{ ...customPolicy.customMetricUtilizations[0], utilizationTarget: 0 }],
81
+ }),
82
+ ).toBe(false);
83
+ expect(
84
+ isValid({
85
+ ...customPolicy,
86
+ customMetricUtilizations: [{ ...customPolicy.customMetricUtilizations[0], utilizationTarget: 5 }],
87
+ }),
88
+ ).toBe(true);
89
+ });
90
+
91
+ it('allows zero for group single-instance assignment', () => {
92
+ expect(
93
+ isValid({
94
+ ...validPolicy,
95
+ cpuUtilization: {},
96
+ customMetricUtilizations: [
97
+ {
98
+ metric: 'custom.googleapis.com/queue',
99
+ metricExportScope: 'SINGLE_TIME_SERIES_PER_GROUP',
100
+ scalingpolicy: 'SINGLE_INSTANCE_ASSIGNMENT',
101
+ singleInstanceAssignment: 0,
102
+ },
103
+ ],
104
+ }),
105
+ ).toBe(true);
106
+ });
107
+
108
+ it('requires custom metric fields appropriate to per-instance and group scopes', () => {
109
+ const missingPerInstanceType = {
110
+ ...validPolicy,
111
+ cpuUtilization: {},
112
+ customMetricUtilizations: [
113
+ {
114
+ metric: 'custom.googleapis.com/queue',
115
+ metricExportScope: 'TIME_SERIES_PER_INSTANCE',
116
+ utilizationTarget: 1,
117
+ },
118
+ ],
119
+ };
120
+ const missingGroupAssignment = {
121
+ ...validPolicy,
122
+ cpuUtilization: {},
123
+ customMetricUtilizations: [
124
+ {
125
+ metric: 'custom.googleapis.com/queue',
126
+ metricExportScope: 'SINGLE_TIME_SERIES_PER_GROUP',
127
+ scalingpolicy: 'SINGLE_INSTANCE_ASSIGNMENT',
128
+ },
129
+ ],
130
+ };
131
+ const missingGroupTarget = {
132
+ ...validPolicy,
133
+ cpuUtilization: {},
134
+ customMetricUtilizations: [
135
+ {
136
+ metric: 'custom.googleapis.com/queue',
137
+ metricExportScope: 'SINGLE_TIME_SERIES_PER_GROUP',
138
+ scalingpolicy: 'UTILIZATION_TARGET',
139
+ utilizationTargetType: 'GAUGE',
140
+ },
141
+ ],
142
+ };
143
+
144
+ expect(isValid(missingPerInstanceType)).toBe(false);
145
+ expect(isValid(missingGroupAssignment)).toBe(false);
146
+ expect(isValid(missingGroupTarget)).toBe(false);
147
+ });
148
+
149
+ it('requires complete scaling schedules within supported numeric bounds', () => {
150
+ expect(isValid({ ...validPolicy, scalingSchedules: [{ scheduleName: 'overnight' }] })).toBe(false);
151
+ expect(
152
+ isValid({
153
+ ...validPolicy,
154
+ scalingSchedules: [
155
+ {
156
+ scheduleName: 'overnight',
157
+ minimumRequiredInstances: -1,
158
+ scheduleCron: '0 0 * * *',
159
+ timezone: 'Europe/London',
160
+ duration: 300,
161
+ },
162
+ ],
163
+ }),
164
+ ).toBe(false);
165
+ expect(
166
+ isValid({
167
+ ...validPolicy,
168
+ scalingSchedules: [
169
+ {
170
+ scheduleName: 'overnight',
171
+ minimumRequiredInstances: 1,
172
+ scheduleCron: '0 0 * * *',
173
+ timezone: 'Europe/London',
174
+ duration: 1209601,
175
+ },
176
+ ],
177
+ }),
178
+ ).toBe(false);
179
+ });
180
+
181
+ it('rejects invalid finite and nonnegative policy bounds', () => {
182
+ expect(isValid({ ...validPolicy, minNumReplicas: -1 })).toBe(false);
183
+ expect(isValid({ ...validPolicy, maxNumReplicas: Number.POSITIVE_INFINITY })).toBe(false);
184
+ expect(isValid({ ...validPolicy, coolDownPeriodSec: Number.NaN })).toBe(false);
185
+ });
186
+
187
+ it('requires predictive autoscaling to be enabled and backed by a CPU target', () => {
188
+ const originalFeatureValue = GCEProviderSettings.feature.predictiveAutoscaling;
189
+ GCEProviderSettings.feature.predictiveAutoscaling = false;
190
+ expect(
191
+ isValid({
192
+ ...validPolicy,
193
+ cpuUtilization: { utilizationTarget: 0.5, predictiveMethod: GcePredictiveMethod.STANDARD },
194
+ }),
195
+ ).toBe(false);
196
+
197
+ GCEProviderSettings.feature.predictiveAutoscaling = true;
198
+ expect(
199
+ isValid({
200
+ ...validPolicy,
201
+ cpuUtilization: { predictiveMethod: GcePredictiveMethod.STANDARD },
202
+ }),
203
+ ).toBe(false);
204
+ GCEProviderSettings.feature.predictiveAutoscaling = originalFeatureValue;
205
+ });
206
+
207
+ it('requires scale-in controls to have one bounded maximum and a bounded time window', () => {
208
+ expect(
209
+ isValid({
210
+ ...validPolicy,
211
+ scaleInControl: { maxScaledInReplicas: { percent: 101 }, timeWindowSec: 60 },
212
+ }),
213
+ ).toBe(false);
214
+ expect(
215
+ isValid({
216
+ ...validPolicy,
217
+ scaleInControl: { maxScaledInReplicas: { fixed: Number.NaN }, timeWindowSec: 60 },
218
+ }),
219
+ ).toBe(false);
220
+ expect(
221
+ isValid({
222
+ ...validPolicy,
223
+ scaleInControl: { maxScaledInReplicas: { fixed: 1 }, timeWindowSec: 3601 },
224
+ }),
225
+ ).toBe(false);
226
+ });
227
+ });