@drunk-pulumi/azure 0.0.48 → 0.0.50

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 (97) hide show
  1. package/Aks/Helper.d.ts +2 -2
  2. package/Aks/Helper.js +5 -5
  3. package/Aks/Identity.d.ts +2 -2
  4. package/Aks/Identity.js +5 -5
  5. package/Aks/index.d.ts +13 -13
  6. package/Aks/index.js +99 -89
  7. package/Apim/Helpers.d.ts +1 -1
  8. package/Apim/Helpers.js +2 -2
  9. package/AzAd/Identity.d.ts +7 -7
  10. package/AzAd/Identity.js +49 -43
  11. package/Builder/AksBuilder.d.ts +1 -1
  12. package/Builder/AksBuilder.js +7 -3
  13. package/Builder/ApimApiBuilder.d.ts +3 -3
  14. package/Builder/ApimApiBuilder.js +11 -11
  15. package/Builder/ApimBuilder.d.ts +1 -1
  16. package/Builder/ApimBuilder.js +47 -47
  17. package/Builder/ApimPolicyBuilder.d.ts +1 -1
  18. package/Builder/ApimPolicyBuilder.js +21 -21
  19. package/Builder/ApimProductBuilder.d.ts +2 -2
  20. package/Builder/ApimProductBuilder.js +27 -25
  21. package/Builder/ApimRootBuilder.d.ts +3 -3
  22. package/Builder/ApimRootBuilder.js +3 -3
  23. package/Builder/ApimWorkspaceBuilder.d.ts +2 -2
  24. package/Builder/ApimWorkspaceBuilder.js +2 -2
  25. package/Builder/DnsZoneBuilder.d.ts +2 -2
  26. package/Builder/DnsZoneBuilder.js +6 -6
  27. package/Builder/PrivateDnsZoneBuilder.d.ts +2 -2
  28. package/Builder/PrivateDnsZoneBuilder.js +6 -6
  29. package/Builder/ResourceBuilder.d.ts +1 -1
  30. package/Builder/ResourceBuilder.js +33 -9
  31. package/Builder/SqlBuilder.d.ts +1 -1
  32. package/Builder/SqlBuilder.js +2 -2
  33. package/Builder/StorageBuilder.d.ts +1 -1
  34. package/Builder/StorageBuilder.js +7 -7
  35. package/Builder/VdiBuilder.d.ts +1 -2
  36. package/Builder/VdiBuilder.js +7 -7
  37. package/Builder/VmBuilder.d.ts +1 -1
  38. package/Builder/VmBuilder.js +4 -4
  39. package/Builder/types/askBuilder.d.ts +6 -6
  40. package/Builder/types/genericBuilder.d.ts +7 -6
  41. package/Builder/types/genericBuilder.js +1 -1
  42. package/Builder/types/resourceBuilder.d.ts +8 -8
  43. package/Cdn/CdnEndpoint.d.ts +2 -2
  44. package/Cdn/CdnEndpoint.js +19 -19
  45. package/Cdn/index.d.ts +4 -6
  46. package/Cdn/index.js +4 -5
  47. package/Common/AzureEnv.d.ts +6 -10
  48. package/Common/AzureEnv.js +16 -16
  49. package/Common/GlobalEnv.d.ts +1 -3
  50. package/Common/GlobalEnv.js +5 -11
  51. package/Common/ResourceEnv.d.ts +1 -2
  52. package/Common/ResourceEnv.js +15 -15
  53. package/ContainerRegistry/index.d.ts +5 -15
  54. package/ContainerRegistry/index.js +25 -34
  55. package/Core/{KeyGenetators.js → KeyGenerators.js} +1 -1
  56. package/Core/ResourceGroup.d.ts +4 -4
  57. package/Core/ResourceGroup.js +3 -3
  58. package/KeyVault/Helper.d.ts +3 -3
  59. package/KeyVault/Helper.js +16 -12
  60. package/KeyVault/index.d.ts +2 -3
  61. package/KeyVault/index.js +13 -13
  62. package/Logs/AppInsight.d.ts +3 -3
  63. package/Logs/AppInsight.js +10 -10
  64. package/Logs/Helpers.d.ts +4 -4
  65. package/Logs/Helpers.js +16 -16
  66. package/MySql/index.d.ts +5 -5
  67. package/MySql/index.js +22 -22
  68. package/Postgresql/index.d.ts +4 -4
  69. package/Postgresql/index.js +21 -21
  70. package/RedisCache/index.d.ts +2 -2
  71. package/RedisCache/index.js +14 -14
  72. package/ServiceBus/index.d.ts +10 -10
  73. package/ServiceBus/index.js +17 -17
  74. package/SignalR/index.d.ts +5 -5
  75. package/SignalR/index.js +18 -18
  76. package/Sql/index.d.ts +8 -8
  77. package/Sql/index.js +37 -35
  78. package/Storage/Helper.d.ts +3 -3
  79. package/Storage/Helper.js +8 -8
  80. package/Storage/index.d.ts +9 -9
  81. package/Storage/index.js +26 -24
  82. package/VM/index.d.ts +11 -11
  83. package/VM/index.js +15 -15
  84. package/VNet/Helper.d.ts +5 -5
  85. package/VNet/Helper.js +19 -19
  86. package/VNet/PrivateEndpoint.d.ts +2 -2
  87. package/VNet/PrivateEndpoint.js +4 -4
  88. package/VNet/Vnet.d.ts +8 -8
  89. package/VNet/Vnet.js +13 -13
  90. package/VNet/index.d.ts +1 -1
  91. package/Web/AppConfig.d.ts +2 -2
  92. package/Web/AppConfig.js +8 -8
  93. package/package.json +7 -7
  94. package/types.d.ts +29 -22
  95. package/config.d.ts +0 -9
  96. package/config.js +0 -7
  97. /package/Core/{KeyGenetators.d.ts → KeyGenerators.d.ts} +0 -0
