@spinnaker/azure 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 (215) hide show
  1. package/dist/azure.module.d.ts +3 -1
  2. package/dist/image/image.reader.d.ts +4 -2
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/instance/azureInstanceType.service.d.ts +6 -2
  6. package/dist/instance/details/AzureInstanceDetails.d.ts +67 -0
  7. package/dist/loadBalancer/configure/AzureLoadBalancerChoiceModal.d.ts +10 -5
  8. package/dist/loadBalancer/configure/AzureLoadBalancerModal.d.ts +102 -0
  9. package/dist/loadBalancer/details/azureLoadBalancerDetails.d.ts +26 -0
  10. package/dist/loadBalancer/loadBalancer.transformer.d.ts +45 -2
  11. package/dist/pipeline/stages/AzureAccountRegionClusterSelector.d.ts +32 -0
  12. package/dist/pipeline/stages/bake/azureBakeStage.d.ts +46 -2
  13. package/dist/pipeline/stages/destroyAsg/azureDestroyAsgStage.d.ts +14 -2
  14. package/dist/pipeline/stages/disableAsg/azureDisableAsgStage.d.ts +4 -2
  15. package/dist/pipeline/stages/enableAsg/azureEnableAsgStage.d.ts +4 -2
  16. package/dist/securityGroup/configure/AzureSecurityGroupModal.d.ts +70 -0
  17. package/dist/securityGroup/details/AzureSecurityGroupDetails.d.ts +51 -0
  18. package/dist/securityGroup/securityGroup.reader.d.ts +3 -2
  19. package/dist/securityGroup/securityGroup.transformer.d.ts +3 -2
  20. package/dist/securityGroup/securityGroup.write.service.d.ts +9 -2
  21. package/dist/serverGroup/configure/serverGroupCommandBuilder.service.d.ts +88 -2
  22. package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +30 -2
  23. package/dist/serverGroup/configure/wizard/AzureCloneServerGroupModal.d.ts +44 -0
  24. package/dist/serverGroup/configure/wizard/pages/ServerGroupAdvancedSettings.d.ts +8 -0
  25. package/dist/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.d.ts +12 -0
  26. package/dist/serverGroup/configure/wizard/pages/ServerGroupCapacityAndZones.d.ts +11 -0
  27. package/dist/serverGroup/configure/wizard/pages/ServerGroupHealthSettings.d.ts +10 -0
  28. package/dist/serverGroup/configure/wizard/pages/ServerGroupImageSettings.d.ts +12 -0
  29. package/dist/serverGroup/configure/wizard/pages/ServerGroupInstanceType.d.ts +9 -0
  30. package/dist/serverGroup/configure/wizard/pages/ServerGroupLoadBalancers.d.ts +14 -0
  31. package/dist/serverGroup/configure/wizard/pages/ServerGroupNetworkSettings.d.ts +10 -0
  32. package/dist/serverGroup/configure/wizard/pages/ServerGroupSecurityGroups.d.ts +6 -0
  33. package/dist/serverGroup/configure/wizard/pages/ServerGroupTags.d.ts +9 -0
  34. package/dist/serverGroup/configure/wizard/pages/common.d.ts +14 -0
  35. package/dist/serverGroup/configure/wizard/pages/index.d.ts +10 -0
  36. package/dist/serverGroup/details/azureServerGroupDetails.d.ts +13 -0
  37. package/dist/serverGroup/details/rollback/RollbackServerGroupModal.d.ts +6 -4
  38. package/dist/serverGroup/serverGroup.transformer.d.ts +61 -2
  39. package/dist/validation/applicationName.validator.d.ts +6 -2
  40. package/package.json +5 -8
  41. package/src/azure.module.spec.ts +921 -0
  42. package/src/azure.module.ts +56 -68
  43. package/src/image/image.reader.js +4 -15
  44. package/src/image/image.reader.spec.js +4 -7
  45. package/src/instance/azureInstanceType.service.js +8 -16
  46. package/src/instance/azureInstanceType.service.spec.js +5 -13
  47. package/src/instance/details/AzureInstanceDetails.spec.tsx +364 -0
  48. package/src/instance/details/AzureInstanceDetails.tsx +533 -0
  49. package/src/loadBalancer/configure/AzureLoadBalancerChoiceModal.spec.tsx +125 -0
  50. package/src/loadBalancer/configure/AzureLoadBalancerChoiceModal.tsx +46 -26
  51. package/src/loadBalancer/configure/AzureLoadBalancerModal.spec.tsx +658 -0
  52. package/src/loadBalancer/configure/AzureLoadBalancerModal.tsx +960 -0
  53. package/src/loadBalancer/details/azureLoadBalancerDetails.spec.tsx +470 -0
  54. package/src/loadBalancer/details/azureLoadBalancerDetails.tsx +412 -0
  55. package/src/loadBalancer/loadBalancer.transformer.js +83 -93
  56. package/src/pipeline/stages/AzureAccountRegionClusterSelector.tsx +238 -0
  57. package/src/pipeline/stages/bake/azureBakeStage.tsx +723 -0
  58. package/src/pipeline/stages/destroyAsg/azureDestroyAsgStage.tsx +128 -0
  59. package/src/pipeline/stages/disableAsg/azureDisableAsgStage.tsx +92 -0
  60. package/src/pipeline/stages/enableAsg/azureEnableAsgStage.tsx +87 -0
  61. package/src/routerConsumers.spec.tsx +69 -0
  62. package/src/securityGroup/configure/AzureSecurityGroupModal.spec.tsx +558 -0
  63. package/src/securityGroup/configure/AzureSecurityGroupModal.tsx +782 -0
  64. package/src/securityGroup/details/AzureSecurityGroupDetails.spec.tsx +291 -0
  65. package/src/securityGroup/details/AzureSecurityGroupDetails.tsx +354 -0
  66. package/src/securityGroup/securityGroup.reader.js +3 -13
  67. package/src/securityGroup/securityGroup.transformer.js +3 -13
  68. package/src/securityGroup/securityGroup.write.service.spec.ts +105 -0
  69. package/src/securityGroup/securityGroup.write.service.ts +73 -0
  70. package/src/serverGroup/configure/serverGroupCommandBuilder.service.js +167 -166
  71. package/src/serverGroup/configure/serverGroupCommandBuilder.service.spec.js +63 -0
  72. package/src/serverGroup/configure/serverGroupConfiguration.service.js +325 -309
  73. package/src/serverGroup/configure/serverGroupConfiguration.service.spec.js +57 -53
  74. package/src/serverGroup/configure/wizard/AzureCloneServerGroupModal.spec.tsx +758 -0
  75. package/src/serverGroup/configure/wizard/AzureCloneServerGroupModal.tsx +349 -0
  76. package/src/serverGroup/configure/wizard/pages/ServerGroupAdvancedSettings.tsx +208 -0
  77. package/src/serverGroup/configure/wizard/pages/ServerGroupBasicSettings.tsx +122 -0
  78. package/src/serverGroup/configure/wizard/pages/ServerGroupCapacityAndZones.tsx +80 -0
  79. package/src/serverGroup/configure/wizard/pages/ServerGroupHealthSettings.tsx +97 -0
  80. package/src/serverGroup/configure/wizard/pages/ServerGroupImageSettings.tsx +151 -0
  81. package/src/serverGroup/configure/wizard/pages/ServerGroupInstanceType.tsx +41 -0
  82. package/src/serverGroup/configure/wizard/pages/ServerGroupLoadBalancers.tsx +214 -0
  83. package/src/serverGroup/configure/wizard/pages/ServerGroupNetworkSettings.tsx +119 -0
  84. package/src/serverGroup/configure/wizard/pages/ServerGroupSecurityGroups.tsx +54 -0
  85. package/src/serverGroup/configure/wizard/pages/ServerGroupTags.tsx +40 -0
  86. package/src/serverGroup/configure/wizard/pages/common.tsx +72 -0
  87. package/src/serverGroup/configure/wizard/pages/index.ts +10 -0
  88. package/src/serverGroup/details/azureServerGroupDetails.spec.tsx +263 -0
  89. package/src/serverGroup/details/azureServerGroupDetails.tsx +318 -0
  90. package/src/serverGroup/details/rollback/RollbackServerGroupModal.tsx +24 -30
  91. package/src/serverGroup/serverGroup.transformer.js +11 -19
  92. package/src/serverGroup/serverGroup.transformer.spec.js +2 -6
  93. package/src/validation/applicationName.validator.js +14 -29
  94. package/dist/instance/details/instance.details.controller.d.ts +0 -2
  95. package/dist/loadBalancer/configure/createLoadBalancer.controller.d.ts +0 -2
  96. package/dist/loadBalancer/details/loadBalancerDetail.controller.d.ts +0 -2
  97. package/dist/pipeline/stages/bake/bakeExecutionDetails.controller.d.ts +0 -2
  98. package/dist/securityGroup/clone/cloneSecurityGroup.controller.d.ts +0 -2
  99. package/dist/securityGroup/configure/CreateSecurityGroupCtrl.d.ts +0 -2
  100. package/dist/securityGroup/configure/EditSecurityGroupCtrl.d.ts +0 -2
  101. package/dist/securityGroup/details/securityGroupDetail.controller.d.ts +0 -2
  102. package/dist/serverGroup/configure/serverGroup.configure.azure.module.d.ts +0 -2
  103. package/dist/serverGroup/configure/wizard/CloneServerGroup.azure.controller.d.ts +0 -2
  104. package/dist/serverGroup/configure/wizard/ServerGroupInstanceArchetype.controller.d.ts +0 -2
  105. package/dist/serverGroup/configure/wizard/ServerGroupInstanceType.controller.d.ts +0 -2
  106. package/dist/serverGroup/configure/wizard/advancedSettings/ServerGroupAdvancedSettings.controller.d.ts +0 -2
  107. package/dist/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.d.ts +0 -2
  108. package/dist/serverGroup/configure/wizard/basicSettings/ServerGroupBasicSettings.controller.d.ts +0 -2
  109. package/dist/serverGroup/configure/wizard/basicSettings/image.regional.filter.d.ts +0 -2
  110. package/dist/serverGroup/configure/wizard/capacity/capacitySelector.directive.d.ts +0 -2
  111. package/dist/serverGroup/configure/wizard/healthSettings/ServerGroupHealthSettings.controller.d.ts +0 -2
  112. package/dist/serverGroup/configure/wizard/healthSettings/healthSettingsSelector.directive.d.ts +0 -2
  113. package/dist/serverGroup/configure/wizard/image/ServerGroupImageSettings.controller.d.ts +0 -2
  114. package/dist/serverGroup/configure/wizard/image/imageSettingsSelector.directive.d.ts +0 -2
  115. package/dist/serverGroup/configure/wizard/loadBalancers/ServerGroupLoadBalancers.controller.d.ts +0 -2
  116. package/dist/serverGroup/configure/wizard/loadBalancers/serverGroupLoadBalancersSelector.directive.d.ts +0 -2
  117. package/dist/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettings.controller.d.ts +0 -2
  118. package/dist/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettingsSelector.directive.d.ts +0 -2
  119. package/dist/serverGroup/configure/wizard/securityGroup/ServerGroupSecurityGroups.controller.d.ts +0 -2
  120. package/dist/serverGroup/configure/wizard/securityGroup/serverGroupSecurityGroupsSelector.directive.d.ts +0 -2
  121. package/dist/serverGroup/configure/wizard/tags/tagsSelector.directive.d.ts +0 -2
  122. package/dist/serverGroup/configure/wizard/zones/zoneSelector.directive.d.ts +0 -2
  123. package/dist/serverGroup/details/serverGroup.details.module.d.ts +0 -2
  124. package/dist/serverGroup/details/serverGroupDetails.azure.controller.d.ts +0 -2
  125. package/src/instance/details/instance.details.controller.js +0 -371
  126. package/src/instance/details/instance.details.controller.spec.js +0 -129
  127. package/src/instance/details/instanceDetails.html +0 -43
  128. package/src/loadBalancer/configure/advancedSettings.html +0 -95
  129. package/src/loadBalancer/configure/createLoadBalancer.controller.js +0 -275
  130. package/src/loadBalancer/configure/createLoadBalancer.controller.spec.js +0 -39
  131. package/src/loadBalancer/configure/createLoadBalancer.html +0 -25
  132. package/src/loadBalancer/configure/createLoadBalancerProperties.html +0 -128
  133. package/src/loadBalancer/configure/editLoadBalancer.html +0 -26
  134. package/src/loadBalancer/configure/healthCheck.html +0 -74
  135. package/src/loadBalancer/configure/listeners.html +0 -50
  136. package/src/loadBalancer/details/loadBalancerDetail.controller.js +0 -181
  137. package/src/loadBalancer/details/loadBalancerDetail.controller.spec.js +0 -39
  138. package/src/loadBalancer/details/loadBalancerDetail.html +0 -128
  139. package/src/pipeline/stages/bake/azureBakeStage.js +0 -276
  140. package/src/pipeline/stages/bake/bakeExecutionDetails.controller.js +0 -40
  141. package/src/pipeline/stages/bake/bakeExecutionDetails.html +0 -50
  142. package/src/pipeline/stages/bake/bakeStage.html +0 -187
  143. package/src/pipeline/stages/destroyAsg/azureDestroyAsgStage.js +0 -73
  144. package/src/pipeline/stages/destroyAsg/destroyAsgStage.html +0 -9
  145. package/src/pipeline/stages/destroyAsg/destroyAsgStepLabel.html +0 -1
  146. package/src/pipeline/stages/disableAsg/azureDisableAsgStage.js +0 -65
  147. package/src/pipeline/stages/disableAsg/disableAsgStage.html +0 -11
  148. package/src/pipeline/stages/disableAsg/disableAsgStepLabel.html +0 -1
  149. package/src/pipeline/stages/enableAsg/azureEnableAsgStage.js +0 -70
  150. package/src/pipeline/stages/enableAsg/enableAsgStage.html +0 -11
  151. package/src/pipeline/stages/enableAsg/enableAsgStepLabel.html +0 -1
  152. package/src/securityGroup/clone/cloneSecurityGroup.controller.js +0 -162
  153. package/src/securityGroup/clone/cloneSecurityGroup.html +0 -8
  154. package/src/securityGroup/configure/CreateSecurityGroup.controller.spec.js +0 -78
  155. package/src/securityGroup/configure/CreateSecurityGroupCtrl.js +0 -265
  156. package/src/securityGroup/configure/EditSecurityGroupCtrl.js +0 -222
  157. package/src/securityGroup/configure/configSecurityGroup.mixin.controller.js +0 -262
  158. package/src/securityGroup/configure/createSecurityGroup.html +0 -20
  159. package/src/securityGroup/configure/createSecurityGroupIngress.html +0 -75
  160. package/src/securityGroup/configure/createSecurityGroupProperties.html +0 -88
  161. package/src/securityGroup/configure/editSecurityGroup.html +0 -19
  162. package/src/securityGroup/details/securityGroupDetail.controller.js +0 -142
  163. package/src/securityGroup/details/securityGroupDetail.html +0 -78
  164. package/src/securityGroup/securityGroup.write.service.js +0 -57
  165. package/src/serverGroup/configure/serverGroup.configure.azure.module.js +0 -47
  166. package/src/serverGroup/configure/wizard/CloneServerGroup.azure.controller.js +0 -247
  167. package/src/serverGroup/configure/wizard/ServerGroupInstanceArchetype.controller.js +0 -35
  168. package/src/serverGroup/configure/wizard/ServerGroupInstanceType.controller.js +0 -15
  169. package/src/serverGroup/configure/wizard/advancedSettings/ServerGroupAdvancedSettings.controller.js +0 -25
  170. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettings.html +0 -5
  171. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.html +0 -138
  172. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.js +0 -43
  173. package/src/serverGroup/configure/wizard/basicSettings/ServerGroupBasicSettings.controller.js +0 -71
  174. package/src/serverGroup/configure/wizard/basicSettings/basicSettings.html +0 -131
  175. package/src/serverGroup/configure/wizard/basicSettings/image.regional.filter.js +0 -15
  176. package/src/serverGroup/configure/wizard/basicSettings/image.regional.filter.spec.js +0 -42
  177. package/src/serverGroup/configure/wizard/capacity/capacity.html +0 -5
  178. package/src/serverGroup/configure/wizard/capacity/capacitySelector.directive.html +0 -20
  179. package/src/serverGroup/configure/wizard/capacity/capacitySelector.directive.js +0 -21
  180. package/src/serverGroup/configure/wizard/capacity/zones.html +0 -5
  181. package/src/serverGroup/configure/wizard/healthSettings/ServerGroupHealthSettings.controller.js +0 -38
  182. package/src/serverGroup/configure/wizard/healthSettings/healthSettings.html +0 -5
  183. package/src/serverGroup/configure/wizard/healthSettings/healthSettingsSelector.directive.html +0 -32
  184. package/src/serverGroup/configure/wizard/healthSettings/healthSettingsSelector.directive.js +0 -22
  185. package/src/serverGroup/configure/wizard/image/ServerGroupImageSettings.controller.js +0 -34
  186. package/src/serverGroup/configure/wizard/image/imageSettings.html +0 -5
  187. package/src/serverGroup/configure/wizard/image/imageSettingsSelector.directive.html +0 -33
  188. package/src/serverGroup/configure/wizard/image/imageSettingsSelector.directive.js +0 -22
  189. package/src/serverGroup/configure/wizard/instanceArchetype.html +0 -33
  190. package/src/serverGroup/configure/wizard/instanceType/instanceType.html +0 -10
  191. package/src/serverGroup/configure/wizard/instanceType.html +0 -33
  192. package/src/serverGroup/configure/wizard/loadBalancers/ServerGroupLoadBalancers.controller.js +0 -137
  193. package/src/serverGroup/configure/wizard/loadBalancers/loadBalancers.html +0 -3
  194. package/src/serverGroup/configure/wizard/loadBalancers/serverGroupLoadBalancersSelector.directive.html +0 -41
  195. package/src/serverGroup/configure/wizard/loadBalancers/serverGroupLoadBalancersSelector.directive.js +0 -22
  196. package/src/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettings.controller.js +0 -44
  197. package/src/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettingsSelector.directive.html +0 -54
  198. package/src/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettingsSelector.directive.js +0 -19
  199. package/src/serverGroup/configure/wizard/networkSettings/networkSettings.html +0 -3
  200. package/src/serverGroup/configure/wizard/securityGroup/ServerGroupSecurityGroups.controller.js +0 -28
  201. package/src/serverGroup/configure/wizard/securityGroup/securityGroups.html +0 -3
  202. package/src/serverGroup/configure/wizard/securityGroup/serverGroupSecurityGroupsSelector.directive.html +0 -40
  203. package/src/serverGroup/configure/wizard/securityGroup/serverGroupSecurityGroupsSelector.directive.js +0 -38
  204. package/src/serverGroup/configure/wizard/serverGroupWizard.html +0 -61
  205. package/src/serverGroup/configure/wizard/tags/tags.html +0 -5
  206. package/src/serverGroup/configure/wizard/tags/tagsSelector.directive.html +0 -16
  207. package/src/serverGroup/configure/wizard/tags/tagsSelector.directive.js +0 -30
  208. package/src/serverGroup/configure/wizard/templateSelection.html +0 -9
  209. package/src/serverGroup/configure/wizard/zones/zoneSelector.directive.html +0 -21
  210. package/src/serverGroup/configure/wizard/zones/zoneSelector.directive.js +0 -28
  211. package/src/serverGroup/details/serverGroup.details.module.js +0 -11
  212. package/src/serverGroup/details/serverGroupDetails.azure.controller.js +0 -260
  213. package/src/serverGroup/details/serverGroupDetails.html +0 -98
  214. package/src/subnet/subnetSelectField.directive.html +0 -28
  215. package/src/subnet/subnetSelectField.directive.js +0 -35
