@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.
- package/Aks/Helper.d.ts +2 -2
- package/Aks/Helper.js +2 -2
- package/Aks/index.d.ts +2 -1
- package/Aks/index.js +39 -46
- package/Apim/index.d.ts +4 -4
- package/Apim/index.js +2 -3
- package/AzAd/B2C.d.ts +3 -4
- package/AzAd/B2C.js +11 -15
- package/AzAd/EnvRoles.d.ts +2 -1
- package/AzAd/EnvRoles.js +2 -2
- package/AzAd/Helper.js +9 -5
- package/AzAd/Identities/AzDevOpsManagedIdentity.d.ts +0 -1
- package/AzAd/Identities/AzDevOpsManagedIdentity.js +1 -2
- package/AzAd/RoleDefinitions/JustInTimeRequestRole.js +1 -2
- package/AzAd/UserAssignedIdentity.d.ts +1 -2
- package/AzAd/UserAssignedIdentity.js +2 -8
- package/Builder/AksBuilder.d.ts +2 -2
- package/Builder/AksBuilder.js +6 -7
- package/Builder/ResourceBuilder.d.ts +3 -0
- package/Builder/ResourceBuilder.js +198 -0
- package/Builder/SqlBuilder.d.ts +3 -0
- package/Builder/SqlBuilder.js +81 -0
- package/Builder/VaultBuilder.d.ts +18 -0
- package/Builder/VaultBuilder.js +74 -0
- package/Builder/VmBuilder.d.ts +3 -0
- package/Builder/VmBuilder.js +83 -0
- package/Builder/VnetBuilder.d.ts +2 -2
- package/Builder/VnetBuilder.js +17 -9
- package/Builder/index.d.ts +5 -0
- package/Builder/index.js +25 -2
- package/Builder/types/askBuilder.d.ts +30 -0
- package/Builder/types/askBuilder.js +3 -0
- package/Builder/types/genericBuilder.d.ts +36 -0
- package/Builder/types/genericBuilder.js +18 -0
- package/Builder/types/index.d.ts +6 -0
- package/Builder/types/index.js +23 -0
- package/Builder/types/resourceBuilder.d.ts +46 -0
- package/Builder/types/resourceBuilder.js +3 -0
- package/Builder/types/sqlBuilder.d.ts +20 -0
- package/Builder/types/sqlBuilder.js +3 -0
- package/Builder/types/vaultBuilder.d.ts +16 -0
- package/Builder/types/vaultBuilder.js +3 -0
- package/Builder/types/vmBuilder.d.ts +29 -0
- package/Builder/types/vmBuilder.js +3 -0
- package/Builder/types/vnetBuilder.d.ts +64 -0
- package/Builder/types/vnetBuilder.js +3 -0
- package/Certificate/p12.js +2 -3
- package/Common/GlobalEnv.d.ts +1 -1
- package/Common/Helpers.js +3 -3
- package/ContainerRegistry/index.d.ts +4 -5
- package/ContainerRegistry/index.js +14 -16
- package/Core/Random.d.ts +1 -1
- package/Core/Random.js +6 -2
- package/Core/ResourceCreator.d.ts +7 -4
- package/Core/ResourceCreator.js +5 -5
- package/Core/ResourceGroup.d.ts +10 -8
- package/Core/ResourceGroup.js +2 -2
- package/IOT/Hub/index.d.ts +1 -2
- package/IOT/Hub/index.js +2 -6
- package/KeyVault/CustomHelper.d.ts +5 -5
- package/KeyVault/CustomHelper.js +8 -9
- package/KeyVault/index.d.ts +15 -6
- package/KeyVault/index.js +45 -36
- package/MySql/index.d.ts +1 -2
- package/MySql/index.js +3 -8
- package/Postgresql/index.js +2 -2
- package/ServiceBus/index.d.ts +12 -15
- package/ServiceBus/index.js +20 -32
- package/SignalR/index.d.ts +6 -9
- package/SignalR/index.js +16 -17
- package/Sql/SqlDb.d.ts +5 -6
- package/Sql/SqlDb.js +4 -18
- package/Sql/index.d.ts +37 -38
- package/Sql/index.js +43 -55
- package/VM/index.js +2 -2
- package/VNet/Bastion.js +1 -2
- package/VNet/FirewallPolicies/AksFirewallPolicy.js +6 -21
- package/VNet/FirewallPolicies/CFTunnelFirewallPolicy.d.ts +9 -0
- package/VNet/FirewallPolicies/CFTunnelFirewallPolicy.js +59 -0
- package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +2 -2
- package/VNet/FirewallPolicies/index.d.ts +4 -4
- package/VNet/FirewallPolicies/index.js +10 -8
- package/VNet/IpAddressPrefix.js +1 -1
- package/VNet/PrivateDns.d.ts +7 -7
- package/VNet/PrivateDns.js +11 -6
- package/VNet/PrivateEndpoint.d.ts +1 -1
- package/VNet/PrivateEndpoint.js +29 -49
- package/VNet/index.d.ts +3 -3
- package/Web/FuncApp.d.ts +5 -6
- package/Web/FuncApp.js +2 -6
- package/Web/WebAppPlan.d.ts +3 -4
- package/Web/WebAppPlan.js +5 -9
- package/package.json +5 -5
- package/types.d.ts +2 -4
- package/Builder/types.d.ts +0 -120
- package/Builder/types.js +0 -18
package/VNet/PrivateEndpoint.js
CHANGED
|
@@ -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,
|
|
9
|
+
exports.default = ({ name, group, resourceId, subnetIds, privateDnsZoneName, linkServiceGroupIds, }) => {
|
|
10
10
|
name = (0, Naming_1.getPrivateEndpointName)(name);
|
|
11
|
-
const
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
52
|
-
|
|
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
|
-
|
|
72
|
-
return endpoint;
|
|
52
|
+
return endpoints;
|
|
73
53
|
};
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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:
|
|
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?:
|
|
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:
|
|
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
|
|
2
|
-
import * as pulumi from
|
|
3
|
-
import { SiteConfigArgs } from
|
|
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:
|
|
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,
|
|
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
|
-
|
|
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,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnVuY0FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9XZWIvRnVuY0FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtDQUErQztBQUUvQyw2Q0FBa0Q7QUFZbEQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsT0FBTyxHQUNELEVBQUUsRUFBRTtJQUNWLE1BQU0sU0FBUyxHQUFHLElBQUEsdUJBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUV2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUMvQixTQUFTLEVBQ1Q7UUFDRSxJQUFJO1FBQ0osSUFBSSxFQUFFLFNBQVM7UUFDZixHQUFHLEtBQUs7UUFFUixZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLE9BQU87UUFDUCxTQUFTLEVBQUUsSUFBSTtRQUVmLFVBQVU7S0FDWCxFQUNELEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFFRixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQyJ9
|
package/Web/WebAppPlan.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { BasicResourceArgs } from
|
|
1
|
+
import { BasicResourceArgs } from "../types";
|
|
2
2
|
interface Props extends BasicResourceArgs {
|
|
3
|
-
kind:
|
|
4
|
-
lock?: boolean;
|
|
3
|
+
kind: "Linux";
|
|
5
4
|
}
|
|
6
|
-
declare const _default: ({ name, group, kind
|
|
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
|
-
|
|
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:
|
|
16
|
-
name:
|
|
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 ===
|
|
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,
|
|
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.
|
|
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.
|
|
21
|
-
"@pulumi/azure-native": "^2.
|
|
22
|
-
"@pulumi/azuread": "5.
|
|
23
|
-
"@pulumi/pulumi": "^3.
|
|
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
|
-
|
|
24
|
-
useGlobalDnsZone?: boolean;
|
|
23
|
+
subnetIds: Input<string>[];
|
|
25
24
|
}
|
|
26
25
|
export interface NetworkRulesProps {
|
|
27
26
|
subnetId?: Input<string>;
|
|
28
|
-
privateLink?: Omit<PrivateLinkProps, "
|
|
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> {
|
package/Builder/types.d.ts
DELETED
|
@@ -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
|