package/Aks/Helper.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { KeyVaultInfo, ResourceInfo, ResourceType } from "../types";
2
- import { Output } from "@pulumi/pulumi";
1
+ import { KeyVaultInfo, ResourceInfo, ResourceType } from '../types';
2
+ import { Output } from '@pulumi/pulumi';
3
3
  /** Get AKS Config from Managed Cluster*/
4
4
  export declare const getAksConfig: ({ name, groupName, formattedName, disableLocalAccounts, }: {
5
5
  name: string;
package/Aks/Helper.js CHANGED
@@ -42,7 +42,7 @@ const getAksConfig = async ({ name, groupName, formattedName, disableLocalAccoun
42
42
  resourceName: aksName,
43
43
  resourceGroupName: group,
44
44
  });
45
- return Buffer.from(aks.kubeconfigs[0].value, "base64").toString("utf8");
45
+ return Buffer.from(aks.kubeconfigs[0].value, 'base64').toString('utf8');
46
46
  };
47
47
  exports.getAksConfig = getAksConfig;
48
48
  /** Get AKS Config from Key Vault*/
@@ -54,7 +54,7 @@ const getAksVaultConfig = async ({ name, version, vaultInfo, formattedName, }) =
54
54
  vaultInfo,
55
55
  nameFormatted: false,
56
56
  });
57
- return rs?.value || "";
57
+ return rs?.value || '';
58
58
  };
59
59
  exports.getAksVaultConfig = getAksVaultConfig;