@@ -0,0 +1,318 @@
1
+ import React from 'react';
2
+ import { Dropdown } from 'react-bootstrap';
3
+ import { Observable } from 'rxjs';
4
+ import type { Subscriber } from 'rxjs';
5
+
6
+ import type {
7
+ IRouterInjectedProps,
8
+ IServerGroupActionsProps,
9
+ IServerGroupDetailsProps,
10
+ IServerGroupDetailsSectionProps,
11
+ } from '@spinnaker/core';
12
+ import {
13
+ AccountTag,
14
+ CloudProviderRegistry,
15
+ CollapsibleSection,
16
+ ConfirmationModalService,
17
+ FirewallLabels,
18
+ HealthCounts,
19
+ ServerGroupReader,
20
+ ServerGroupWarningMessageService,
21
+ timestamp,
22
+ useDeckRuntimeServices,
23
+ withRouter,
24
+ } from '@spinnaker/core';
25
+
26
+ import { AzureRollbackServerGroupModal } from './rollback/RollbackServerGroupModal';
27
+
28
+ function findServerGroupSummary(props: IServerGroupDetailsProps): Promise<any> {
29
+ const { app, serverGroup } = props;
30
+ const findSummary = () => {
31
+ let summary = app.serverGroups.data.find((toCheck: any) => {
32
+ return (
33
+ toCheck.name === serverGroup.name &&
34
+ toCheck.account === serverGroup.accountId &&
35
+ toCheck.region === serverGroup.region
36
+ );
37
+ });
38
+
39
+ if (!summary) {
40
+ app.loadBalancers.data.some((loadBalancer: any) => {
41
+ if (loadBalancer.account !== serverGroup.accountId || loadBalancer.region !== serverGroup.region) {
42
+ return false;
43
+ }
44
+ return (loadBalancer.serverGroups || []).some((possibleServerGroup: any) => {
45
+ if (possibleServerGroup.name === serverGroup.name) {
46
+ summary = possibleServerGroup;
47
+ return true;
48
+ }
49
+ return false;
50
+ });
51
+ });
52
+ }
53
+
54
+ return summary;
55
+ };
56
+
57
+ return app.ready ? app.ready().then(findSummary) : Promise.resolve(findSummary());
58
+ }
59
+
60
+ function decorateAzureServerGroup(serverGroup: any, app: any, accountId: string, region: string): any {
61
+ if (serverGroup.image?.description) {
62
+ serverGroup.image.description.split(', ').forEach((tag: string) => {
63
+ const [key, value] = tag.split('=');
64
+ if (key === 'ancestor_name' && value) {
65
+ serverGroup.image.baseImage = value;
66
+ }
67
+ });
68
+ }
69
+
70
+ const securityGroupIds = serverGroup.launchConfig?.securityGroups || [];
71
+ if (securityGroupIds.length) {
72
+ serverGroup.securityGroups = securityGroupIds
73
+ .map((id: string) => {
74
+ return app.securityGroups.data.find((securityGroup: any) => {
75
+ return (
76
+ securityGroup.accountName === accountId &&
77
+ securityGroup.region === region &&
78
+ (securityGroup.id === id || securityGroup.name === id)
79
+ );
80
+ });
81
+ })
82
+ .filter(Boolean);
83
+ }
84
+
85
+ return serverGroup;
86
+ }
87
+
88
+ export function azureServerGroupDetailsGetter(props: IServerGroupDetailsProps, autoClose: () => void): Observable<any> {
89
+ const { app, serverGroup: serverGroupInfo } = props;
90
+ return new Observable<any>((observer: Subscriber<any>) => {
91
+ findServerGroupSummary(props).then(
92
+ (summary) => {
93
+ if (!summary) {
94
+ autoClose();
95
+ observer.complete();
96
+ return;
97
+ }
98
+
99
+ ServerGroupReader.getServerGroup(
100
+ app.name,
101
+ serverGroupInfo.accountId,
102
+ serverGroupInfo.region,
103
+ serverGroupInfo.name,
104
+ ).then(
105
+ (details: any) => {
106
+ if (!details || Object.keys(details).length === 0) {
107
+ autoClose();
108
+ observer.complete();
109
+ return;
110
+ }
111
+
112
+ const serverGroup = decorateAzureServerGroup(
113
+ Object.assign(details, summary, { account: serverGroupInfo.accountId }),
114
+ app,
115
+ serverGroupInfo.accountId,
116
+ serverGroupInfo.region,
117
+ );
118
+ observer.next(serverGroup);
119
+ },
120
+ () => {
121
+ autoClose();
122
+ observer.complete();
123
+ },
124
+ );
125
+ },
126
+ () => {
127
+ autoClose();
128
+ observer.complete();
129
+ },
130
+ );
131
+ });
132
+ }
133
+
134
+ export function AzureServerGroupActionsComponent({
135
+ app,
136
+ serverGroup,
137
+ stateService,
138
+ }: IServerGroupActionsProps & IRouterInjectedProps) {
139
+ const runtimeServices = useDeckRuntimeServices();
140
+ const { serverGroupCommandBuilder, serverGroupWriter } = runtimeServices;
141
+ const destroyServerGroup = (): void => {
142
+ const stateParams = {
143
+ name: serverGroup.name,
144
+ accountId: serverGroup.account,
145
+ region: serverGroup.region,
146
+ };
147
+
148
+ const confirmationModalParams = {
149
+ header: `Really destroy ${serverGroup.name}?`,
150
+ buttonText: `Destroy ${serverGroup.name}`,
151
+ account: serverGroup.account,
152
+ taskMonitorConfig: {
153
+ application: app,
154
+ title: `Destroying ${serverGroup.name}`,
155
+ onTaskComplete: () => {
156
+ if (stateService.includes('**.serverGroup', stateParams)) {
157
+ stateService.go('^');
158
+ }
159
+ },
160
+ },
161
+ submitMethod: (params: any) => serverGroupWriter.destroyServerGroup(serverGroup, app, params),
162
+ };
163
+
164
+ ServerGroupWarningMessageService.addDestroyWarningMessage(app, serverGroup, confirmationModalParams);
165
+ ConfirmationModalService.confirm(confirmationModalParams);
166
+ };
167
+
168
+ const disableServerGroup = (): void => {
169
+ const confirmationModalParams = {
170
+ header: `Really disable ${serverGroup.name}?`,
171
+ buttonText: `Disable ${serverGroup.name}`,
172
+ account: serverGroup.account,
173
+ taskMonitorConfig: {
174
+ application: app,
175
+ title: `Disabling ${serverGroup.name}`,
176
+ },
177
+ submitMethod: (params: any) => serverGroupWriter.disableServerGroup(serverGroup, app.name, params),
178
+ };
179
+
180
+ ServerGroupWarningMessageService.addDisableWarningMessage(app, serverGroup, confirmationModalParams);
181
+ ConfirmationModalService.confirm(confirmationModalParams);
182
+ };
183
+
184
+ const enableServerGroup = (): void => {
185
+ ConfirmationModalService.confirm({
186
+ header: `Really enable ${serverGroup.name}?`,
187
+ buttonText: `Enable ${serverGroup.name}`,
188
+ account: serverGroup.account,
189
+ taskMonitorConfig: {
190
+ application: app,
191
+ title: `Enabling ${serverGroup.name}`,
192
+ },
193
+ submitMethod: (params: any) =>
194
+ serverGroupWriter.enableServerGroup(serverGroup, app, {
195
+ ...params,
196
+ interestingHealthProviderNames: [],
197
+ }),
198
+ });
199
+ };
200
+
201
+ const rollbackServerGroup = (): void => {
202
+ const cluster = (app.clusters || []).find(
203
+ (candidate: any) => candidate.name === serverGroup.cluster && candidate.account === serverGroup.account,
204
+ );
205
+ const disabledServerGroups = (cluster?.serverGroups || []).filter((candidate: any) => {
206
+ return candidate.isDisabled && candidate.region === serverGroup.region;
207
+ });
208
+ AzureRollbackServerGroupModal.show({ application: app, serverGroup, disabledServerGroups }, runtimeServices);
209
+ };
210
+
211
+ const cloneServerGroup = (): void => {
212
+ const CloneServerGroupModal = CloudProviderRegistry.getValue('azure', 'serverGroup.CloneServerGroupModal');
213
+ if (CloneServerGroupModal?.show) {
214
+ serverGroupCommandBuilder.buildServerGroupCommandFromExisting(app, serverGroup).then((command: any) => {
215
+ CloneServerGroupModal.show({ application: app, command, title: `Clone ${serverGroup.name}` }, runtimeServices);
216
+ });
217
+ }
218
+ };
219
+
220
+ return (
221
+ <Dropdown className="dropdown" id="azure-server-group-actions-dropdown">
222
+ <Dropdown.Toggle className="btn btn-sm btn-primary dropdown-toggle">Server Group Actions</Dropdown.Toggle>
223
+ <Dropdown.Menu className="dropdown-menu">
224
+ {!serverGroup.isDisabled && (
225
+ <li>
226
+ <a className="clickable" onClick={rollbackServerGroup}>
227
+ Rollback
228
+ </a>
229
+ </li>
230
+ )}
231
+ <li>
232
+ <a className="clickable" onClick={disableServerGroup}>
233
+ Disable
234
+ </a>
235
+ </li>
236
+ <li>
237
+ <a className="clickable" onClick={enableServerGroup}>
238
+ Enable
239
+ </a>
240
+ </li>
241
+ <li>
242
+ <a className="clickable" onClick={destroyServerGroup}>
243
+ Destroy
244
+ </a>
245
+ </li>
246
+ <li>
247
+ <a className="clickable" onClick={cloneServerGroup}>
248
+ Clone
249
+ </a>
250
+ </li>
251
+ </Dropdown.Menu>
252
+ </Dropdown>
253
+ );
254
+ }
255
+
256
+ export const AzureServerGroupActions = withRouter(AzureServerGroupActionsComponent);
257
+
258
+ export function AzureServerGroupInformationSection({ serverGroup }: IServerGroupDetailsSectionProps) {
259
+ return (
260
+ <CollapsibleSection heading="Server Group Information" defaultExpanded={true}>
261
+ <dl className="dl-horizontal dl-narrow">
262
+ <dt>Created</dt>
263
+ <dd>{timestamp(serverGroup.createdTime)}</dd>
264
+ <dt>Region</dt>
265
+ <dd>
266
+ <AccountTag account={serverGroup.account} />
267
+ {serverGroup.region}
268
+ </dd>
269
+ <dt>Image</dt>
270
+ <dd>{serverGroup.image?.imageName || '-'}</dd>
271
+ <dt>SKU</dt>
272
+ <dd>{serverGroup.sku?.name || '-'}</dd>
273
+ </dl>
274
+ </CollapsibleSection>
275
+ );
276
+ }
277
+
278
+ export function AzureServerGroupSizeSection({ serverGroup }: IServerGroupDetailsSectionProps) {
279
+ return (
280
+ <CollapsibleSection heading="Size" defaultExpanded={true}>
281
+ <dl className="dl-horizontal dl-narrow">
282
+ <dt>Current</dt>
283
+ <dd>{serverGroup.instances?.length ?? 0}</dd>
284
+ </dl>
285
+ </CollapsibleSection>
286
+ );
287
+ }
288
+
289
+ export function AzureServerGroupHealthSection({ serverGroup }: IServerGroupDetailsSectionProps) {
290
+ return (
291
+ <CollapsibleSection heading="Health" defaultExpanded={true}>
292
+ <dl className="dl-horizontal dl-narrow">
293
+ <dt>Instances</dt>
294
+ <dd>
295
+ <HealthCounts container={serverGroup.instanceCounts} className="pull-left" />
296
+ </dd>
297
+ </dl>
298
+ </CollapsibleSection>
299
+ );
300
+ }
301
+
302
+ export function AzureServerGroupFirewallsSection({ serverGroup }: IServerGroupDetailsSectionProps) {
303
+ return (
304
+ <CollapsibleSection heading={FirewallLabels.get('Firewalls')}>
305
+ <dl className="dl-horizontal dl-narrow">
306
+ <dt>Name</dt>
307
+ <dd>{serverGroup.securityGroupName || '-'}</dd>
308
+ </dl>
309
+ </CollapsibleSection>
310
+ );
311
+ }
312
+
313
+ export const azureServerGroupDetailsSections = [
314
+ AzureServerGroupInformationSection,
315
+ AzureServerGroupSizeSection,
316
+ AzureServerGroupHealthSection,
317
+ AzureServerGroupFirewallsSection,
318
+ ];
@@ -2,11 +2,11 @@ import React from 'react';
2
2
  import { Modal } from 'react-bootstrap';
