@drunk-pulumi/azure 0.0.38 → 0.0.40

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 (96) hide show
  1. package/Aks/Helper.d.ts +2 -2
  2. package/Aks/Helper.js +2 -2
  3. package/Aks/index.d.ts +2 -1
  4. package/Aks/index.js +39 -46
  5. package/Apim/index.d.ts +4 -4
  6. package/Apim/index.js +2 -3
  7. package/AzAd/B2C.d.ts +3 -4
  8. package/AzAd/B2C.js +11 -15
  9. package/AzAd/EnvRoles.d.ts +2 -1
  10. package/AzAd/EnvRoles.js +2 -2
  11. package/AzAd/Helper.js +9 -5
  12. package/AzAd/Identities/AzDevOpsManagedIdentity.d.ts +0 -1
  13. package/AzAd/Identities/AzDevOpsManagedIdentity.js +1 -2
  14. package/AzAd/RoleDefinitions/JustInTimeRequestRole.js +1 -2
  15. package/AzAd/UserAssignedIdentity.d.ts +1 -2
  16. package/AzAd/UserAssignedIdentity.js +2 -8
  17. package/Builder/AksBuilder.d.ts +2 -2
  18. package/Builder/AksBuilder.js +6 -7
  19. package/Builder/ResourceBuilder.d.ts +3 -0
  20. package/Builder/ResourceBuilder.js +198 -0
  21. package/Builder/SqlBuilder.d.ts +3 -0
  22. package/Builder/SqlBuilder.js +81 -0
  23. package/Builder/VaultBuilder.d.ts +18 -0
  24. package/Builder/VaultBuilder.js +74 -0
  25. package/Builder/VmBuilder.d.ts +3 -0
  26. package/Builder/VmBuilder.js +83 -0
  27. package/Builder/VnetBuilder.d.ts +2 -2
  28. package/Builder/VnetBuilder.js +17 -9
  29. package/Builder/index.d.ts +5 -0
  30. package/Builder/index.js +25 -2
  31. package/Builder/types/askBuilder.d.ts +30 -0
  32. package/Builder/types/askBuilder.js +3 -0
  33. package/Builder/types/genericBuilder.d.ts +36 -0
  34. package/Builder/types/genericBuilder.js +18 -0
  35. package/Builder/types/index.d.ts +6 -0
  36. package/Builder/types/index.js +23 -0
  37. package/Builder/types/resourceBuilder.d.ts +46 -0
  38. package/Builder/types/resourceBuilder.js +3 -0
  39. package/Builder/types/sqlBuilder.d.ts +20 -0
  40. package/Builder/types/sqlBuilder.js +3 -0
  41. package/Builder/types/vaultBuilder.d.ts +16 -0
  42. package/Builder/types/vaultBuilder.js +3 -0
  43. package/Builder/types/vmBuilder.d.ts +29 -0
  44. package/Builder/types/vmBuilder.js +3 -0
  45. package/Builder/types/vnetBuilder.d.ts +64 -0
  46. package/Builder/types/vnetBuilder.js +3 -0
  47. package/Certificate/p12.js +2 -3
  48. package/Common/GlobalEnv.d.ts +1 -1
  49. package/Common/Helpers.js +3 -3
  50. package/ContainerRegistry/index.d.ts +4 -5
  51. package/ContainerRegistry/index.js +14 -16
  52. package/Core/Random.d.ts +1 -1
  53. package/Core/Random.js +6 -2
  54. package/Core/ResourceCreator.d.ts +7 -4
  55. package/Core/ResourceCreator.js +5 -5
  56. package/Core/ResourceGroup.d.ts +10 -8
  57. package/Core/ResourceGroup.js +2 -2
  58. package/IOT/Hub/index.d.ts +1 -2
  59. package/IOT/Hub/index.js +2 -6
  60. package/KeyVault/CustomHelper.d.ts +5 -5
  61. package/KeyVault/CustomHelper.js +8 -9
  62. package/KeyVault/index.d.ts +15 -6
  63. package/KeyVault/index.js +45 -36
  64. package/MySql/index.d.ts +1 -2
  65. package/MySql/index.js +3 -8
  66. package/Postgresql/index.js +2 -2
  67. package/ServiceBus/index.d.ts +12 -15
  68. package/ServiceBus/index.js +20 -32
  69. package/SignalR/index.d.ts +6 -9
  70. package/SignalR/index.js +16 -17
  71. package/Sql/SqlDb.d.ts +5 -6
  72. package/Sql/SqlDb.js +4 -18
  73. package/Sql/index.d.ts +37 -38
  74. package/Sql/index.js +43 -55
  75. package/VM/index.js +2 -2
  76. package/VNet/Bastion.js +1 -2
  77. package/VNet/FirewallPolicies/AksFirewallPolicy.js +6 -21
  78. package/VNet/FirewallPolicies/CFTunnelFirewallPolicy.d.ts +9 -0
  79. package/VNet/FirewallPolicies/CFTunnelFirewallPolicy.js +59 -0
  80. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +2 -2
  81. package/VNet/FirewallPolicies/index.d.ts +4 -4
  82. package/VNet/FirewallPolicies/index.js +10 -8
  83. package/VNet/IpAddressPrefix.js +1 -1
  84. package/VNet/PrivateDns.d.ts +7 -7
  85. package/VNet/PrivateDns.js +11 -6
  86. package/VNet/PrivateEndpoint.d.ts +1 -1
  87. package/VNet/PrivateEndpoint.js +29 -49
  88. package/VNet/index.d.ts +3 -3
  89. package/Web/FuncApp.d.ts +5 -6
  90. package/Web/FuncApp.js +2 -6
  91. package/Web/WebAppPlan.d.ts +3 -4
  92. package/Web/WebAppPlan.js +5 -9
  93. package/package.json +5 -5
  94. package/types.d.ts +2 -4
  95. package/Builder/types.d.ts +0 -120
  96. package/Builder/types.js +0 -18
