@@ -4,6 +4,7 @@ import { isEmpty } from 'lodash'
44import services from '../../enums/services'
55import { caseInsensitiveEqual } from '../../utils'
66import { RawAzureResourceGroup } from '../resourceGroup/data'
7+ import { RawAzureVirtualMachineScaleSet } from '../virtualMachineScaleSet/data'
78import { RawAzureAksManagedCluster } from './data'
89
910export default ( {
@@ -18,7 +19,7 @@ export default ({
1819 [ property : string ] : ServiceConnection [ ]
1920} => {
2021 const connections : ServiceConnection [ ] = [ ]
21- const { id, resourceGroupId : rgName } = service
22+ const { id, resourceGroupId : rgName , nodeResourceGroup : nodeRgName } = service
2223
2324 /**
2425 * Find resource group related to this kubernetes environment
@@ -47,6 +48,33 @@ export default ({
4748 }
4849 }
4950
51+ /**
52+ * Find VMSS related to this kubernetes environment
53+ */
54+ const vmssList : {
55+ name : string
56+ data : { [ property : string ] : RawAzureVirtualMachineScaleSet [ ] }
57+ } = data . find ( ( { name } ) => name === services . virtualMachineScaleSet )
58+
59+ if ( vmssList ?. data ?. [ region ] ) {
60+ const vmssInRegion : RawAzureVirtualMachineScaleSet [ ] = vmssList . data [
61+ region
62+ ] . filter ( ( { resourceGroupId : vmssRgName } : RawAzureVirtualMachineScaleSet ) =>
63+ caseInsensitiveEqual ( vmssRgName , nodeRgName )
64+ )
65+
66+ if ( ! isEmpty ( vmssInRegion ) ) {
67+ for ( const vmss of vmssInRegion ) {
68+ connections . push ( {
69+ id : vmss . id ,
70+ resourceType : services . virtualMachineScaleSet ,
71+ relation : 'child' ,
72+ field : 'virtualMachineScaleSets' ,
73+ } )
74+ }
75+ }
76+ }
77+
5078 const kResult = {
5179 [ id ] : connections ,
5280 }
0 commit comments