3
3
  import Select from 'react-select';
4
4
 
5
- import type { IModalComponentProps } from '@spinnaker/core';
5
+ import type { DeckRuntimeServices, IModalComponentProps } from '@spinnaker/core';
6
6
  import {
7
+ DeckRuntimeContext,
7
8
  ModalClose,
8
9
  noop,
9
- ReactInjector,
10
10
  ReactModal,
11
11
  TaskMonitor,
12
12
  TaskMonitorWrapper,
@@ -18,7 +18,7 @@ import { AzureModalFooter } from '../../../common/AzureModalFooter';
18
18
  export interface IAzureRollbackServerGroupModalProps extends IModalComponentProps {
19
19
  application: any;
20
20
  serverGroup: any;
21
- disabledServerGroups: any;
21
+ disabledServerGroups: any[];
22
22
  }
23
23
 
24
24
  export interface IAzureRollbackServerGroupModalState {
@@ -31,14 +31,17 @@ export class AzureRollbackServerGroupModal extends React.Component<
31
31
  IAzureRollbackServerGroupModalProps,
32
32
  IAzureRollbackServerGroupModalState
33
33
  > {
34
+ public static contextType = DeckRuntimeContext;
35
+ public declare context: React.ContextType<typeof DeckRuntimeContext>;
36
+
34
37
  public static defaultProps: Partial<IAzureRollbackServerGroupModalProps> = {
35
38
  closeModal: noop,
36
39
  dismissModal: noop,
37
40
  };
38
41
 
39
- public static show(props: IAzureRollbackServerGroupModalProps) {
42
+ public static show(props: IAzureRollbackServerGroupModalProps, runtimeServices: DeckRuntimeServices) {
40
43
  const modalProps = {};
41
- return ReactModal.show(AzureRollbackServerGroupModal, props, modalProps);
44
+ return ReactModal.show(AzureRollbackServerGroupModal, props, modalProps, runtimeServices);
42
45
  }
43
46
 
44
47
  constructor(props: IAzureRollbackServerGroupModalProps) {
@@ -48,9 +51,9 @@ export class AzureRollbackServerGroupModal extends React.Component<
48
51
 
49
52
  this.state = {
50
53
  taskMonitor: new TaskMonitor({
51
- application: application,
54
+ application,
52
55
  title: 'Rolling back your server group',
53
- modalInstance: TaskMonitor.modalInstanceEmulation(() => this.props.dismissModal()),
56
+ onDismiss: () => this.props.dismissModal(),
54
57
  }),
55
58
  submitting: true,
56
59
  command: {
@@ -72,49 +75,40 @@ export class AzureRollbackServerGroupModal extends React.Component<
72
75
  const { command, taskMonitor } = this.state;
73
76
  const { serverGroup, application } = this.props;
74
77
 
75
- taskMonitor.submit(() => {
76
- return ReactInjector.serverGroupWriter.rollbackServerGroup(serverGroup, application, command);
77
- });
78
+ taskMonitor.submit(() =>
79
+ this.context.services.serverGroupWriter.rollbackServerGroup(serverGroup, application, command),
80
+ );
78
81
  };
79
82
 
80
- private filterServerGroups = (disabledServerGroups: any) => {
81
- const filteredDisabledServerGroups = disabledServerGroups
83
+ private filterServerGroups = (disabledServerGroups: any[]) => {
84
+ return disabledServerGroups
82
85
  .filter((disabledServerGroup: any) => disabledServerGroup.instanceCounts.total !== 0)
83
86
  .sort((a: any, b: any) => b.name.localeCompare(a.name));
84
-
85
- return filteredDisabledServerGroups;
86
87
  };
87
88
 
88
89
  private isValid = () => {
89
- const restoreServerGroupName = this.state.command.rollbackContext.restoreServerGroupName;
90
- return restoreServerGroupName !== undefined;
90
+ return this.state.command.rollbackContext.restoreServerGroupName !== undefined;
91
91
  };
92
92
 
93
93
  private handleServerGroupChange = (restoreServerGroupOption: any) => {
94
94
  const { disabledServerGroups } = this.props;
95
- const newCommand = { ...this.state.command };
96
- newCommand.rollbackContext.restoreServerGroupName = restoreServerGroupOption.value;
97
- const restoreServerGroup = this.filterServerGroups(disabledServerGroups).find(function (disabledServerGroup: any) {
95
+ const command = { ...this.state.command };
96
+ command.rollbackContext.restoreServerGroupName = restoreServerGroupOption.value;
97
+ const restoreServerGroup = this.filterServerGroups(disabledServerGroups).find((disabledServerGroup: any) => {
98
98
  return disabledServerGroup.name === restoreServerGroupOption.value;
99
99
  });
100
- newCommand.targetSize = restoreServerGroup.capacity.max;
101
- this.setState({
102
- command: newCommand,
103
- });
100
+ command.targetSize = restoreServerGroup.capacity.max;
101
+ this.setState({ command });
104
102
  };
105
103
 
106
104
  private handleTaskReasonChange = (taskReason?: any) => {
107
- const newCommand = { ...this.state.command };
108
- newCommand.reason = taskReason;
109
- this.setState({
110
- command: newCommand,
111
- });
105
+ const command = { ...this.state.command, reason: taskReason };
106
+ this.setState({ command });
112
107
  };
113
108
 
114
109
  public render() {
115
110
  const { command, taskMonitor, submitting } = this.state;
116
111
  const { serverGroup, disabledServerGroups } = this.props;
117
- const isValidSG = this.isValid();
118
112
  const disabledServerGroupOptions = this.filterServerGroups(disabledServerGroups).map(
119
113
  (disabledServerGroup: any) => ({
120
114
  label: disabledServerGroup.name,
@@ -147,7 +141,7 @@ export class AzureRollbackServerGroupModal extends React.Component<
147
141
  <AzureModalFooter
148
142
  onSubmit={this.submit}
149
143
  onCancel={this.close}
150
- isValid={isValidSG}
144
+ isValid={this.isValid()}
151
145
  account={serverGroup.account}
152
146
  />
153
147
  </form>
@@ -1,16 +1,11 @@
1
- 'use strict';
2
-
3
- import { module } from 'angular';
4
1
  import _ from 'lodash';
5
2
 
6
- export const AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER = 'spinnaker.azure.serverGroup.transformer';
7
- export const name = AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER; // for backwards compatibility
8
- module(AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER, []).factory('azureServerGroupTransformer', function () {
9
- function normalizeServerGroup(serverGroup) {
3
+ export class AzureServerGroupTransformer {
4
+ normalizeServerGroup(serverGroup) {
10
5
  return serverGroup;
11
6
  }
12
7
 
13
- function parseCustomScriptsSettings(command, configuration) {
8
+ parseCustomScriptsSettings(command, configuration) {
14
9
  /*
15
10
  At the first time this wizard pops up, the type of command.customScriptsSettings.fileUris is String. As for the following
16
11
  occurrences of its pop up with this field unchanged, its type becomes an array. So here differentiate the two scenarios
@@ -34,7 +29,7 @@ module(AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER, []).factory('azureServerGroupT
34
29
  }
35
30
  }
36
31
 
37
- function convertServerGroupCommandToDeployConfiguration(command) {
32
+ convertServerGroupCommandToDeployConfiguration(command) {
38
33
  let tempImage;
39
34
 
40
35
  if (command.viewState.mode === 'editPipeline' || command.viewState.mode === 'createPipeline') {
@@ -74,8 +69,11 @@ module(AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER, []).factory('azureServerGroupT
74
69
  image: command.image,
75
70
  account: command.credentials,
76
71
  selectedProvider: 'azure',
77
- vnet: command.vnet,
78
- vnetResourceGroup: command.selectedVnet.resourceGroup,
72
+ vnet: command.selectedVnet && command.selectedVnet.name ? command.selectedVnet.name : command.vnet,
73
+ vnetResourceGroup:
74
+ command.selectedVnet && command.selectedVnet.resourceGroup
75
+ ? command.selectedVnet.resourceGroup
76
+ : command.vnetResourceGroup,
79
77
  subnet: command.subnet,
80
78
  useSourceCapacity: false,
81
79
  capacity: {
@@ -125,7 +123,7 @@ module(AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER, []).factory('azureServerGroupT
125
123
  if (typeof command.customScriptsSettings !== 'undefined') {
126
124
  configuration.customScriptsSettings.commandToExecute = command.customScriptsSettings.commandToExecute;
127
125
  if (!_.isEmpty(command.customScriptsSettings.fileUris)) {
128
- parseCustomScriptsSettings(command, configuration);
126
+ this.parseCustomScriptsSettings(command, configuration);
129
127
  }
130
128
  }
131
129
 
@@ -141,10 +139,4 @@ module(AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER, []).factory('azureServerGroupT
141
139
 
142
140
  return configuration;
143
141
  }
144
-
145
- return {
146
- convertServerGroupCommandToDeployConfiguration: convertServerGroupCommandToDeployConfiguration,
147
- normalizeServerGroup: normalizeServerGroup,
148
- parseCustomScriptsSettings: parseCustomScriptsSettings,
149
- };
150
- });
142
+ }
@@ -1,14 +1,10 @@
1
- 'use strict';
1
+ import { AzureServerGroupTransformer } from './serverGroup.transformer';
2
2
 
3
3
  describe('azureServerGroupTransformer', function () {
4
4
  var transformer;
5
5
 
6
- beforeEach(window.module(require('./serverGroup.transformer').name));
7
-
8
6
  beforeEach(function () {
9
- window.inject(function (_azureServerGroupTransformer_) {
10
- transformer = _azureServerGroupTransformer_;
11
- });
7
+ transformer = new AzureServerGroupTransformer();
12
8
  });
13
9
 
14
10
  describe('command transforms', function () {
@@ -1,16 +1,10 @@
1
- 'use strict';
2
-
3
- import { module } from 'angular';
4
-
5
1
  import { ApplicationNameValidator } from '@spinnaker/core';
6
2
 
7
- export const AZURE_VALIDATION_APPLICATIONNAME_VALIDATOR = 'spinnaker.azure.validation.applicationName';
8
- export const name = AZURE_VALIDATION_APPLICATIONNAME_VALIDATOR; // for backwards compatibility
9
- module(AZURE_VALIDATION_APPLICATIONNAME_VALIDATOR, [])
10
- .factory('azureApplicationNameValidator', function () {
11
- function validateSpecialCharacters(name, errors) {
3
+ export const azureApplicationNameValidator = {
4
+ validate(name) {
5
+ function validateSpecialCharacters(value, errors) {
12
6
  const pattern = /^([a-zA-Z][a-zA-Z0-9]*)?$/;
13
- if (!pattern.test(name)) {
7
+ if (!pattern.test(value)) {
14
8
  errors.push(
15
9
  'The application name must begin with a letter and must contain only letters or digits. No ' +
16
10
  'special characters are allowed.',
@@ -18,27 +12,18 @@ module(AZURE_VALIDATION_APPLICATIONNAME_VALIDATOR, [])
18
12
  }
19
13
  }
20
14
 
21
- function validate(name) {
22
- const warnings = [];
23
- const errors = [];
15
+ const warnings = [];
16
+ const errors = [];
24
17
 
25
- if (name && name.length) {
26
- validateSpecialCharacters(name, errors);
27
- }
28
-
29
- return {
30
- warnings: warnings,
31
- errors: errors,
32
- };
18
+ if (name && name.length) {
19
+ validateSpecialCharacters(name, errors);
33
20
  }
34
21
 
35
22
  return {
36
- validate: validate,
23
+ warnings: warnings,
24
+ errors: errors,
37
25
  };
38
- })
39
- .run([
40
- 'azureApplicationNameValidator',
41
- function (azureApplicationNameValidator) {
42
- ApplicationNameValidator.registerValidator('azure', azureApplicationNameValidator);
43
- },
44
- ]);
26
+ },
27
+ };
28
+
29
+ ApplicationNameValidator.registerValidator('azure', azureApplicationNameValidator);
@@ -1,2 +0,0 @@
1
- export const AZURE_INSTANCE_DETAILS_INSTANCE_DETAILS_CONTROLLER: "spinnaker.azure.instance.detail.controller";
2
- export const name: "spinnaker.azure.instance.detail.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_LOADBALANCER_CONFIGURE_CREATELOADBALANCER_CONTROLLER: "spinnaker.azure.loadBalancer.create.controller";
2
- export const name: "spinnaker.azure.loadBalancer.create.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_LOADBALANCER_DETAILS_LOADBALANCERDETAIL_CONTROLLER: "spinnaker.azure.loadBalancer.details.controller";
2
- export const name: "spinnaker.azure.loadBalancer.details.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_PIPELINE_STAGES_BAKE_BAKEEXECUTIONDETAILS_CONTROLLER: "spinnaker.azure.pipeline.stage.bake.executionDetails.controller";
2
- export const name: "spinnaker.azure.pipeline.stage.bake.executionDetails.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SECURITYGROUP_CLONE_CLONESECURITYGROUP_CONTROLLER: "spinnaker.azure.securityGroup.clone.controller";
2
- export const name: "spinnaker.azure.securityGroup.clone.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SECURITYGROUP_CONFIGURE_CREATESECURITYGROUPCTRL: "spinnaker.azure.securityGroup.create.controller";
2
- export const name: "spinnaker.azure.securityGroup.create.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SECURITYGROUP_CONFIGURE_EDITSECURITYGROUPCTRL: "spinnaker.azure.securityGroup.azure.edit.controller";
2
- export const name: "spinnaker.azure.securityGroup.azure.edit.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SECURITYGROUP_DETAILS_SECURITYGROUPDETAIL_CONTROLLER: "spinnaker.azure.securityGroup.azure.details.controller";
2
- export const name: "spinnaker.azure.securityGroup.azure.details.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_SERVERGROUP_CONFIGURE_AZURE_MODULE: "spinnaker.azure.serverGroup.configure";
2
- export const name: "spinnaker.azure.serverGroup.configure";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_CLONESERVERGROUP_AZURE_CONTROLLER: "spinnaker.azure.cloneServerGroup.controller";
2
- export const name: "spinnaker.azure.cloneServerGroup.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_SERVERGROUPINSTANCEARCHETYPE_CONTROLLER: "spinnaker.azure.serverGroup.configure.instanceArchetype.controller";
2
- export const name: "spinnaker.azure.serverGroup.configure.instanceArchetype.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_SERVERGROUPINSTANCETYPE_CONTROLLER: "spinnaker.azure.serverGroup.configure.instanceType.controller";
2
- export const name: "spinnaker.azure.serverGroup.configure.instanceType.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_ADVANCEDSETTINGS_SERVERGROUPADVANCEDSETTINGS_CONTROLLER: "spinnaker.azure.serverGroup.configure.advancedSetting.controller";
2
- export const name: "spinnaker.azure.serverGroup.configure.advancedSetting.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_ADVANCEDSETTINGS_ADVANCEDSETTINGSSELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.wizard.advancedSettings.selector.directive";
2
- export const name: "spinnaker.azure.serverGroup.configure.wizard.advancedSettings.selector.directive";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_BASICSETTINGS_SERVERGROUPBASICSETTINGS_CONTROLLER: "spinnaker.azure.serverGroup.configure.basicSettings";
2
- export const name: "spinnaker.azure.serverGroup.configure.basicSettings";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_BASICSETTINGS_IMAGE_REGIONAL_FILTER: "spinnaker.azure.serverGroup.configure.basicSettings.image.filter";
2
- export const name: "spinnaker.azure.serverGroup.configure.basicSettings.image.filter";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_CAPACITY_CAPACITYSELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.wizard.capacity.selector.directive";
2
- export const name: "spinnaker.azure.serverGroup.configure.wizard.capacity.selector.directive";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_HEALTHSETTINGS_SERVERGROUPHEALTHSETTINGS_CONTROLLER: "spinnaker.azure.serverGroup.configure.healthSetting.controller";
2
- export const name: "spinnaker.azure.serverGroup.configure.healthSetting.controller";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_HEALTHSETTINGS_HEALTHSETTINGSSELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.wizard.healthSettings.selector.directive";
2
- export const name: "spinnaker.azure.serverGroup.configure.wizard.healthSettings.selector.directive";
@@ -1,2 +0,0 @@
1
- export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_IMAGESETTINGS_SERVERGROUPIMAGESETTINGS_CONTROLLER: "spinnaker.azure.serverGroup.configure.imageSettings.controller";
2
- export const name: "spinnaker.azure.serverGroup.configure.imageSettings.controller";