@@ -6,12 +6,12 @@ const Helper_1 = require("./Helper");
6
6
  const PrivateDns_1 = require("./PrivateDns");
7
7
  const AzureEnv_1 = require("../Common/AzureEnv");
8
8
  const Naming_1 = require("../Common/Naming");
9
- exports.default = ({ name, group, resourceId, subnetId, privateDnsZoneName, useGlobalDnsZone, linkServiceGroupIds, }) => {
9
+ exports.default = ({ name, group, resourceId, subnetIds, privateDnsZoneName, linkServiceGroupIds, }) => {
10
10
  name = (0, Naming_1.getPrivateEndpointName)(name);
11
- const endpoint = new network.PrivateEndpoint(name, {
12
- privateEndpointName: name,
11
+ const endpoints = subnetIds.map((s, index) => new network.PrivateEndpoint(`${name}-${index}`, {
12
+ privateEndpointName: `${name}-${index}`,
13
13
  ...group,
14
- subnet: { id: subnetId },
14
+ subnet: { id: s },
15
15
  privateLinkServiceConnections: [
16
16
  {
17
17
  groupIds: linkServiceGroupIds,
@@ -19,56 +19,36 @@ exports.default = ({ name, group, resourceId, subnetId, privateDnsZoneName, useG
19
19
  privateLinkServiceId: resourceId,
20
20
  },
21
21
  ],
22
- });
22
+ }));
23
23
  //Get IpAddress in
24
- const ipAddresses = endpoint.customDnsConfigs.apply((c) => c.flatMap((i) => i.ipAddresses));
24
+ const ipAddresses = (0, pulumi_1.output)(endpoints.map((e) => e.customDnsConfigs.apply((c) => c.flatMap((i) => i.ipAddresses)))).apply((a) => a.flatMap((i) => i));
25
25
  (0, pulumi_1.output)(resourceId).apply((id) => {
26
26
  const resourceInfo = (0, AzureEnv_1.parseResourceInfoFromId)(id);
27
- if (useGlobalDnsZone) {
28
- //Add A Record
29
- (0, PrivateDns_1.addARecord)({
30
- ipAddresses,
31
- recordName: resourceInfo?.name || "",
27
+ //Create Zone
28
+ const zone = (0, PrivateDns_1.default)({
29
+ name: `${resourceInfo?.name}.${privateDnsZoneName}`,
30
+ group,
31
+ });
32
+ //Add Root Record
33
+ (0, PrivateDns_1.addARecord)({
34
+ ipAddresses,
35
+ recordName: "@",
36
+ dnsInfo: zone.toDnsInfo(),
37
+ dependsOn: zone.resource,
38
+ });
39
+ //Link to Vnet
40
+ subnetIds.map((s, index) => (0, pulumi_1.output)(s).apply((id) => {
41
+ const vnetId = (0, Helper_1.getVnetIdFromSubnetId)(id);
42
+ (0, PrivateDns_1.linkVnetToPrivateDns)({
43
+ name: `${name}-${index}`,
32
44
  zoneName: privateDnsZoneName,
33
- });
34
- //Link to Vnet
35
- (0, pulumi_1.output)(subnetId).apply((sId) => {
36
- const vnetId = (0, Helper_1.getVnetIdFromSubnetId)(sId);
37
- (0, PrivateDns_1.linkVnetToPrivateDns)({
38
- name,
39
- group,
40
- zoneName: privateDnsZoneName,
41
- vnetId,
42
- });
43
- });
44
- }
45
- else {
46
- //Create Zone
47
- const zone = (0, PrivateDns_1.default)({
48
- name: `${resourceInfo?.name}.${privateDnsZoneName}`,
45
+ vnetId,
49
46
  group,
47
+ dependsOn: zone.resource,
50
48
  });
51
- //Add Root Record
52
- (0, PrivateDns_1.addARecord)({
53
- ipAddresses,
54
- recordName: "@",
55
- zoneName: privateDnsZoneName,
56
- dependsOn: zone,
57
- });
58
- //Link to Vnet
59
- (0, pulumi_1.output)(subnetId).apply((sId) => {
60
- const vnetId = (0, Helper_1.getVnetIdFromSubnetId)(sId);
61
- (0, PrivateDns_1.linkVnetToPrivateDns)({
62
- name,
63
- zoneName: privateDnsZoneName,
64
- vnetId,
65
- group,
66
- dependsOn: zone,
67
- });
68
- });
69
- }
49
+ }));
50
+ //}
70
51
  });
71
- //TODO: Create private DNS Zone in the same resource group and link to VNet
72
- return endpoint;
52
+ return endpoints;
73
53
  };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZOZXQvUHJpdmF0ZUVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0RBQXdEO0FBQ3hELDJDQUErQztBQUUvQyxxQ0FBaUQ7QUFDakQsNkNBQTZFO0FBQzdFLGlEQUE2RDtBQUM3RCw2Q0FBMEQ7QUFRMUQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixHQUNiLEVBQUUsRUFBRTtJQUNWLElBQUksR0FBRyxJQUFBLCtCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBDLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUU7UUFDakQsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixHQUFHLEtBQUs7UUFFUixNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO1FBQ3hCLDZCQUE2QixFQUFFO1lBQzdCO2dCQUNFLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLElBQUksRUFBRSxHQUFHLElBQUksT0FBTztnQkFDcEIsb0JBQW9CLEVBQUUsVUFBVTthQUNqQztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsa0JBQWtCO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN4RCxDQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBWSxDQUFDLENBQ2xDLENBQUM7SUFFRixJQUFBLGVBQU0sRUFBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFBLGtDQUF1QixFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWpELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixjQUFjO1lBQ2QsSUFBQSx1QkFBVSxFQUFDO2dCQUNULFdBQVc7Z0JBQ1gsVUFBVSxFQUFFLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDcEMsUUFBUSxFQUFFLGtCQUFrQjthQUM3QixDQUFDLENBQUM7WUFFSCxjQUFjO1lBQ2QsSUFBQSxlQUFNLEVBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQXFCLEVBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUEsaUNBQW9CLEVBQUM7b0JBQ25CLElBQUk7b0JBQ0osS0FBSztvQkFDTCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixNQUFNO2lCQUNQLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixhQUFhO1lBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBQSxvQkFBVyxFQUFDO2dCQUN2QixJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUUsSUFBSSxJQUFJLGtCQUFrQixFQUFFO2dCQUNuRCxLQUFLO2FBQ04sQ0FBQyxDQUFDO1lBRUgsaUJBQWlCO1lBQ2pCLElBQUEsdUJBQVUsRUFBQztnQkFDVCxXQUFXO2dCQUNYLFVBQVUsRUFBRSxHQUFHO2dCQUNmLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztZQUNILGNBQWM7WUFDZCxJQUFBLGVBQU0sRUFBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBcUIsRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsSUFBQSxpQ0FBb0IsRUFBQztvQkFDbkIsSUFBSTtvQkFDSixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixNQUFNO29CQUNOLEtBQUs7b0JBQ0wsU0FBUyxFQUFFLElBQUk7aUJBQ2hCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsMkVBQTJFO0lBQzNFLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyJ9
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZOZXQvUHJpdmF0ZUVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0RBQXdEO0FBQ3hELDJDQUErQztBQUUvQyxxQ0FBaUQ7QUFDakQsNkNBQTZFO0FBQzdFLGlEQUE2RDtBQUM3RCw2Q0FBMEQ7QUFRMUQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsbUJBQW1CLEdBQ2IsRUFBRSxFQUFFO0lBQ1YsSUFBSSxHQUFHLElBQUEsK0JBQXNCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FDN0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDWCxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7UUFDOUMsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3ZDLEdBQUcsS0FBSztRQUVSLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDakIsNkJBQTZCLEVBQUU7WUFDN0I7Z0JBQ0UsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsSUFBSSxFQUFFLEdBQUcsSUFBSSxPQUFPO2dCQUNwQixvQkFBb0IsRUFBRSxVQUFVO2FBQ2pDO1NBQ0Y7S0FDRixDQUFDLENBQ0wsQ0FBQztJQUVGLGtCQUFrQjtJQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFBLGVBQU0sRUFDeEIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2xCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFZLENBQUMsQ0FBQyxDQUNuRSxDQUNGLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBDLElBQUEsZUFBTSxFQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUEsa0NBQXVCLEVBQUMsRUFBRSxDQUFDLENBQUM7UUFFakQsYUFBYTtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQztZQUN2QixJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUUsSUFBSSxJQUFJLGtCQUFrQixFQUFFO1lBQ25ELEtBQUs7U0FDTixDQUFDLENBQUM7UUFFSCxpQkFBaUI7UUFDakIsSUFBQSx1QkFBVSxFQUFDO1lBQ1QsV0FBVztZQUNYLFVBQVUsRUFBRSxHQUFHO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztRQUVILGNBQWM7UUFDZCxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ3pCLElBQUEsZUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQXFCLEVBQUMsRUFBRSxDQUFDLENBQUM7WUFDekMsSUFBQSxpQ0FBb0IsRUFBQztnQkFDbkIsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDeEIsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsTUFBTTtnQkFDTixLQUFLO2dCQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsR0FBRztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIn0=
package/VNet/index.d.ts CHANGED
@@ -50,15 +50,15 @@ declare const _default: ({ group, name, ddosId, addressSpace, publicIpAddress, s
50
50
  firewall: network.AzureFirewall;
51
51
  policy: network.FirewallPolicy | undefined;
52
52
  } | undefined;
53
- vnet: import("@pulumi/azure-native/network/virtualNetwork").VirtualNetwork;
53
+ vnet: network.VirtualNetwork;
54
54
  appGatewaySubnet: pulumi.OutputInstance<import("@pulumi/azure-native/types/output").network.SubnetResponse | undefined>;
55
55
  gatewaySubnet: pulumi.OutputInstance<import("@pulumi/azure-native/types/output").network.SubnetResponse | undefined>;
56
56
  firewallManageSubnet: pulumi.OutputInstance<import("@pulumi/azure-native/types/output").network.SubnetResponse | undefined>;
57
- routeTable?: import("@pulumi/azure-native/network/routeTable").RouteTable | undefined;
57
+ routeTable?: network.RouteTable;
58
58
  firewallSubnet: pulumi.OutputInstance<import("@pulumi/azure-native/types/output").network.SubnetResponse | undefined>;
59
59
  bastionSubnet: pulumi.OutputInstance<import("@pulumi/azure-native/types/output").network.SubnetResponse | undefined>;
60
60
  findSubnet: (name: string) => pulumi.OutputInstance<import("@pulumi/azure-native/types/output").network.SubnetResponse | undefined>;
61
- securityGroup: import("@pulumi/azure-native/network/networkSecurityGroup").NetworkSecurityGroup | undefined;
61
+ securityGroup: undefined | network.NetworkSecurityGroup;
62
62
  publicIpAddress: import("@pulumi/azure-native/network/publicIPAddress").PublicIPAddress | undefined;
63
63
  };
64
64
  export default _default;
package/Web/FuncApp.d.ts CHANGED
@@ -1,12 +1,11 @@
1
- import { BasicResourceArgs } from '../types';
2
- import * as pulumi from '@pulumi/pulumi';
3
- import { SiteConfigArgs } from './types';
1
+ import { BasicResourceArgs } from "../types";
2
+ import * as pulumi from "@pulumi/pulumi";
3
+ import { SiteConfigArgs } from "./types";
4
4
  interface Props extends BasicResourceArgs {
5
- kind: 'FunctionApp' | 'WebApp';
5
+ kind: "FunctionApp" | "WebApp";
6
6
  appServicePlanId: pulumi.Output<string>;
7
7
  siteConfig?: SiteConfigArgs;
8
8
  enabled?: boolean;
9
- lock?: boolean;
10
9
  }
11
- declare const _default: ({ name, group, kind, appServicePlanId, siteConfig, enabled, lock, }: Props) => import("@pulumi/azure-native/web/webApp").WebApp;
10
+ declare const _default: ({ name, group, kind, appServicePlanId, siteConfig, enabled, }: Props) => import("@pulumi/azure-native/web/webApp").WebApp;
12
11
  export default _default;
package/Web/FuncApp.js CHANGED
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const native = require("@pulumi/azure-native");
4
4
  const Naming_1 = require("../Common/Naming");
5
- const Locker_1 = require("../Core/Locker");
6
- exports.default = ({ name, group, kind, appServicePlanId, siteConfig, enabled, lock, }) => {
5
+ exports.default = ({ name, group, kind, appServicePlanId, siteConfig, enabled, }) => {
7
6
  const finalName = (0, Naming_1.getFuncAppName)(name);
8
7
  const app = new native.web.WebApp(finalName, {
9
8
  kind,
@@ -14,9 +13,6 @@ exports.default = ({ name, group, kind, appServicePlanId, siteConfig, enabled, l
14
13
  httpsOnly: true,
15
14
  siteConfig,
16
15
  }, { deleteBeforeReplace: true });
17
- if (lock) {
18
- (0, Locker_1.default)({ name, resource: app });
19
- }
20
16
  return app;
21
17
  };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnVuY0FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9XZWIvRnVuY0FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtDQUErQztBQUUvQyw2Q0FBa0Q7QUFDbEQsMkNBQW9DO0FBWXBDLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLE9BQU8sRUFDUCxJQUFJLEdBQ0UsRUFBRSxFQUFFO0lBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBYyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQy9CLFNBQVMsRUFDVDtRQUNFLElBQUk7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLEdBQUcsS0FBSztRQUVSLFlBQVksRUFBRSxnQkFBZ0I7UUFDOUIsT0FBTztRQUNQLFNBQVMsRUFBRSxJQUFJO1FBRWYsVUFBVTtLQUNYLEVBQ0QsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUVGLElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnVuY0FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9XZWIvRnVuY0FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtDQUErQztBQUUvQyw2Q0FBa0Q7QUFZbEQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsT0FBTyxHQUNELEVBQUUsRUFBRTtJQUNWLE1BQU0sU0FBUyxHQUFHLElBQUEsdUJBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUV2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUMvQixTQUFTLEVBQ1Q7UUFDRSxJQUFJO1FBQ0osSUFBSSxFQUFFLFNBQVM7UUFDZixHQUFHLEtBQUs7UUFFUixZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLE9BQU87UUFDUCxTQUFTLEVBQUUsSUFBSTtRQUVmLFVBQVU7S0FDWCxFQUNELEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFFRixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQyJ9
@@ -1,7 +1,6 @@
1
- import { BasicResourceArgs } from '../types';
1
+ import { BasicResourceArgs } from "../types";
2
2
  interface Props extends BasicResourceArgs {
3
- kind: 'Linux';
4
- lock?: boolean;
3
+ kind: "Linux";
5
4
  }
6
- declare const _default: ({ name, group, kind, lock }: Props) => import("@pulumi/azure-native/web/appServicePlan").AppServicePlan;
5
+ declare const _default: ({ name, group, kind }: Props) => import("@pulumi/azure-native/web/appServicePlan").AppServicePlan;
7
6
  export default _default;
package/Web/WebAppPlan.js CHANGED
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const native = require("@pulumi/azure-native");
4
4
  const Naming_1 = require("../Common/Naming");
5
- const Locker_1 = require("../Core/Locker");
6
- exports.default = ({ name, group, kind, lock }) => {
5
+ exports.default = ({ name, group, kind }) => {
7
6
  const finalName = (0, Naming_1.getAppPlanName)(name);
8
7
  const appServicePlan = new native.web.AppServicePlan(finalName, {
9
8
  name: finalName,
@@ -12,15 +11,12 @@ exports.default = ({ name, group, kind, lock }) => {
12
11
  kind,
13
12
  // Consumption plan SKU
14
13
  sku: {
15
- tier: 'Dynamic',
16
- name: 'Y1',
14
+ tier: "Dynamic",
15
+ name: "Y1",
17
16
  },
18
17
  // For Linux, you need to change the plan to have Reserved = true property.
19
- reserved: kind === 'Linux',
18
+ reserved: kind === "Linux",
20
19
  });
21
- if (lock) {
22
- (0, Locker_1.default)({ name, resource: appServicePlan });
23
- }
24
20
  return appServicePlan;
25
21
  };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViQXBwUGxhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9XZWIvV2ViQXBwUGxhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtDQUErQztBQUUvQyw2Q0FBa0Q7QUFDbEQsMkNBQW9DO0FBT3BDLGtCQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQVMsRUFBRSxFQUFFO0lBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUEsdUJBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUV2QyxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRTtRQUM5RCxJQUFJLEVBQUUsU0FBUztRQUNmLEdBQUcsS0FBSztRQUVSLGVBQWU7UUFDZixJQUFJO1FBRUosdUJBQXVCO1FBQ3ZCLEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUVELDJFQUEyRTtRQUMzRSxRQUFRLEVBQUUsSUFBSSxLQUFLLE9BQU87S0FDM0IsQ0FBQyxDQUFDO0lBRUgsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULElBQUEsZ0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyxDQUFDIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViQXBwUGxhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9XZWIvV2ViQXBwUGxhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtDQUErQztBQUUvQyw2Q0FBa0Q7QUFPbEQsa0JBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFTLEVBQUUsRUFBRTtJQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFBLHVCQUFjLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFdkMsTUFBTSxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUU7UUFDOUQsSUFBSSxFQUFFLFNBQVM7UUFDZixHQUFHLEtBQUs7UUFDUixlQUFlO1FBQ2YsSUFBSTtRQUVKLHVCQUF1QjtRQUN2QixHQUFHLEVBQUU7WUFDSCxJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxJQUFJO1NBQ1g7UUFFRCwyRUFBMkU7UUFDM0UsUUFBUSxFQUFFLElBQUksS0FBSyxPQUFPO0tBQzNCLENBQUMsQ0FBQztJQUVILE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drunk-pulumi/azure",
3
- "version": "0.0.38",
3
+ "version": "0.0.40",
4
4
  "author": "drunkcoding@outlook.com",
5
5
  "description": "The custom helpers pulumi-azure",
6
6
  "license": "MIT",
@@ -17,10 +17,10 @@
17
17
  "url": "https://github.com/baoduy/drunk-pulumi-azure.git"
18
18
  },
19
19
  "dependencies": {
20
- "@drunk-pulumi/azure-providers": "^0.0.9",
21
- "@pulumi/azure-native": "^2.43.1",
22
- "@pulumi/azuread": "5.50.0",
23
- "@pulumi/pulumi": "^3.118.0",
20
+ "@drunk-pulumi/azure-providers": "^0.0.18",
21
+ "@pulumi/azure-native": "^2.46.0",
22
+ "@pulumi/azuread": "5.52.0",
23
+ "@pulumi/pulumi": "^3.120.0",
24
24
  "@pulumi/random": "^4.16.2",
25
25
  "@pulumi/tls": "^5.0.3",
26
26
  "axios": "^1.7.2",
package/types.d.ts CHANGED
@@ -20,12 +20,11 @@ export interface ConventionProps {
20
20
  includeOrgName?: boolean;
21
21
  }
22
22
  export interface PrivateLinkProps {
23
- subnetId: Input<string>;
24
- useGlobalDnsZone?: boolean;
23
+ subnetIds: Input<string>[];
25
24
  }
26
25
  export interface NetworkRulesProps {
27
26
  subnetId?: Input<string>;
28
- privateLink?: Omit<PrivateLinkProps, "subnetId">;
27
+ privateLink?: Omit<PrivateLinkProps, "subnetIds">;
29
28
  ipAddresses?: Input<string>[];
30
29
  }
31
30
  export interface BasicMonitorArgs extends BasicArgs {
@@ -56,7 +55,6 @@ export interface BasicResourceArgs extends BasicArgs {
56
55
  group: ResourceGroupInfo;
57
56
  }
58
57
  export interface DefaultResourceArgs extends BasicArgs {
59
- lock?: boolean;
60
58
  monitoring?: Omit<DiagnosticProps, "name" | "targetResourceId">;
61
59
  }
62
60
  export interface BasicResourceResultProps<TClass> {
@@ -1,120 +0,0 @@
1
- import { BasicResourceArgs, KeyVaultInfo, ResourceGroupInfo } from "../types";
2
- import { RouteArgs, CustomSecurityRuleArgs } from "../VNet/types";
3
- import { VnetProps, VnetResult } from "../VNet/Vnet";
4
- import { SubnetProps } from "../VNet/Subnet";
5
- import { Input, Resource } from "@pulumi/pulumi";
6
- import { FirewallProps, FirewallResult } from "../VNet/Firewall";
7
- import { VpnGatewayProps } from "../VNet/VPNGateway";
8
- import { LogInfoResults } from "../Logs/Helpers";
9
- import { PublicIpAddressPrefixResult } from "../VNet/IpAddressPrefix";
10
- import * as network from "@pulumi/azure-native/network";
11
- import { SshGenerationProps, SshResults } from "../Core/KeyGenetators";
12
- import { AksAccessProps, AksNetworkProps, AksNodePoolProps, AksResults, AskAddonProps, AskFeatureProps, DefaultAksNodePoolProps } from "../Aks";
13
- import * as native from "@pulumi/azure-native";
14
- import { PeeringDirectionType } from "../VNet/NetworkPeering";
15
- export type CommonBuilderProps = {
16
- name: string;
17
- group: ResourceGroupInfo;
18
- vaultInfo: KeyVaultInfo;
19
- dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
20
- };
21
- export type CommonOmit<T> = Omit<T, keyof CommonBuilderProps>;
22
- export interface IResourcesBuilder<TResults> {
23
- commonProps: CommonBuilderProps;
24
- build: () => TResults;
25
- }
26
- export declare abstract class ResourcesBuilder<TResults> implements IResourcesBuilder<TResults> {
27
- commonProps: CommonBuilderProps;
28
- protected constructor(commonProps: CommonBuilderProps);
29
- abstract build(): TResults;
30
- }
31
- export interface IResourcesBuilderAsync<TResults> extends Omit<IResourcesBuilder<TResults>, "build"> {
32
- build: () => Promise<TResults>;
33
- }
34
- export declare abstract class ResourcesBuilderAsync<TResults> implements IResourcesBuilderAsync<TResults> {
35
- commonProps: CommonBuilderProps;
36
- constructor(commonProps: CommonBuilderProps);
37
- abstract build(): Promise<TResults>;
38
- }
39
- export type VnetBuilderProps = CommonBuilderProps & {
40
- subnets?: SubnetCreationProps;
41
- } & Pick<VnetProps, "addressSpaces" | "dnsServers">;
42
- export type SubnetCreationProps = Record<string, Omit<SubnetProps, "name">>;
43
- export type SubnetPrefixCreationProps = {
44
- addressPrefix: string;
45
- };
46
- export type BastionCreationProps = {
47
- subnet: SubnetPrefixCreationProps;
48
- } & Pick<BasicResourceArgs, "importUri" | "ignoreChanges">;
49
- export type PeeringProps = {
50
- groupName: string;
51
- direction?: PeeringDirectionType;
52
- } | {
53
- vnetId: Input<string>;
54
- direction?: PeeringDirectionType;
55
- };
56
- export type FirewallCreationProps = {
57
- subnet: SubnetPrefixCreationProps & {
58
- managementAddressPrefix: string;
59
- };
60
- } & CommonOmit<Omit<FirewallProps, "outbound" | "management">>;
61
- export type VpnGatewayCreationProps = Pick<VpnGatewayProps, "sku" | "vpnClientAddressPools"> & {
62
- subnetSpace: string;
63
- };
64
- export interface IVnetBuilderStart {
65
- asHub: () => IPublicIpBuilder;
66
- asSpoke: () => IVnetBuilder;
67
- }
68
- export interface IPublicIpBuilder {
69
- withPublicIpAddress: (type: "prefix" | "individual") => IGatewayFireWallBuilder;
70
- }
71
- export interface IFireWallOrVnetBuilder extends IResourcesBuilder<VnetBuilderResults> {
72
- withFirewall: (props: FirewallCreationProps) => IVnetBuilder;
73
- }
74
- export interface IGatewayFireWallBuilder extends IFireWallOrVnetBuilder {
75
- withNatGateway: () => IFireWallOrVnetBuilder;
76
- }
77
- export interface IVnetBuilder extends IResourcesBuilder<VnetBuilderResults> {
78
- withBastion: (props: BastionCreationProps) => IVnetBuilder;
79
- peeringTo: (props: PeeringProps) => IVnetBuilder;
80
- withSecurityRules: (rules: CustomSecurityRuleArgs[]) => IVnetBuilder;
81
- withRouteRules: (rules: RouteArgs[]) => IVnetBuilder;
82
- withLogInfo: (info: LogInfoResults) => IVnetBuilder;
83
- withVpnGateway: (props: VpnGatewayCreationProps) => IVnetBuilder;
84
- }
85
- export type VnetBuilderResults = {
86
- publicIpAddress: PublicIpAddressPrefixResult | undefined;
87
- firewall: FirewallResult | undefined;
88
- vnet: VnetResult;
89
- natGateway: network.NatGateway | undefined;
90
- vnpGateway: network.VirtualNetworkGateway | undefined;
91
- };
92
- export type AksBuilderProps = CommonBuilderProps & {};
93
- export type AskBuilderResults = {
94
- ssh: SshResults;
95
- aks: AksResults;
96
- };
97
- export type SshBuilderProps = Omit<SshGenerationProps, "vaultInfo" | "name">;
98
- export type AksImportProps = {
99
- id: string;
100
- ignoreChanges?: string[];
101
- };
102
- export interface ISshBuilder {
103
- withNewSsh: (props: SshBuilderProps) => IAskAuthBuilder;
104
- }
105
- export interface IAskAuthBuilder {
106
- withAuth: (props: AksAccessProps) => IAksNetworkBuilder;
107
- }
108
- export interface IAksNetworkBuilder {
109
- withNetwork: (props: AksNetworkProps) => IAksDefaultNodePoolBuilder;
110
- }
111
- export interface IAksDefaultNodePoolBuilder {
112
- withDefaultNodePool: (props: DefaultAksNodePoolProps) => IAksBuilder;
113
- }
114
- export interface IAksBuilder extends IResourcesBuilderAsync<AskBuilderResults> {
115
- withNodePool: (props: AksNodePoolProps) => IAksBuilder;
116
- withAddon: (props: AskAddonProps) => IAksBuilder;
117
- withFeature: (props: AskFeatureProps) => IAksBuilder;
118
- withTier: (tier: native.containerservice.ManagedClusterSKUTier) => IAksBuilder;
119
- import: (props: AksImportProps) => IAksBuilder;
120
- }
package/Builder/types.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResourcesBuilderAsync = exports.ResourcesBuilder = void 0;
4
- class ResourcesBuilder {
5
- commonProps;
6
- constructor(commonProps) {
7
- this.commonProps = commonProps;
8
- }
9
- }
10
- exports.ResourcesBuilder = ResourcesBuilder;
11
- class ResourcesBuilderAsync {
12
- commonProps;
13
- constructor(commonProps) {
14
- this.commonProps = commonProps;
15
- }
16
- }
17
- exports.ResourcesBuilderAsync = ResourcesBuilderAsync;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFzQ0EsTUFBc0IsZ0JBQWdCO0lBR1A7SUFBN0IsWUFBNkIsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO0lBQUcsQ0FBQztDQUVqRTtBQUxELDRDQUtDO0FBUUQsTUFBc0IscUJBQXFCO0lBR3RCO0lBQW5CLFlBQW1CLFdBQStCO1FBQS9CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUFHLENBQUM7Q0FFdkQ7QUFMRCxzREFLQyJ9