60
60
  const getAksPrivateDnz = ({ name, groupName, formattedName, }) => {
@@ -67,10 +67,10 @@ const getAksPrivateDnz = ({ name, groupName, formattedName, }) => {
67
67
  return aks.apply((a) => {
68
68
  if (!a.privateFQDN)
69
69
  return undefined;
70
- const dnsName = a.privateFQDN.split(":").slice(1).join(".");
70
+ const dnsName = a.privateFQDN.split(':').slice(1).join('.');
71
71
  const rsGroup = a.nodeResourceGroup;
72
72
  return {
73
- resourceName: dnsName,
73
+ name: dnsName,
74
74
  group: { resourceGroupName: rsGroup, location: AzureEnv_1.currentRegionName },
75
75
  id: (0, pulumi_1.interpolate) `/subscriptions/${AzureEnv_1.subscriptionId}/resourceGroups/${rsGroup}/providers/Microsoft.Network/privateDnsZones/${dnsName}`,
76
76
  };
@@ -94,4 +94,4 @@ exports.getAksPrivateDnz = getAksPrivateDnz;
94
94
  // });
95
95
  // });
96
96
  // };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Frcy9IZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3RkFBMEU7QUFDMUUsNkNBQW9FO0FBRXBFLCtDQUErQztBQUMvQywyQ0FBcUQ7QUFDckQsaURBQXVFO0FBRXZFLHlDQUF5QztBQUNsQyxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsRUFDakMsSUFBSSxFQUNKLFNBQVMsRUFDVCxhQUFhLEVBQ2Isb0JBQW9CLEdBTXJCLEVBQW1CLEVBQUU7SUFDcEIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBQSw2QkFBb0IsRUFBQyxTQUFTLENBQUMsQ0FBQztJQUUxRSxNQUFNLEdBQUcsR0FBRyxvQkFBb0I7UUFDOUIsQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsaUNBQWlDLENBQUM7WUFDdkQsWUFBWSxFQUFFLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDO1FBQ0osQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsa0NBQWtDLENBQUM7WUFDeEQsWUFBWSxFQUFFLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDLENBQUM7SUFFUCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQztBQXpCVyxRQUFBLFlBQVksZ0JBeUJ2QjtBQUVGLG1DQUFtQztBQUM1QixNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxFQUN0QyxJQUFJLEVBQ0osT0FBTyxFQUNQLFNBQVMsRUFDVCxhQUFhLEdBTWQsRUFBbUIsRUFBRTtJQUNwQixNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxrQkFBUyxFQUFDO1FBQ3pCLElBQUksRUFBRSxHQUFHLE9BQU8sU0FBUztRQUN6QixPQUFPO1FBQ1AsU0FBUztRQUNULGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FBQztJQUNILE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsaUJBQWlCLHFCQW1CNUI7QUFFSyxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFDL0IsSUFBSSxFQUNKLFNBQVMsRUFDVCxhQUFhLEdBQ0EsRUFBb0MsRUFBRTtJQUNuRCxJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxTQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUEsNkJBQW9CLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEUsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUM7UUFDbkQsWUFBWSxFQUFFLElBQUk7UUFDbEIsaUJBQWlCLEVBQUUsU0FBUztLQUM3QixDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNyQixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVc7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxpQkFBa0IsQ0FBQztRQUVyQyxPQUFPO1lBQ0wsWUFBWSxFQUFFLE9BQU87WUFDckIsS0FBSyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSw0QkFBaUIsRUFBRTtZQUNsRSxFQUFFLEVBQUUsSUFBQSxvQkFBVyxFQUFBLGtCQUFrQix5QkFBYyxtQkFBbUIsT0FBTyxnREFBZ0QsT0FBTyxFQUFFO1NBQ25ILENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUF4QlcsUUFBQSxnQkFBZ0Isb0JBd0IzQjtBQUVGLDBDQUEwQztBQUMxQyxZQUFZO0FBQ1osVUFBVTtBQUNWLGVBQWU7QUFDZixtQkFBbUI7QUFDbkIscURBQXFEO0FBQ3JELHNFQUFzRTtBQUN0RSw4QkFBOEI7QUFDOUIsc0JBQXNCO0FBQ3RCLG9DQUFvQztBQUNwQyxjQUFjO0FBQ2Qsd0JBQXdCO0FBQ3hCLGtDQUFrQztBQUNsQyxnQkFBZ0I7QUFDaEIsVUFBVTtBQUNWLFFBQVE7QUFDUixLQUFLIn0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Frcy9IZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3RkFBMEU7QUFDMUUsNkNBQW9FO0FBRXBFLCtDQUErQztBQUMvQywyQ0FBcUQ7QUFDckQsaURBQXVFO0FBRXZFLHlDQUF5QztBQUNsQyxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsRUFDakMsSUFBSSxFQUNKLFNBQVMsRUFDVCxhQUFhLEVBQ2Isb0JBQW9CLEdBTXJCLEVBQW1CLEVBQUU7SUFDcEIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBQSw2QkFBb0IsRUFBQyxTQUFTLENBQUMsQ0FBQztJQUUxRSxNQUFNLEdBQUcsR0FBRyxvQkFBb0I7UUFDOUIsQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsaUNBQWlDLENBQUM7WUFDdkQsWUFBWSxFQUFFLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDO1FBQ0osQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsa0NBQWtDLENBQUM7WUFDeEQsWUFBWSxFQUFFLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDLENBQUM7SUFFUCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQztBQXpCVyxRQUFBLFlBQVksZ0JBeUJ2QjtBQUVGLG1DQUFtQztBQUM1QixNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxFQUN0QyxJQUFJLEVBQ0osT0FBTyxFQUNQLFNBQVMsRUFDVCxhQUFhLEdBTWQsRUFBbUIsRUFBRTtJQUNwQixNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxrQkFBUyxFQUFDO1FBQ3pCLElBQUksRUFBRSxHQUFHLE9BQU8sU0FBUztRQUN6QixPQUFPO1FBQ1AsU0FBUztRQUNULGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FBQztJQUNILE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsaUJBQWlCLHFCQW1CNUI7QUFFSyxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFDL0IsSUFBSSxFQUNKLFNBQVMsRUFDVCxhQUFhLEdBQ0EsRUFBb0MsRUFBRTtJQUNuRCxJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxTQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUEsNkJBQW9CLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEUsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUM7UUFDbkQsWUFBWSxFQUFFLElBQUk7UUFDbEIsaUJBQWlCLEVBQUUsU0FBUztLQUM3QixDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNyQixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVc7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxpQkFBa0IsQ0FBQztRQUVyQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLDRCQUFpQixFQUFFO1lBQ2xFLEVBQUUsRUFBRSxJQUFBLG9CQUFXLEVBQUEsa0JBQWtCLHlCQUFjLG1CQUFtQixPQUFPLGdEQUFnRCxPQUFPLEVBQUU7U0FDbkgsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXhCVyxRQUFBLGdCQUFnQixvQkF3QjNCO0FBRUYsMENBQTBDO0FBQzFDLFlBQVk7QUFDWixVQUFVO0FBQ1YsZUFBZTtBQUNmLG1CQUFtQjtBQUNuQixxREFBcUQ7QUFDckQsc0VBQXNFO0FBQ3RFLDhCQUE4QjtBQUM5QixzQkFBc0I7QUFDdEIsb0NBQW9DO0FBQ3BDLGNBQWM7QUFDZCx3QkFBd0I7QUFDeEIsa0NBQWtDO0FBQ2xDLGdCQUFnQjtBQUNoQixVQUFVO0FBQ1YsUUFBUTtBQUNSLEtBQUsifQ==
package/Aks/Identity.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { BasicArgs, KeyVaultInfo } from "../types";
1
+ import { BasicArgs, KeyVaultInfo } from '../types';
2
2
  interface Props extends BasicArgs {
3
3
  name: string;
4
- vaultInfo: KeyVaultInfo;
4
+ vaultInfo?: KeyVaultInfo;
5
5
  }
6
6
  declare const _default: ({ name, vaultInfo, dependsOn }: Props) => import("../AzAd/Identity").IdentityResult;
7
7
  export default _default;
package/Aks/Identity.js CHANGED
@@ -10,24 +10,24 @@ const AzureEnv_1 = require("../Common/AzureEnv");
10
10
  //** The AzAD app Identity for Azure Kubernetes for RBAC */
11
11
  exports.default = ({ name, vaultInfo, dependsOn }) => {
12
12
  //AKS need this permission for AAD integration
13
- const graphAccess = (0, GraphDefinition_1.getGraphPermissions)({ name: "User.Read", type: "Scope" }, { name: "Group.Read.All", type: "Scope" },
13
+ const graphAccess = (0, GraphDefinition_1.getGraphPermissions)({ name: 'User.Read', type: 'Scope' }, { name: 'Group.Read.All', type: 'Scope' },
14
14
  //{ name: 'Directory.Read.All', type: 'Scope' },
15
- { name: "Directory.Read.All", type: "Role" });
15
+ { name: 'Directory.Read.All', type: 'Role' });
16
16
  const serverIdentity = (0, Identity_1.default)({
17
17
  name,
18
18
  createClientSecret: true,
19
19
  createPrincipal: true,
20
20
  requiredResourceAccesses: [graphAccess],
21
21
  publicClient: false,
22
- appType: "api",
22
+ appType: 'api',
23
23
  vaultInfo,
24
24
  dependsOn,
25
25
  });
26
26
  (0, RoleAssignment_1.roleAssignment)({
27
27
  name: `${name}-aks-identity-acr-pull`,
28
28
  principalId: serverIdentity.principalId,
29
- principalType: "ServicePrincipal",
30
- roleName: "AcrPull",
29
+ principalType: 'ServicePrincipal',
30
+ roleName: 'AcrPull',
31
31
  scope: AzureEnv_1.defaultScope,
32
32
  dependsOn: serverIdentity.resource,
33
33
  });
package/Aks/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import * as native from "@pulumi/azure-native";
2
- import * as pulumi from "@pulumi/pulumi";
3
- import { Input, Output } from "@pulumi/pulumi";
4
- import { BasicResourceArgs, KeyVaultInfo, ResourceInfo } from "../types";
5
- import { EnvRolesResults } from "../AzAd/EnvRoles";
6
- import * as inputs from "@pulumi/azure-native/types/input";
7
- import { IdentityResult } from "../AzAd/Identity";
8
- import { ManagedCluster } from "@pulumi/azure-native/containerservice";
1
+ import * as native from '@pulumi/azure-native';
2
+ import * as pulumi from '@pulumi/pulumi';
3
+ import { Input, Output } from '@pulumi/pulumi';
4
+ import { BasicResourceArgs, KeyVaultInfo, ResourceInfo } from '../types';
5
+ import { EnvRolesResults } from '../AzAd/EnvRoles';
6
+ import * as inputs from '@pulumi/azure-native/types/input';
7
+ import { IdentityResult } from '../AzAd/Identity';
8
+ import { ManagedCluster } from '@pulumi/azure-native/containerservice';
9
9
  export declare enum VmSizes {
10
10
  /** 32G RAM - 4CPU - $221.92 */
11
11
  Standard_E4as_v4 = "Standard_E4as_v4",
@@ -52,7 +52,7 @@ export type AskFeatureProps = {
52
52
  enableDiagnosticSetting?: boolean;
53
53
  };
54
54
  export type AksAccessProps = {
55
- envRoles: EnvRolesResults;
55
+ envRoles?: EnvRolesResults;
56
56
  authorizedIPRanges?: Input<string>[];
57
57
  disableLocalAccounts?: boolean;
58
58
  };
@@ -64,8 +64,8 @@ export type AksNetworkProps = {
64
64
  ipAddressPrefixId?: pulumi.Input<string>;
65
65
  };
66
66
  };
67
- export type AksNodePoolProps = Omit<NodePoolProps, "subnetId" | "aksId">;
68
- export type DefaultAksNodePoolProps = Omit<AksNodePoolProps, "name" | "mode">;
67
+ export type AksNodePoolProps = Omit<NodePoolProps, 'subnetId' | 'aksId'>;
68
+ export type DefaultAksNodePoolProps = Omit<AksNodePoolProps, 'name' | 'mode'>;
69
69
  export interface AksProps extends BasicResourceArgs {
70
70
  tier?: native.containerservice.ManagedClusterSKUTier;
71
71
  addon?: AskAddonProps;
@@ -82,7 +82,7 @@ export interface AksProps extends BasicResourceArgs {
82
82
  sshKeys: Array<pulumi.Input<string>>;
83
83
  };
84
84
  nodePools?: Array<AksNodePoolProps>;
85
- vaultInfo: KeyVaultInfo;
85
+ vaultInfo?: KeyVaultInfo;
86
86
  logWpId?: Input<string>;
87
87
  /**Lock resource from delete*/
88
88
  lock?: boolean;
@@ -91,7 +91,7 @@ export type AksResults = ResourceInfo & {
91
91
  serviceIdentity: IdentityResult;
92
92
  aks: ManagedCluster;
93
93
  disableLocalAccounts?: boolean;
94
- getKubeConfig: () => Output<string>;
94
+ getKubeConfig: () => Output<string> | undefined;
95
95
  };
96
96
  declare const _default: ({ group, name, linux, defaultNodePool, nodePools, network, logWpId, acr, aksAccess, vaultInfo, features, addon, tier, lock, dependsOn, importUri, ignoreChanges, }: AksProps) => Promise<AksResults>;
97
97
  export default _default;
package/Aks/index.js CHANGED
@@ -36,7 +36,7 @@ const Locker_1 = __importDefault(require("../Core/Locker"));
36
36
  const Identity_1 = __importDefault(require("./Identity"));
37
37
  const StackEnv_1 = require("../Common/StackEnv");
38
38
  const Helpers_1 = require("../Logs/Helpers");
39
- const Naming_1 = require("../Common/Naming");
39
+ const Common_1 = require("../Common");
40
40
  const RoleAssignment_1 = require("../AzAd/RoleAssignment");
41
41
  const Helper_1 = require("./Helper");
42
42
  const CustomHelper_1 = require("../KeyVault/CustomHelper");
@@ -47,11 +47,11 @@ const autoScaleFor = ({ enableAutoScaling, nodeType, env, }) => {
47
47
  let maxCount = 3;
48
48
  if (env === AzureEnv_1.Environments.Prd) {
49
49
  switch (nodeType) {
50
- case "User":
50
+ case 'User':
51
51
  maxCount = 5;
52
52
  break;
53
- case "Default":
54
- case "System":
53
+ case 'Default':
54
+ case 'System':
55
55
  default:
56
56
  maxCount = 3;
57
57
  break;
@@ -65,9 +65,9 @@ const autoScaleFor = ({ enableAutoScaling, nodeType, env, }) => {
65
65
  };
66
66
  };
67
67
  const defaultNodePoolProps = {
68
- availabilityZones: AzureEnv_1.isPrd ? ["1", "2", "3"] : undefined,
68
+ availabilityZones: AzureEnv_1.isPrd ? ['1', '2', '3'] : undefined,
69
69
  type: native.containerservice.AgentPoolType.VirtualMachineScaleSets,
70
- vmSize: "Standard_B2s",
70
+ vmSize: 'Standard_B2s',
71
71
  maxPods: 50,
72
72
  enableFIPS: false,
73
73
  enableNodePublicIP: false,
@@ -109,18 +109,18 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
109
109
  enableAzureKeyVault: false,
110
110
  enableKubeDashboard: false,
111
111
  }, tier = native.containerservice.ManagedClusterSKUTier.Free, lock = true, dependsOn = [], importUri, ignoreChanges = [], }) => {
112
- const aksName = (0, Naming_1.getAksName)(name);
112
+ const aksName = (0, Common_1.getAksName)(name);
113
113
  const secretName = `${aksName}-config`;
114
114
  const acrScope = acr?.enable ? acr.id ?? AzureEnv_1.defaultScope : undefined;
115
- const nodeResourceGroup = (0, Naming_1.getResourceGroupName)(`${aksName}-nodes`);
115
+ const nodeResourceGroup = (0, Common_1.getResourceGroupName)(`${aksName}-nodes`);
116
116
  //Auto detect and disable Local Account
117
- if (aksAccess.disableLocalAccounts === undefined) {
117
+ if (aksAccess.disableLocalAccounts === undefined && vaultInfo) {
118
118
  aksAccess.disableLocalAccounts = await (0, KeyVaultBase_1.getKeyVaultBase)(vaultInfo.name)
119
119
  .checkSecretExist(secretName)
120
120
  .catch(() => false);
121
121
  }
122
122
  if (ignoreChanges.length <= 0) {
123
- ignoreChanges.push("privateLinkResources", "networkProfile", "linuxProfile", "windowsProfile");
123
+ ignoreChanges.push('privateLinkResources', 'networkProfile', 'linuxProfile', 'windowsProfile');
124
124
  }
125
125
  const serviceIdentity = (0, Identity_1.default)({
126
126
  name: aksName,
@@ -147,13 +147,13 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
147
147
  disableRunCommand: true,
148
148
  enablePrivateCluster: features?.enablePrivateCluster,
149
149
  enablePrivateClusterPublicFQDN: true,
150
- privateDNSZone: "system",
150
+ privateDNSZone: 'system',
151
151
  },
152
152
  addonProfiles: {
153
153
  azureKeyvaultSecretsProvider: {
154
154
  config: addon.enableAzureKeyVault
155
155
  ? {
156
- enableSecretRotation: "true",
156
+ enableSecretRotation: 'true',
157
157
  }
158
158
  : undefined,
159
159
  enabled: Boolean(addon.enableAzureKeyVault),
@@ -196,7 +196,7 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
196
196
  ...defaultNodePool,
197
197
  ...autoScaleFor({
198
198
  env: AzureEnv_1.currentEnv,
199
- nodeType: "System",
199
+ nodeType: 'System',
200
200
  enableAutoScaling: features?.enableAutoScale,
201
201
  // powerState: {
202
202
  // code: "Running",
@@ -205,13 +205,13 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
205
205
  // maxSurge: "10%",
206
206
  // },
207
207
  }),
208
- name: "defaultnodes",
209
- mode: "System",
208
+ name: 'defaultnodes',
209
+ mode: 'System',
210
210
  count: 1,
211
211
  vnetSubnetID: network.subnetId,
212
- kubeletDiskType: "OS",
213
- osSKU: "Ubuntu",
214
- osType: "Linux",
212
+ kubeletDiskType: 'OS',
213
+ osSKU: 'Ubuntu',
214
+ osType: 'Linux',
215
215
  },
216
216
  ],
217
217
  linuxProfile: linux
@@ -222,27 +222,27 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
222
222
  : undefined,
223
223
  //This is not inuse
224
224
  windowsProfile: {
225
- adminUsername: "azureuser",
225
+ adminUsername: 'azureuser',
226
226
  enableCSIProxy: true,
227
227
  },
228
228
  autoScalerProfile: {
229
- balanceSimilarNodeGroups: "true",
230
- expander: "random",
231
- maxEmptyBulkDelete: "10",
232
- maxGracefulTerminationSec: "600",
233
- maxNodeProvisionTime: "15m",
234
- maxTotalUnreadyPercentage: "45",
235
- newPodScaleUpDelay: "0s",
236
- okTotalUnreadyCount: "3",
237
- scaleDownDelayAfterAdd: "30m",
238
- scaleDownDelayAfterDelete: "60s",
239
- scaleDownDelayAfterFailure: "10m",
240
- scaleDownUnneededTime: "10m",
241
- scaleDownUnreadyTime: "20m",
242
- scaleDownUtilizationThreshold: "0.5",
243
- scanInterval: "60s",
244
- skipNodesWithLocalStorage: "false",
245
- skipNodesWithSystemPods: "true",
229
+ balanceSimilarNodeGroups: 'true',
230
+ expander: 'random',
231
+ maxEmptyBulkDelete: '10',
232
+ maxGracefulTerminationSec: '600',
233
+ maxNodeProvisionTime: '15m',
234
+ maxTotalUnreadyPercentage: '45',
235
+ newPodScaleUpDelay: '0s',
236
+ okTotalUnreadyCount: '3',
237
+ scaleDownDelayAfterAdd: '30m',
238
+ scaleDownDelayAfterDelete: '60s',
239
+ scaleDownDelayAfterFailure: '10m',
240
+ scaleDownUnneededTime: '10m',
241
+ scaleDownUnreadyTime: '20m',
242
+ scaleDownUtilizationThreshold: '0.5',
243
+ scanInterval: '60s',
244
+ skipNodesWithLocalStorage: 'false',
245
+ skipNodesWithSystemPods: 'true',
246
246
  },
247
247
  //Still under preview
248
248
  // workloadAutoScalerProfile: enableAutoScale
@@ -281,12 +281,14 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
281
281
  },
282
282
  disableLocalAccounts: Boolean(aksAccess.disableLocalAccounts),
283
283
  enableRBAC: true,
284
- aadProfile: {
285
- enableAzureRBAC: true,
286
- managed: true,
287
- adminGroupObjectIDs: [aksAccess.envRoles.admin.objectId],
288
- tenantID: AzureEnv_1.tenantId,
289
- },
284
+ aadProfile: aksAccess.envRoles
285
+ ? {
286
+ enableAzureRBAC: true,
287
+ managed: true,
288
+ adminGroupObjectIDs: [aksAccess.envRoles.admin.objectId],
289
+ tenantID: AzureEnv_1.tenantId,
290
+ }
291
+ : undefined,
290
292
  oidcIssuerProfile: { enabled: false },
291
293
  storageProfile: {
292
294
  blobCSIDriver: {
@@ -308,7 +310,7 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
308
310
  outboundType: features?.enablePrivateCluster || !network.outboundIpAddress
309
311
  ? native.containerservice.OutboundType.UserDefinedRouting
310
312
  : native.containerservice.OutboundType.LoadBalancer,
311
- loadBalancerSku: "Standard",
313
+ loadBalancerSku: 'Standard',
312
314
  loadBalancerProfile: network.outboundIpAddress
313
315
  ? {
314
316
  outboundIPs: network.outboundIpAddress.ipAddressId
@@ -334,7 +336,7 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
334
336
  ignoreChanges,
335
337
  });
336
338
  new native.containerservice.MaintenanceConfiguration(`${aksName}-MaintenanceConfiguration`, {
337
- configName: "default",
339
+ configName: 'default',
338
340
  // notAllowedTime: [
339
341
  // {
340
342
  // end: "2020-11-30T12:00:00Z",
@@ -365,12 +367,12 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
365
367
  nodeType: p.mode,
366
368
  enableAutoScaling: features.enableAutoScale,
367
369
  }),
368
- count: p.mode === "System" ? 1 : 0,
370
+ count: p.mode === 'System' ? 1 : 0,
369
371
  //orchestratorVersion: kubernetesVersion,
370
372
  vnetSubnetID: network.subnetId,
371
- kubeletDiskType: "OS",
372
- osSKU: "Ubuntu",
373
- osType: "Linux",
373
+ kubeletDiskType: 'OS',
374
+ osSKU: 'Ubuntu',
375
+ osType: 'Linux',
374
376
  }));
375
377
  }
376
378
  //Grant permission for Group
@@ -381,28 +383,30 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
381
383
  pulumi
382
384
  .all([aks.identity, aks.identityProfile, network.subnetId])
383
385
  .apply(([identity, identityProfile, sId]) => {
384
- if (acrScope && identityProfile && identityProfile["kubeletidentity"]) {
386
+ if (acrScope && identityProfile && identityProfile['kubeletidentity']) {
385
387
  (0, RoleAssignment_1.roleAssignment)({
386
388
  name: `${name}-aks-identity-profile-pull`,
387
- principalId: identityProfile["kubeletidentity"].objectId,
388
- principalType: "ServicePrincipal",
389
- roleName: "AcrPull",
389
+ principalId: identityProfile['kubeletidentity'].objectId,
390
+ principalType: 'ServicePrincipal',
391
+ roleName: 'AcrPull',
390
392
  scope: acrScope,
391
393
  });
392
- (0, CustomHelper_1.addCustomSecret)({
393
- name: `${name}-identity-clientId`,
394
- value: identityProfile["kubeletidentity"].clientId,
395
- dependsOn: aks,
396
- contentType: name,
397
- vaultInfo,
398
- });
394
+ if (vaultInfo) {
395
+ (0, CustomHelper_1.addCustomSecret)({
396
+ name: `${name}-identity-clientId`,
397
+ value: identityProfile['kubeletidentity'].clientId,
398
+ dependsOn: aks,
399
+ contentType: name,
400
+ vaultInfo,
401
+ });
402
+ }
399
403
  }
400
404
  if (network.subnetId && identity) {
401
405
  (0, RoleAssignment_1.roleAssignment)({
402
406
  name: `${name}-system-net`,
403
407
  principalId: identity.principalId,
404
- roleName: "Contributor",
405
- principalType: "ServicePrincipal",
408
+ roleName: 'Contributor',
409
+ principalType: 'ServicePrincipal',
406
410
  scope: (0, AzureEnv_1.getResourceIdFromInfo)({
407
411
  group: (0, AzureEnv_1.parseResourceInfoFromId)(sId).group,
408
412
  }),
@@ -416,16 +420,18 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
416
420
  formattedName: true,
417
421
  disableLocalAccounts: aksAccess.disableLocalAccounts,
418
422
  });
419
- (0, CustomHelper_1.addCustomSecret)({
420
- name: secretName,
421
- value: config,
422
- formattedName: true,
423
- dependsOn: aks,
424
- contentType: aksAccess.disableLocalAccounts
425
- ? `${name}-UserCredentials`
426
- : `${name}-AdminCredentials`,
427
- vaultInfo,
428
- });
423
+ if (vaultInfo) {
424
+ (0, CustomHelper_1.addCustomSecret)({
425
+ name: secretName,
426
+ value: config,
427
+ formattedName: true,
428
+ dependsOn: aks,
429
+ contentType: aksAccess.disableLocalAccounts
430
+ ? `${name}-UserCredentials`
431
+ : `${name}-AdminCredentials`,
432
+ vaultInfo,
433
+ });
434
+ }
429
435
  //Diagnostic
430
436
  if (features.enableDiagnosticSetting && logWpId) {
431
437
  (0, Helpers_1.createDiagnostic)({
@@ -433,33 +439,37 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
433
439
  targetResourceId: id,
434
440
  logWpId,
435
441
  logsCategories: [
436
- "guard",
437
- "kube-controller-manager",
438
- "kube-audit-admin",
439
- "kube-audit",
440
- "kube-scheduler",
441
- "cluster-autoscaler",
442
+ 'guard',
443
+ 'kube-controller-manager',
444
+ 'kube-audit-admin',
445
+ 'kube-audit',
446
+ 'kube-scheduler',
447
+ 'cluster-autoscaler',
442
448
  ],
443
449
  dependsOn: aks,
444
450
  });
445
- //Apply monitoring for VMScale Sets
446
- (0, VmSetMonitor_1.default)({
447
- group: { resourceGroupName: nodeResourceGroup },
448
- logWpId,
449
- vaultInfo,
450
- dependsOn: aks,
451
- });
451
+ if (vaultInfo) {
452
+ //Apply monitoring for VMScale Sets
453
+ (0, VmSetMonitor_1.default)({
454
+ group: { resourceGroupName: nodeResourceGroup },
455
+ logWpId,
456
+ vaultInfo,
457
+ dependsOn: aks,
458
+ });
459
+ }
452
460
  }
453
461
  });
454
462
  return {
455
- resourceName: name,
463
+ name,
456
464
  group,
457
465
  id: aks.id,
458
466
  aks,
459
467
  serviceIdentity,
460
- getKubeConfig: () => (0, pulumi_1.output)((0, KeyVaultBase_1.getKeyVaultBase)(vaultInfo.name)
461
- .getSecret(secretName)
462
- .then((s) => s.value)),
468
+ getKubeConfig: () => vaultInfo
469
+ ? (0, pulumi_1.output)((0, KeyVaultBase_1.getKeyVaultBase)(vaultInfo.name)
470
+ .getSecret(secretName)
471
+ .then((s) => s.value))
472
+ : undefined,
463
473
  };
464
474
  };
465
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQWtzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStDO0FBQy9DLHVEQUF5QztBQUN6QywyQ0FBdUQ7QUFDdkQsa0VBQTJDO0FBRTNDLGlEQVE0QjtBQUM1Qiw0REFBb0M7QUFDcEMsMERBQTRDO0FBQzVDLGlEQUEyQztBQUMzQyw2Q0FBbUQ7QUFDbkQsNkNBQW9FO0FBQ3BFLDJEQUF3RDtBQUV4RCxxQ0FBd0M7QUFDeEMsMkRBQTJEO0FBRTNELG9GQUFvRjtBQUlwRixNQUFNLFlBQVksR0FBRyxDQUFDLEVBQ3BCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsR0FBRyxHQUtKLEVBQUUsRUFBRTtJQUNILE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNwQixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWpCLElBQUksR0FBRyxLQUFLLHVCQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLE1BQU07Z0JBQ1QsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNO1lBRVIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFFBQVEsQ0FBQztZQUNkO2dCQUNFLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLGlCQUFpQjtRQUNqQixTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNwRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNsRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFB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
475
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQWtzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStDO0FBQy9DLHVEQUF5QztBQUN6QywyQ0FBdUQ7QUFDdkQsa0VBQTJDO0FBRTNDLGlEQVE0QjtBQUM1Qiw0REFBb0M7QUFDcEMsMERBQTRDO0FBQzVDLGlEQUEyQztBQUMzQyw2Q0FBbUQ7QUFDbkQsc0NBQTZEO0FBQzdELDJEQUF3RDtBQUV4RCxxQ0FBd0M7QUFDeEMsMkRBQTJEO0FBRTNELG9GQUFvRjtBQUlwRixNQUFNLFlBQVksR0FBRyxDQUFDLEVBQ3BCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsR0FBRyxHQUtKLEVBQUUsRUFBRTtJQUNILE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNwQixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWpCLElBQUksR0FBRyxLQUFLLHVCQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLE1BQU07Z0JBQ1QsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNO1lBRVIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFFBQVEsQ0FBQztZQUNkO2dCQUNFLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLGlCQUFpQjtRQUNqQixTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNwRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNsRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFB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
package/Apim/Helpers.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { ResourceInfo } from "../types";
1
+ import { ResourceInfo } from '../types';
2
2
  export declare const getApimInfo: (nameAndGroup: string) => ResourceInfo;
package/Apim/Helpers.js CHANGED
@@ -9,10 +9,10 @@ const getApimInfo = (nameAndGroup) => {
9
9
  const rgName = (0, Naming_1.getResourceGroupName)(nameAndGroup);
10
10
  const id = (0, pulumi_1.interpolate) `/subscriptions/${AzureEnv_1.subscriptionId}/resourceGroups/${rgName}/providers/Microsoft.ApiManagement/service/${name}`;
11
11
  return {
12
- resourceName: name,
12
+ name,
13
13
  group: { resourceGroupName: rgName, location: AzureEnv_1.currentRegionName },
14
14
  id,
15
15
  };
16
16
  };
17
17
  exports.getApimInfo = getApimInfo;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BcGltL0hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQXFFO0FBQ3JFLDJDQUE2QztBQUM3QyxpREFBdUU7QUFFaEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxZQUFvQixFQUFnQixFQUFFO0lBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFBLDZCQUFvQixFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELE1BQU0sRUFBRSxHQUFHLElBQUEsb0JBQVcsRUFBQSxrQkFBa0IseUJBQWMsbUJBQW1CLE1BQU0sOENBQThDLElBQUksRUFBRSxDQUFDO0lBRXBJLE9BQU87UUFDTCxZQUFZLEVBQUUsSUFBSTtRQUNsQixLQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLDRCQUFpQixFQUFFO1FBQ2pFLEVBQUU7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVlcsUUFBQSxXQUFXLGVBVXRCIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BcGltL0hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQXFFO0FBQ3JFLDJDQUE2QztBQUM3QyxpREFBdUU7QUFFaEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxZQUFvQixFQUFnQixFQUFFO0lBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFBLDZCQUFvQixFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELE1BQU0sRUFBRSxHQUFHLElBQUEsb0JBQVcsRUFBQSxrQkFBa0IseUJBQWMsbUJBQW1CLE1BQU0sOENBQThDLElBQUksRUFBRSxDQUFDO0lBRXBJLE9BQU87UUFDTCxJQUFJO1FBQ0osS0FBSyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSw0QkFBaUIsRUFBRTtRQUNqRSxFQUFFO0tBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVZXLFFBQUEsV0FBVyxlQVV0QiJ9
@@ -1,8 +1,8 @@
1
- import * as azureAD from "@pulumi/azuread";
2
- import * as pulumi from "@pulumi/pulumi";
3
- import { Output } from "@pulumi/pulumi";
4
- import { ApplicationApiOauth2PermissionScope, ApplicationAppRole, ApplicationRequiredResourceAccess, ApplicationOptionalClaims } from "@pulumi/azuread/types/input";
5
- import { BasicArgs, IdentityRoleAssignment, KeyVaultInfo } from "../types";
1
+ import * as azureAD from '@pulumi/azuread';
2
+ import * as pulumi from '@pulumi/pulumi';
3
+ import { Output } from '@pulumi/pulumi';
4
+ import { ApplicationApiOauth2PermissionScope, ApplicationAppRole, ApplicationOptionalClaims, ApplicationRequiredResourceAccess } from '@pulumi/azuread/types/input';
5
+ import { BasicArgs, IdentityRoleAssignment, KeyVaultInfo } from '../types';
6
6
  type PreAuthApplicationProps = {
7
7
  appId: string;
8
8
  oauth2PermissionNames: string[];
@@ -16,7 +16,7 @@ interface IdentityProps extends BasicArgs, IdentityRoleAssignment {
16
16
  publicClient?: boolean;
17
17
  createPrincipal?: boolean;
18
18
  replyUrls?: pulumi.Input<pulumi.Input<string>[]>;
19
- appType?: "spa" | "web" | "api";
19
+ appType?: 'spa' | 'web' | 'api';
20
20
  allowMultiOrg?: boolean;
21
21
  appRoles?: pulumi.Input<pulumi.Input<ApplicationAppRole>[]>;
22
22
  oauth2Permissions?: pulumi.Input<pulumi.Input<ApplicationApiOauth2PermissionScope>[]>;
@@ -24,7 +24,7 @@ interface IdentityProps extends BasicArgs, IdentityRoleAssignment {
24
24
  preAuthApplications?: PreAuthApplicationProps[];
25
25
  requiredResourceAccesses?: pulumi.Input<pulumi.Input<ApplicationRequiredResourceAccess>[]>;
26
26
  optionalClaims?: pulumi.Input<ApplicationOptionalClaims>;
27
- vaultInfo: KeyVaultInfo;
27
+ vaultInfo?: KeyVaultInfo;
28
28
  }
29
29
  export type IdentityResult = {
30
30
  name: string;