@spinnaker/azure 0.0.0-main-2

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 (174) hide show
  1. package/CHANGELOG.md +873 -0
  2. package/LICENSE.txt +203 -0
  3. package/dist/azure.module.d.ts +3 -0
  4. package/dist/azure.settings.d.ts +8 -0
  5. package/dist/common/AzureModalFooter.d.ts +18 -0
  6. package/dist/help/azure.help.d.ts +1 -0
  7. package/dist/image/image.reader.d.ts +2 -0
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +6778 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/instance/azureInstanceType.service.d.ts +2 -0
  12. package/dist/instance/details/instance.details.controller.d.ts +2 -0
  13. package/dist/loadBalancer/configure/AzureLoadBalancerChoiceModal.d.ts +16 -0
  14. package/dist/loadBalancer/configure/createLoadBalancer.controller.d.ts +2 -0
  15. package/dist/loadBalancer/details/loadBalancerDetail.controller.d.ts +2 -0
  16. package/dist/loadBalancer/loadBalancer.transformer.d.ts +2 -0
  17. package/dist/pipeline/stages/bake/azureBakeStage.d.ts +2 -0
  18. package/dist/pipeline/stages/bake/bakeExecutionDetails.controller.d.ts +2 -0
  19. package/dist/pipeline/stages/destroyAsg/azureDestroyAsgStage.d.ts +2 -0
  20. package/dist/pipeline/stages/disableAsg/azureDisableAsgStage.d.ts +2 -0
  21. package/dist/pipeline/stages/enableAsg/azureEnableAsgStage.d.ts +2 -0
  22. package/dist/securityGroup/clone/cloneSecurityGroup.controller.d.ts +2 -0
  23. package/dist/securityGroup/configure/CreateSecurityGroupCtrl.d.ts +2 -0
  24. package/dist/securityGroup/configure/EditSecurityGroupCtrl.d.ts +2 -0
  25. package/dist/securityGroup/details/securityGroupDetail.controller.d.ts +2 -0
  26. package/dist/securityGroup/securityGroup.reader.d.ts +2 -0
  27. package/dist/securityGroup/securityGroup.transformer.d.ts +2 -0
  28. package/dist/securityGroup/securityGroup.write.service.d.ts +2 -0
  29. package/dist/serverGroup/configure/serverGroup.configure.azure.module.d.ts +2 -0
  30. package/dist/serverGroup/configure/serverGroupCommandBuilder.service.d.ts +2 -0
  31. package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +2 -0
  32. package/dist/serverGroup/configure/wizard/CloneServerGroup.azure.controller.d.ts +2 -0
  33. package/dist/serverGroup/configure/wizard/ServerGroupInstanceArchetype.controller.d.ts +2 -0
  34. package/dist/serverGroup/configure/wizard/ServerGroupInstanceType.controller.d.ts +2 -0
  35. package/dist/serverGroup/configure/wizard/advancedSettings/ServerGroupAdvancedSettings.controller.d.ts +2 -0
  36. package/dist/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.d.ts +2 -0
  37. package/dist/serverGroup/configure/wizard/basicSettings/ServerGroupBasicSettings.controller.d.ts +2 -0
  38. package/dist/serverGroup/configure/wizard/basicSettings/image.regional.filter.d.ts +2 -0
  39. package/dist/serverGroup/configure/wizard/capacity/capacitySelector.directive.d.ts +2 -0
  40. package/dist/serverGroup/configure/wizard/healthSettings/ServerGroupHealthSettings.controller.d.ts +2 -0
  41. package/dist/serverGroup/configure/wizard/healthSettings/healthSettingsSelector.directive.d.ts +2 -0
  42. package/dist/serverGroup/configure/wizard/image/ServerGroupImageSettings.controller.d.ts +2 -0
  43. package/dist/serverGroup/configure/wizard/image/imageSettingsSelector.directive.d.ts +2 -0
  44. package/dist/serverGroup/configure/wizard/loadBalancers/ServerGroupLoadBalancers.controller.d.ts +2 -0
  45. package/dist/serverGroup/configure/wizard/loadBalancers/serverGroupLoadBalancersSelector.directive.d.ts +2 -0
  46. package/dist/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettings.controller.d.ts +2 -0
  47. package/dist/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettingsSelector.directive.d.ts +2 -0
  48. package/dist/serverGroup/configure/wizard/securityGroup/ServerGroupSecurityGroups.controller.d.ts +2 -0
  49. package/dist/serverGroup/configure/wizard/securityGroup/serverGroupSecurityGroupsSelector.directive.d.ts +2 -0
  50. package/dist/serverGroup/configure/wizard/tags/tagsSelector.directive.d.ts +2 -0
  51. package/dist/serverGroup/configure/wizard/zones/zoneSelector.directive.d.ts +2 -0
  52. package/dist/serverGroup/details/rollback/RollbackServerGroupModal.d.ts +25 -0
  53. package/dist/serverGroup/details/serverGroup.details.module.d.ts +2 -0
  54. package/dist/serverGroup/details/serverGroupDetails.azure.controller.d.ts +2 -0
  55. package/dist/serverGroup/serverGroup.transformer.d.ts +2 -0
  56. package/dist/utility.d.ts +28 -0
  57. package/dist/validation/applicationName.validator.d.ts +2 -0
  58. package/package.json +43 -0
  59. package/src/azure.module.ts +95 -0
  60. package/src/azure.settings.ts +16 -0
  61. package/src/common/AzureModalFooter.tsx +43 -0
  62. package/src/help/azure.help.ts +60 -0
  63. package/src/image/image.reader.js +43 -0
  64. package/src/image/image.reader.spec.js +108 -0
  65. package/src/index.ts +1 -0
  66. package/src/instance/azureInstanceType.service.js +831 -0
  67. package/src/instance/azureInstanceType.service.spec.js +17 -0
  68. package/src/instance/details/instance.details.controller.js +371 -0
  69. package/src/instance/details/instance.details.controller.spec.js +129 -0
  70. package/src/instance/details/instanceDetails.html +43 -0
  71. package/src/loadBalancer/configure/AzureLoadBalancerChoiceModal.tsx +101 -0
  72. package/src/loadBalancer/configure/advancedSettings.html +95 -0
  73. package/src/loadBalancer/configure/createLoadBalancer.controller.js +275 -0
  74. package/src/loadBalancer/configure/createLoadBalancer.controller.spec.js +39 -0
  75. package/src/loadBalancer/configure/createLoadBalancer.html +25 -0
  76. package/src/loadBalancer/configure/createLoadBalancerProperties.html +128 -0
  77. package/src/loadBalancer/configure/editLoadBalancer.html +26 -0
  78. package/src/loadBalancer/configure/healthCheck.html +74 -0
  79. package/src/loadBalancer/configure/listeners.html +50 -0
  80. package/src/loadBalancer/details/loadBalancerDetail.controller.js +181 -0
  81. package/src/loadBalancer/details/loadBalancerDetail.controller.spec.js +39 -0
  82. package/src/loadBalancer/details/loadBalancerDetail.html +128 -0
  83. package/src/loadBalancer/loadBalancer.transformer.js +109 -0
  84. package/src/logo/azure.icon.svg +196 -0
  85. package/src/logo/azure.logo.less +6 -0
  86. package/src/logo/logo_azure.png +0 -0
  87. package/src/pipeline/stages/bake/azureBakeStage.js +276 -0
  88. package/src/pipeline/stages/bake/bakeExecutionDetails.controller.js +40 -0
  89. package/src/pipeline/stages/bake/bakeExecutionDetails.html +50 -0
  90. package/src/pipeline/stages/bake/bakeStage.html +187 -0
  91. package/src/pipeline/stages/destroyAsg/azureDestroyAsgStage.js +73 -0
  92. package/src/pipeline/stages/destroyAsg/destroyAsgStage.html +9 -0
  93. package/src/pipeline/stages/destroyAsg/destroyAsgStepLabel.html +1 -0
  94. package/src/pipeline/stages/disableAsg/azureDisableAsgStage.js +65 -0
  95. package/src/pipeline/stages/disableAsg/disableAsgStage.html +11 -0
  96. package/src/pipeline/stages/disableAsg/disableAsgStepLabel.html +1 -0
  97. package/src/pipeline/stages/enableAsg/azureEnableAsgStage.js +70 -0
  98. package/src/pipeline/stages/enableAsg/enableAsgStage.html +11 -0
  99. package/src/pipeline/stages/enableAsg/enableAsgStepLabel.html +1 -0
  100. package/src/securityGroup/clone/cloneSecurityGroup.controller.js +162 -0
  101. package/src/securityGroup/clone/cloneSecurityGroup.html +8 -0
  102. package/src/securityGroup/configure/CreateSecurityGroup.controller.spec.js +78 -0
  103. package/src/securityGroup/configure/CreateSecurityGroupCtrl.js +265 -0
  104. package/src/securityGroup/configure/EditSecurityGroupCtrl.js +222 -0
  105. package/src/securityGroup/configure/configSecurityGroup.mixin.controller.js +262 -0
  106. package/src/securityGroup/configure/createSecurityGroup.html +20 -0
  107. package/src/securityGroup/configure/createSecurityGroupIngress.html +75 -0
  108. package/src/securityGroup/configure/createSecurityGroupProperties.html +88 -0
  109. package/src/securityGroup/configure/editSecurityGroup.html +19 -0
  110. package/src/securityGroup/details/securityGroupDetail.controller.js +142 -0
  111. package/src/securityGroup/details/securityGroupDetail.html +78 -0
  112. package/src/securityGroup/securityGroup.reader.js +17 -0
  113. package/src/securityGroup/securityGroup.transformer.js +13 -0
  114. package/src/securityGroup/securityGroup.write.service.js +57 -0
  115. package/src/serverGroup/configure/serverGroup.configure.azure.module.js +47 -0
  116. package/src/serverGroup/configure/serverGroupCommandBuilder.service.js +175 -0
  117. package/src/serverGroup/configure/serverGroupConfiguration.service.js +357 -0
  118. package/src/serverGroup/configure/serverGroupConfiguration.service.spec.js +209 -0
  119. package/src/serverGroup/configure/wizard/CloneServerGroup.azure.controller.js +247 -0
  120. package/src/serverGroup/configure/wizard/ServerGroupInstanceArchetype.controller.js +35 -0
  121. package/src/serverGroup/configure/wizard/ServerGroupInstanceType.controller.js +15 -0
  122. package/src/serverGroup/configure/wizard/advancedSettings/ServerGroupAdvancedSettings.controller.js +25 -0
  123. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettings.html +5 -0
  124. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.html +138 -0
  125. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettingsSelector.directive.js +43 -0
  126. package/src/serverGroup/configure/wizard/basicSettings/ServerGroupBasicSettings.controller.js +71 -0
  127. package/src/serverGroup/configure/wizard/basicSettings/basicSettings.html +131 -0
  128. package/src/serverGroup/configure/wizard/basicSettings/image.regional.filter.js +15 -0
  129. package/src/serverGroup/configure/wizard/basicSettings/image.regional.filter.spec.js +42 -0
  130. package/src/serverGroup/configure/wizard/capacity/capacity.html +5 -0
  131. package/src/serverGroup/configure/wizard/capacity/capacitySelector.directive.html +20 -0
  132. package/src/serverGroup/configure/wizard/capacity/capacitySelector.directive.js +21 -0
  133. package/src/serverGroup/configure/wizard/capacity/zones.html +5 -0
  134. package/src/serverGroup/configure/wizard/healthSettings/ServerGroupHealthSettings.controller.js +38 -0
  135. package/src/serverGroup/configure/wizard/healthSettings/healthSettings.html +5 -0
  136. package/src/serverGroup/configure/wizard/healthSettings/healthSettingsSelector.directive.html +32 -0
  137. package/src/serverGroup/configure/wizard/healthSettings/healthSettingsSelector.directive.js +22 -0
  138. package/src/serverGroup/configure/wizard/image/ServerGroupImageSettings.controller.js +34 -0
  139. package/src/serverGroup/configure/wizard/image/imageSettings.html +5 -0
  140. package/src/serverGroup/configure/wizard/image/imageSettingsSelector.directive.html +33 -0
  141. package/src/serverGroup/configure/wizard/image/imageSettingsSelector.directive.js +22 -0
  142. package/src/serverGroup/configure/wizard/instanceArchetype.html +33 -0
  143. package/src/serverGroup/configure/wizard/instanceType/instanceType.html +10 -0
  144. package/src/serverGroup/configure/wizard/instanceType.html +33 -0
  145. package/src/serverGroup/configure/wizard/loadBalancers/ServerGroupLoadBalancers.controller.js +137 -0
  146. package/src/serverGroup/configure/wizard/loadBalancers/loadBalancers.html +3 -0
  147. package/src/serverGroup/configure/wizard/loadBalancers/serverGroupLoadBalancersSelector.directive.html +41 -0
  148. package/src/serverGroup/configure/wizard/loadBalancers/serverGroupLoadBalancersSelector.directive.js +22 -0
  149. package/src/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettings.controller.js +44 -0
  150. package/src/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettingsSelector.directive.html +54 -0
  151. package/src/serverGroup/configure/wizard/networkSettings/ServerGroupNetworkSettingsSelector.directive.js +19 -0
  152. package/src/serverGroup/configure/wizard/networkSettings/networkSettings.html +3 -0
  153. package/src/serverGroup/configure/wizard/securityGroup/ServerGroupSecurityGroups.controller.js +28 -0
  154. package/src/serverGroup/configure/wizard/securityGroup/securityGroups.html +3 -0
  155. package/src/serverGroup/configure/wizard/securityGroup/serverGroupSecurityGroupsSelector.directive.html +40 -0
  156. package/src/serverGroup/configure/wizard/securityGroup/serverGroupSecurityGroupsSelector.directive.js +38 -0
  157. package/src/serverGroup/configure/wizard/serverGroupWizard.html +61 -0
  158. package/src/serverGroup/configure/wizard/tags/tags.html +5 -0
  159. package/src/serverGroup/configure/wizard/tags/tagsSelector.directive.html +16 -0
  160. package/src/serverGroup/configure/wizard/tags/tagsSelector.directive.js +30 -0
  161. package/src/serverGroup/configure/wizard/templateSelection.html +9 -0
  162. package/src/serverGroup/configure/wizard/zones/zoneSelector.directive.html +21 -0
  163. package/src/serverGroup/configure/wizard/zones/zoneSelector.directive.js +28 -0
  164. package/src/serverGroup/details/rollback/RollbackServerGroupModal.tsx +158 -0
  165. package/src/serverGroup/details/serverGroup.details.module.js +11 -0
  166. package/src/serverGroup/details/serverGroupDetails.azure.controller.js +260 -0
  167. package/src/serverGroup/details/serverGroupDetails.html +98 -0
  168. package/src/serverGroup/serverGroup.transformer.js +150 -0
  169. package/src/serverGroup/serverGroup.transformer.spec.js +256 -0
  170. package/src/subnet/subnetSelectField.directive.html +28 -0
  171. package/src/subnet/subnetSelectField.directive.js +35 -0
  172. package/src/utility.spec.ts +61 -0
  173. package/src/utility.ts +95 -0
  174. package/src/validation/applicationName.validator.js +44 -0
@@ -0,0 +1,2 @@
1
+ export const AZURE_INSTANCE_AZUREINSTANCETYPE_SERVICE: "spinnaker.azure.instanceType.service";
2
+ export const name: "spinnaker.azure.instanceType.service";
@@ -0,0 +1,2 @@
1
+ export const AZURE_INSTANCE_DETAILS_INSTANCE_DETAILS_CONTROLLER: "spinnaker.azure.instance.detail.controller";
2
+ export const name: "spinnaker.azure.instance.detail.controller";
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { ILoadBalancerModalProps } from '@spinnaker/core';
3
+ import type { IAzureLoadBalancer } from '../../utility';
4
+ export interface IAzureLoadBalancerChoiceModalState {
5
+ choices: IAzureLoadBalancer[];
6
+ selectedChoice: IAzureLoadBalancer;
7
+ }
8
+ export declare class AzureLoadBalancerChoiceModal extends React.Component<ILoadBalancerModalProps, IAzureLoadBalancerChoiceModalState> {
9
+ static defaultProps: Partial<ILoadBalancerModalProps>;
10
+ static show(props: ILoadBalancerModalProps): Promise<void>;
11
+ constructor(props: ILoadBalancerModalProps);
12
+ choiceSelected(choice: IAzureLoadBalancer): void;
13
+ private choose;
14
+ close: (reason?: any) => void;
15
+ render(): JSX.Element;
16
+ }
@@ -0,0 +1,2 @@
1
+ export const AZURE_LOADBALANCER_CONFIGURE_CREATELOADBALANCER_CONTROLLER: "spinnaker.azure.loadBalancer.create.controller";
2
+ export const name: "spinnaker.azure.loadBalancer.create.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_LOADBALANCER_DETAILS_LOADBALANCERDETAIL_CONTROLLER: "spinnaker.azure.loadBalancer.details.controller";
2
+ export const name: "spinnaker.azure.loadBalancer.details.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_LOADBALANCER_LOADBALANCER_TRANSFORMER: "spinnaker.azure.loadBalancer.transformer";
2
+ export const name: "spinnaker.azure.loadBalancer.transformer";
@@ -0,0 +1,2 @@
1
+ export const AZURE_PIPELINE_STAGES_BAKE_AZUREBAKESTAGE: "spinnaker.azure.pipeline.stage.bakeStage";
2
+ export const name: "spinnaker.azure.pipeline.stage.bakeStage";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
1
+ export const AZURE_PIPELINE_STAGES_DESTROYASG_AZUREDESTROYASGSTAGE: "spinnaker.azure.pipeline.stage.destroyAsgStage";
2
+ export const name: "spinnaker.azure.pipeline.stage.destroyAsgStage";
@@ -0,0 +1,2 @@
1
+ export const AZURE_PIPELINE_STAGES_DISABLEASG_AZUREDISABLEASGSTAGE: "spinnaker.azure.pipeline.stage.disableAsgStage";
2
+ export const name: "spinnaker.azure.pipeline.stage.disableAsgStage";
@@ -0,0 +1,2 @@
1
+ export const AZURE_PIPELINE_STAGES_ENABLEASG_AZUREENABLEASGSTAGE: "spinnaker.azure.pipeline.stage.enableAsgStage";
2
+ export const name: "spinnaker.azure.pipeline.stage.enableAsgStage";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SECURITYGROUP_CLONE_CLONESECURITYGROUP_CONTROLLER: "spinnaker.azure.securityGroup.clone.controller";
2
+ export const name: "spinnaker.azure.securityGroup.clone.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SECURITYGROUP_CONFIGURE_CREATESECURITYGROUPCTRL: "spinnaker.azure.securityGroup.create.controller";
2
+ export const name: "spinnaker.azure.securityGroup.create.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SECURITYGROUP_CONFIGURE_EDITSECURITYGROUPCTRL: "spinnaker.azure.securityGroup.azure.edit.controller";
2
+ export const name: "spinnaker.azure.securityGroup.azure.edit.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SECURITYGROUP_DETAILS_SECURITYGROUPDETAIL_CONTROLLER: "spinnaker.azure.securityGroup.azure.details.controller";
2
+ export const name: "spinnaker.azure.securityGroup.azure.details.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SECURITYGROUP_SECURITYGROUP_READER: "spinnaker.azure.securityGroup.reader";
2
+ export const name: "spinnaker.azure.securityGroup.reader";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SECURITYGROUP_SECURITYGROUP_TRANSFORMER: "spinnaker.azure.securityGroup.transformer";
2
+ export const name: "spinnaker.azure.securityGroup.transformer";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SECURITYGROUP_SECURITYGROUP_WRITE_SERVICE: "spinnaker.azure.securityGroup.write.service";
2
+ export const name: "spinnaker.azure.securityGroup.write.service";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_SERVERGROUP_CONFIGURE_AZURE_MODULE: "spinnaker.azure.serverGroup.configure";
2
+ export const name: "spinnaker.azure.serverGroup.configure";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_SERVERGROUPCOMMANDBUILDER_SERVICE: "spinnaker.azure.serverGroupCommandBuilder.service";
2
+ export const name: "spinnaker.azure.serverGroupCommandBuilder.service";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_SERVERGROUPCONFIGURATION_SERVICE: "spinnaker.azure.serverGroup.configure.service";
2
+ export const name: "spinnaker.azure.serverGroup.configure.service";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_CLONESERVERGROUP_AZURE_CONTROLLER: "spinnaker.azure.cloneServerGroup.controller";
2
+ export const name: "spinnaker.azure.cloneServerGroup.controller";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_BASICSETTINGS_SERVERGROUPBASICSETTINGS_CONTROLLER: "spinnaker.azure.serverGroup.configure.basicSettings";
2
+ export const name: "spinnaker.azure.serverGroup.configure.basicSettings";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
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";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_IMAGESETTINGS_IMAGESETTINGS_DIRECTIVE: "spinnaker.azure.serverGroup.configure.wizard.imageSettingsSelector.directive";
2
+ export const name: "spinnaker.azure.serverGroup.configure.wizard.imageSettingsSelector.directive";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_LOADBALANCERS_SERVERGROUPLOADBALANCERS_CONTROLLER: "spinnaker.azure.serverGroup.configure.loadBalancer.controller";
2
+ export const name: "spinnaker.azure.serverGroup.configure.loadBalancer.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_LOADBALANCERS_SERVERGROUPLOADBALANCERSSELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.loadBalancer.directive";
2
+ export const name: "spinnaker.azure.serverGroup.configure.loadBalancer.directive";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_NETWORKSETTINGS_SERVERGROUPNETWORKSETTINGS_CONTROLLER: "spinnaker.azure.serverGroup.configure.networkSettings.controller";
2
+ export const name: "spinnaker.azure.serverGroup.configure.networkSettings.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_NETWORKSETTINGS_SERVERGROUPNETWORKSETTINGSSELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.networkSettings.directive";
2
+ export const name: "spinnaker.azure.serverGroup.configure.networkSettings.directive";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_SECURITYGROUP_SERVERGROUPSECURITYGROUPS_CONTROLLER: "spinnaker.azure.serverGroup.configure.securityGroups.controller";
2
+ export const name: "spinnaker.azure.serverGroup.configure.securityGroups.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_SECURITYGROUP_SERVERGROUPSECURITYGROUPSSELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.securityGroupSelector.directive";
2
+ export const name: "spinnaker.azure.serverGroup.configure.securityGroupSelector.directive";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_TAGS_TAGSSELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.wizard.tags.directive";
2
+ export const name: "spinnaker.azure.serverGroup.configure.wizard.tags.directive";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_CONFIGURE_WIZARD_ZONES_ZONESELECTOR_DIRECTIVE: "spinnaker.azure.serverGroup.configure.wizard.capacity.zone.directive";
2
+ export const name: "spinnaker.azure.serverGroup.configure.wizard.capacity.zone.directive";
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import type { IModalComponentProps } from '@spinnaker/core';
3
+ import { TaskMonitor } from '@spinnaker/core';
4
+ export interface IAzureRollbackServerGroupModalProps extends IModalComponentProps {
5
+ application: any;
6
+ serverGroup: any;
7
+ disabledServerGroups: any;
8
+ }
9
+ export interface IAzureRollbackServerGroupModalState {
10
+ taskMonitor: TaskMonitor;
11
+ submitting: boolean;
12
+ command: any;
13
+ }
14
+ export declare class AzureRollbackServerGroupModal extends React.Component<IAzureRollbackServerGroupModalProps, IAzureRollbackServerGroupModalState> {
15
+ static defaultProps: Partial<IAzureRollbackServerGroupModalProps>;
16
+ static show(props: IAzureRollbackServerGroupModalProps): Promise<any>;
17
+ constructor(props: IAzureRollbackServerGroupModalProps);
18
+ private close;
19
+ private submit;
20
+ private filterServerGroups;
21
+ private isValid;
22
+ private handleServerGroupChange;
23
+ private handleTaskReasonChange;
24
+ render(): JSX.Element;
25
+ }
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_DETAILS_SERVERGROUP_DETAILS_MODULE: "spinnaker.azure.serverGroup.details.azure";
2
+ export const name: "spinnaker.azure.serverGroup.details.azure";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_DETAILS_SERVERGROUPDETAILS_AZURE_CONTROLLER: "spinnaker.azure.serverGroup.details.controller";
2
+ export const name: "spinnaker.azure.serverGroup.details.controller";
@@ -0,0 +1,2 @@
1
+ export const AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER: "spinnaker.azure.serverGroup.transformer";
2
+ export const name: "spinnaker.azure.serverGroup.transformer";
@@ -0,0 +1,28 @@
1
+ export interface ITagResult {
2
+ isValid: boolean;
3
+ error: TagError | null;
4
+ errorMessage?: string;
5
+ }
6
+ export declare enum TagError {
7
+ TAG_NUMBER_EXCEED = 0,
8
+ TAG_KEY_LENGTH_EXCEED = 1,
9
+ TAG_VALUE_LENGTH_EXCEED = 2,
10
+ TAG_KEY_INVALID_CHARACTER = 3,
11
+ TAG_VALUE_INVALID_CHARACTER = 4,
12
+ TAG_OBJECT_UNDEFINED = 5
13
+ }
14
+ export interface IAzureLoadBalancer {
15
+ type: string;
16
+ description: string;
17
+ }
18
+ export declare const AzureLoadBalancerTypes: IAzureLoadBalancer[];
19
+ export default class Utility {
20
+ static readonly TAG_LIMITATION: number;
21
+ static readonly TAG_KEY_LENGTH_LIMITATION: number;
22
+ static readonly TAG_VALUE_LENGTH_LIMITATION: number;
23
+ static readonly TAG_INVALID_CHAR_REG_EXR: RegExp;
24
+ static checkTags(tagsObject: {
25
+ [s: string]: string;
26
+ }): ITagResult;
27
+ static getLoadBalancerType(typeString: string): IAzureLoadBalancer | null;
28
+ }
@@ -0,0 +1,2 @@
1
+ export const AZURE_VALIDATION_APPLICATIONNAME_VALIDATOR: "spinnaker.azure.validation.applicationName";
2
+ export const name: "spinnaker.azure.validation.applicationName";
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@spinnaker/azure",
3
+ "license": "Apache-2.0",
4
+ "version": "0.0.0-main-2",
5
+ "module": "dist/index.js",
6
+ "typings": "dist/index.d.ts",
7
+ "publishConfig": {
8
+ "access": "public",
9
+ "registry": "https://registry.npmjs.org"
10
+ },
11
+ "scripts": {
12
+ "clean": "shx rm -rf dist",
13
+ "prepublishOnly": "npm run build",
14
+ "build": "npm run clean && spinnaker-scripts build",
15
+ "dev": "spinnaker-scripts start",
16
+ "dev:push": "spinnaker-scripts start --push",
17
+ "lib": "npm run build"
18
+ },
19
+ "dependencies": {
20
+ "@spinnaker/core": "^0.29.1",
21
+ "@uirouter/angularjs": "1.0.26",
22
+ "angular": "1.6.10",
23
+ "angular-ui-bootstrap": "2.5.0",
24
+ "lodash": "4.17.21",
25
+ "react": "16.14.0",
26
+ "react-bootstrap": "0.32.1",
27
+ "react-select": "1.2.1"
28
+ },
29
+ "devDependencies": {
30
+ "@spinnaker/eslint-plugin": "^3.0.2",
31
+ "@spinnaker/scripts": "^0.4.0",
32
+ "@types/angular": "1.6.26",
33
+ "@types/angular-ui-bootstrap": "0.13.41",
34
+ "@types/lodash": "4.14.64",
35
+ "@types/node": "7.0.5",
36
+ "@types/react": "16.14.10",
37
+ "@types/react-bootstrap": "0.32.5",
38
+ "@types/react-select": "1.3.4",
39
+ "shx": "0.3.3",
40
+ "typescript": "4.3.5"
41
+ },
42
+ "gitHead": "41637c82dc23fbf1195173a93611a08000fc0e53"
43
+ }
@@ -0,0 +1,95 @@
1
+ import { module } from 'angular';
2
+
3
+ import { CloudProviderRegistry, DeploymentStrategyRegistry } from '@spinnaker/core';
4
+
5
+ import './help/azure.help';
6
+ import { AZURE_IMAGE_IMAGE_READER } from './image/image.reader';
7
+ import { AZURE_INSTANCE_AZUREINSTANCETYPE_SERVICE } from './instance/azureInstanceType.service';
8
+ import { AZURE_INSTANCE_DETAILS_INSTANCE_DETAILS_CONTROLLER } from './instance/details/instance.details.controller';
9
+ import { AzureLoadBalancerChoiceModal } from './loadBalancer/configure/AzureLoadBalancerChoiceModal';
10
+ import { AZURE_LOADBALANCER_CONFIGURE_CREATELOADBALANCER_CONTROLLER } from './loadBalancer/configure/createLoadBalancer.controller';
11
+ import { AZURE_LOADBALANCER_DETAILS_LOADBALANCERDETAIL_CONTROLLER } from './loadBalancer/details/loadBalancerDetail.controller';
12
+ import { AZURE_LOADBALANCER_LOADBALANCER_TRANSFORMER } from './loadBalancer/loadBalancer.transformer';
13
+ import logo from './logo/logo_azure.png';
14
+ import { AZURE_PIPELINE_STAGES_BAKE_AZUREBAKESTAGE } from './pipeline/stages/bake/azureBakeStage';
15
+ import { AZURE_PIPELINE_STAGES_DESTROYASG_AZUREDESTROYASGSTAGE } from './pipeline/stages/destroyAsg/azureDestroyAsgStage';
16
+ import { AZURE_PIPELINE_STAGES_DISABLEASG_AZUREDISABLEASGSTAGE } from './pipeline/stages/disableAsg/azureDisableAsgStage';
17
+ import { AZURE_PIPELINE_STAGES_ENABLEASG_AZUREENABLEASGSTAGE } from './pipeline/stages/enableAsg/azureEnableAsgStage';
18
+ import { AZURE_SECURITYGROUP_CONFIGURE_CREATESECURITYGROUPCTRL } from './securityGroup/configure/CreateSecurityGroupCtrl';
19
+ import { AZURE_SECURITYGROUP_CONFIGURE_EDITSECURITYGROUPCTRL } from './securityGroup/configure/EditSecurityGroupCtrl';
20
+ import { AZURE_SECURITYGROUP_DETAILS_SECURITYGROUPDETAIL_CONTROLLER } from './securityGroup/details/securityGroupDetail.controller';
21
+ import { AZURE_SECURITYGROUP_SECURITYGROUP_READER } from './securityGroup/securityGroup.reader';
22
+ import { AZURE_SECURITYGROUP_SECURITYGROUP_TRANSFORMER } from './securityGroup/securityGroup.transformer';
23
+ import { AZURE_SERVERGROUP_CONFIGURE_SERVERGROUP_CONFIGURE_AZURE_MODULE } from './serverGroup/configure/serverGroup.configure.azure.module';
24
+ import { AZURE_SERVERGROUP_CONFIGURE_WIZARD_CLONESERVERGROUP_AZURE_CONTROLLER } from './serverGroup/configure/wizard/CloneServerGroup.azure.controller';
25
+ import { AZURE_SERVERGROUP_DETAILS_SERVERGROUP_DETAILS_MODULE } from './serverGroup/details/serverGroup.details.module';
26
+ import { AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER } from './serverGroup/serverGroup.transformer';
27
+ import { AZURE_VALIDATION_APPLICATIONNAME_VALIDATOR } from './validation/applicationName.validator';
28
+
29
+ import './logo/azure.logo.less';
30
+
31
+ export const AZURE_MODULE = 'spinnaker.azure';
32
+ module(AZURE_MODULE, [
33
+ AZURE_PIPELINE_STAGES_DESTROYASG_AZUREDESTROYASGSTAGE,
34
+ AZURE_PIPELINE_STAGES_ENABLEASG_AZUREENABLEASGSTAGE,
35
+ AZURE_PIPELINE_STAGES_DISABLEASG_AZUREDISABLEASGSTAGE,
36
+ AZURE_PIPELINE_STAGES_BAKE_AZUREBAKESTAGE,
37
+ AZURE_SERVERGROUP_DETAILS_SERVERGROUP_DETAILS_MODULE,
38
+ AZURE_SERVERGROUP_SERVERGROUP_TRANSFORMER,
39
+ AZURE_SERVERGROUP_CONFIGURE_WIZARD_CLONESERVERGROUP_AZURE_CONTROLLER,
40
+ AZURE_SERVERGROUP_CONFIGURE_SERVERGROUP_CONFIGURE_AZURE_MODULE,
41
+ AZURE_INSTANCE_AZUREINSTANCETYPE_SERVICE,
42
+ AZURE_LOADBALANCER_LOADBALANCER_TRANSFORMER,
43
+ AZURE_LOADBALANCER_DETAILS_LOADBALANCERDETAIL_CONTROLLER,
44
+ AZURE_LOADBALANCER_CONFIGURE_CREATELOADBALANCER_CONTROLLER,
45
+ AZURE_INSTANCE_DETAILS_INSTANCE_DETAILS_CONTROLLER,
46
+ AZURE_SECURITYGROUP_DETAILS_SECURITYGROUPDETAIL_CONTROLLER,
47
+ AZURE_SECURITYGROUP_CONFIGURE_CREATESECURITYGROUPCTRL,
48
+ AZURE_SECURITYGROUP_CONFIGURE_EDITSECURITYGROUPCTRL,
49
+ AZURE_SECURITYGROUP_SECURITYGROUP_TRANSFORMER,
50
+ AZURE_SECURITYGROUP_SECURITYGROUP_READER,
51
+ AZURE_IMAGE_IMAGE_READER,
52
+ AZURE_VALIDATION_APPLICATIONNAME_VALIDATOR,
53
+ ]).config(function () {
54
+ CloudProviderRegistry.registerProvider('azure', {
55
+ name: 'Azure',
56
+ logo: {
57
+ path: logo,
58
+ },
59
+ image: {
60
+ reader: 'azureImageReader',
61
+ },
62
+ serverGroup: {
63
+ transformer: 'azureServerGroupTransformer',
64
+ detailsTemplateUrl: require('./serverGroup/details/serverGroupDetails.html'),
65
+ detailsController: 'azureServerGroupDetailsCtrl',
66
+ cloneServerGroupTemplateUrl: require('./serverGroup/configure/wizard/serverGroupWizard.html'),
67
+ cloneServerGroupController: 'azureCloneServerGroupCtrl',
68
+ commandBuilder: 'azureServerGroupCommandBuilder',
69
+ configurationService: 'azureServerGroupConfigurationService',
70
+ },
71
+ instance: {
72
+ instanceTypeService: 'azureInstanceTypeService',
73
+ detailsTemplateUrl: require('./instance/details/instanceDetails.html'),
74
+ detailsController: 'azureInstanceDetailsCtrl',
75
+ },
76
+ loadBalancer: {
77
+ transformer: 'azureLoadBalancerTransformer',
78
+ detailsTemplateUrl: require('./loadBalancer/details/loadBalancerDetail.html'),
79
+ detailsController: 'azureLoadBalancerDetailsCtrl',
80
+ createLoadBalancerTemplateUrl: require('./loadBalancer/configure/createLoadBalancer.html'),
81
+ createLoadBalancerController: 'azureCreateLoadBalancerCtrl',
82
+ CreateLoadBalancerModal: AzureLoadBalancerChoiceModal,
83
+ },
84
+ securityGroup: {
85
+ transformer: 'azureSecurityGroupTransformer',
86
+ reader: 'azureSecurityGroupReader',
87
+ detailsTemplateUrl: require('./securityGroup/details/securityGroupDetail.html'),
88
+ detailsController: 'azureSecurityGroupDetailsCtrl',
89
+ createSecurityGroupTemplateUrl: require('./securityGroup/configure/createSecurityGroup.html'),
90
+ createSecurityGroupController: 'azureCreateSecurityGroupCtrl',
91
+ },
92
+ });
93
+ });
94
+
95
+ DeploymentStrategyRegistry.registerProvider('azure', ['redblack']);
@@ -0,0 +1,16 @@
1
+ import type { IProviderSettings } from '@spinnaker/core';
2
+ import { SETTINGS } from '@spinnaker/core';
3
+
4
+ export interface IAzureProviderSettings extends IProviderSettings {
5
+ defaults: {
6
+ account?: string;
7
+ region?: string;
8
+ };
9
+ }
10
+
11
+ export const AzureProviderSettings: IAzureProviderSettings = (SETTINGS.providers.azure as IAzureProviderSettings) || {
12
+ defaults: {},
13
+ };
14
+ if (AzureProviderSettings) {
15
+ AzureProviderSettings.resetToOriginal = SETTINGS.resetProvider('azure');
16
+ }
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+
3
+ import { UserVerification } from '@spinnaker/core';
4
+
5
+ export interface IAzureModalFooterProps {
6
+ onSubmit: () => void;
7
+ onCancel: () => void;
8
+ isValid: boolean;
9
+ account: string;
10
+ }
11
+
12
+ export interface IAzureModalFooterState {
13
+ verified: boolean;
14
+ }
15
+
16
+ export class AzureModalFooter extends React.Component<IAzureModalFooterProps, IAzureModalFooterState> {
17
+ constructor(props: any) {
18
+ super(props);
19
+ }
20
+
21
+ public state = { verified: false };
22
+
23
+ private handleVerification = (verified: boolean) => {
24
+ this.setState({ verified });
25
+ };
26
+
27
+ public render() {
28
+ const { onSubmit, onCancel, isValid, account } = this.props;
29
+ const { verified } = this.state;
30
+
31
+ return (
32
+ <div className="modal-footer">
33
+ {<UserVerification expectedValue={account} onValidChange={this.handleVerification} />}
34
+ <button className="btn btn-default" onClick={onCancel}>
35
+ Cancel
36
+ </button>
37
+ <button type="submit" className="btn btn-primary" onClick={onSubmit} disabled={!isValid || !verified}>
38
+ Submit
39
+ </button>
40
+ </div>
41
+ );
42
+ }
43
+ }
@@ -0,0 +1,60 @@
1
+ import { HelpContentsRegistry } from '@spinnaker/core';
2
+ import Utility from '../utility';
3
+
4
+ const helpContents: { [key: string]: string } = {
5
+ 'azure.securityGroup.ingress.description': 'Friendly description of the rule you want to enable (limit 80 chars.)',
6
+ 'azure.securityGroup.ingress.priority':
7
+ "Rules are processed in priority order; the lower the number, the higher the priority. We recommend leaving gaps between rules - 100, 200, 300, etc. - so that it's easier to add new rules without having to edit existing rules. There are several default rules that can be overridden with priority (65000, 65001 and 65500). For more information visit http://portal.azure.com.",
8
+ 'azure.securityGroup.ingress.source':
9
+ "The source filter can be Any, an IP address range or a default tag('Internet', 'VirtualNetwork', AzureLoadBalancer'). It specifies the incoming traffic from a specific source IP address range (CIDR format) that will be allowed or denied by this rule.",
10
+ 'azure.securityGroup.ingress.sourcePortRange':
11
+ 'The source port range can be a single port, such as 80, or a port range, such as 1024-65535. This specifies from which ports incoming traffic will be allowed or denied by this rule. Provide an asterisk (*) to allow traffic from clients connecting from any port.',
12
+ 'azure.securityGroup.ingress.destination':
13
+ "The destination filter can be Any, an IP address range or a default tag('Internet', 'VirtualNetwork', AzureLoadBalancer'). It specifies the outgoing traffic from a specific destination IP address range (CIDR format) that will be allowed or denied by this rule.",
14
+ 'azure.securityGroup.ingress.destinationPortRange':
15
+ 'The destination port range can be a single port, such as 80, or a port range, such as 1024-65535. This specifies from which destination ports traffic will be allowed or denied by this rule. Provide an asterisk (*) to allow traffic from clients connecting from any port.',
16
+ 'azure.securityGroup.ingress.direction': 'Specifies whether the rule is for inbound or outbound traffic.',
17
+ 'azure.securityGroup.ingress.actions':
18
+ 'To adjust the priority of a rule, move it up or down in the list of rules. Rules at the top of the list have the highest priority.',
19
+ 'azure.securityGroup.ingress.destPortRanges':
20
+ 'Provide a single port, such as 80; a port range, such as 1024-65535; or a comma-separated list of single ports and/or port ranges, such as 80,1024-65535. Provide an asterisk (*) to allow traffic on any port.',
21
+ 'azure.securityGroup.ingress.sourceIPCIDRRanges':
22
+ 'Provide an address range using CIDR notation, such as 192.168.99.0/24; an IP address, such as 192.168.99.0; or a comma-separated list of address ranges or IP addresses, such as 10.0.0.0/24,44.66.0.0/24',
23
+ 'azure.serverGroup.imageName': '(Required) <b>Image</b> is the deployable Azure Machine Image.',
24
+ 'azure.serverGroup.stack':
25
+ '(Required) <b>Stack</b> is one of the core naming components of a cluster, used to create vertical stacks of dependent services for integration testing.',
26
+ 'azure.serverGroup.detail':
27
+ '(Required) <b>Detail</b> is a naming component to help distinguish specifics of the server group.',
28
+ 'azure.serverGroup.scriptLocation':
29
+ 'The location of custom scripts separated by comma or semicolon to be downloaded on to each instance. A single script should be like: fileUri. Multiple scripts should be like fileUri1,fileUri2 or fileUri1;fileUri2',
30
+ 'azure.serverGroup.commandToExecute':
31
+ 'Command(s) to execute custom scripts provided during provisioning of an instance.',
32
+ 'azure.serverGroup.customData': 'Script or metadata to be injected into each instances.',
33
+ 'azure.serverGroup.customTags': `Custom tags on Virtual Machine Scale Set. Allow ${Utility.TAG_LIMITATION} tags at most.`,
34
+ 'azure.serverGroup.enableInboundNAT':
35
+ 'An Azure load balancer of the basic sku will be created with adding inbound NAT port-forwarding rules to facilitate loggin on VM instances. There is no charge for creating an Azure load balancer of the basic sku. This option is disabled if Availability Zones are set which require Standard Azure Load Balancer and an extra Network Security Group with correct inbound and outbound rules configured.',
36
+ 'azure.serverGroup.lun':
37
+ 'Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.',
38
+ 'azure.serverGroup.diskSizeGB':
39
+ 'Specifies the size of an empty data disk in gigabytes. This value cannot be larger than 1023 GB',
40
+ 'azure.serverGroup.managedDisk.storageAccountType':
41
+ 'You can choose between Azure managed disks types to support your workload or scenario.',
42
+ 'azure.serverGroup.caching':
43
+ 'Changing the default host caching policy can adversely impact the performance of your application. You should run performance tests to measure its impact. To improve the total IOPS/throughput, we recommend striping across multiple disks and using premium (SSD) disks.',
44
+ 'azure.serverGroup.userAssignedIdentities':
45
+ 'Allows your server to access Azure resources. Learn more here: https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview',
46
+ 'azure.loadBalancer.dnsName':
47
+ 'If there is no custom DNS label specified, a default DNS name will be created. The default value will be "GeneratedText.cloudapp.net" for Azure Application Gateway or "GeneratedText.[region].cloudapp.azure.com" for Azure Load Balancer.',
48
+ 'azure.loadBalancer.probes.probeInterval':
49
+ 'Probe interval in seconds. This value is the time interval between two consecutive probes.',
50
+ 'azure.loadBalancer.probes.timeout':
51
+ 'Probe time-out in seconds. If a valid response is not received within this time-out period, the probe is marked as failed. Note that the time-out value should not be more than the Interval value.',
52
+ 'azure.loadBalancer.probes.unhealthyThreshold':
53
+ 'Probe retry count. The back-end server is marked down after the consecutive probe failure count reaches the unhealthy threshold.',
54
+ 'azure.loadBalancer.loadBalancingRules.idleTimeout':
55
+ 'Keep a TCP or HTTP connection open without relying on clients to send keep-alive messages.',
56
+ 'azure.loadBalancer.loadBalancingRules.sessionPersistence':
57
+ 'Session persistence specifies that traffic from a client should be handled by the same virtual machine in the backend pool for the duration of a session. "None" specifies that successive requests from the same client may be handled by any virtual machine. "Client IP" specifies that successive requests from the same client IP address will be handled by the same virtual machine. "Client IP and protocol" specifies that successive requests from the same client IP address and protocol combination will be handled by the same virtual machine.',
58
+ };
59
+
60
+ Object.keys(helpContents).forEach((key) => HelpContentsRegistry.register(key, helpContents[key]));
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ import { module } from 'angular';
4
+
5
+ import { REST } from '@spinnaker/core';
6
+
7
+ export const AZURE_IMAGE_IMAGE_READER = 'spinnaker.azure.image.reader';
8
+ export const name = AZURE_IMAGE_IMAGE_READER; // for backwards compatibility
9
+ module(AZURE_IMAGE_IMAGE_READER, []).factory('azureImageReader', function () {
10
+ function findImages(params) {
11
+ return REST('/images/find')
12
+ .query(params)
13
+ .get()
14
+ .then(
15
+ function (results) {
16
+ return results;
17
+ },
18
+ function () {
19
+ return [];
20
+ },
21
+ );
22
+ }
23
+
24
+ function getImage(amiName, region, credentials) {
25
+ return REST('/images')
26
+ .path(credentials, region, amiName)
27
+ .query({ provider: 'azure' })
28
+ .get()
29
+ .then(
30
+ function (results) {
31
+ return results && results.length ? results[0] : null;
32
+ },
33
+ function () {
34
+ return null;
35
+ },
36
+ );
37
+ }
38
+
39
+ return {
40
+ findImages: findImages,
41
+ getImage: getImage,
42
+ };
43
+ });