@drunk-pulumi/azure 0.0.40 → 0.0.42

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 CHANGED
@@ -15,6 +15,3 @@ export declare const getAksVaultConfig: ({ name, version, vaultInfo, formattedNa
15
15
  formattedName?: boolean;
16
16
  }) => Promise<string>;
17
17
  export declare const getAksPrivateDnz: ({ name, groupName, formattedName, }: ResourceType) => Output<ResourceInfo | undefined>;
18
- export declare const linkAksPrivateDnzVnet: ({ vnetId, name, groupName, formattedName, }: ResourceType & {
19
- vnetId: Output<string>;
20
- }) => Output<import("@pulumi/azure-native/network/virtualNetworkLink").VirtualNetworkLink | undefined>;
package/Aks/Helper.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.linkAksPrivateDnzVnet = exports.getAksPrivateDnz = exports.getAksVaultConfig = exports.getAksConfig = void 0;
3
+ exports.getAksPrivateDnz = exports.getAksVaultConfig = exports.getAksConfig = void 0;
4
4
  const containerservice = require("@pulumi/azure-native/containerservice");
5
5
  const Naming_1 = require("../Common/Naming");
6
6
  const Helper_1 = require("../KeyVault/Helper");
7
7
  const pulumi_1 = require("@pulumi/pulumi");
8
8
  const AzureEnv_1 = require("../Common/AzureEnv");
9
- const PrivateDns_1 = require("../VNet/PrivateDns");
10
9
  /** Get AKS Config from Managed Cluster*/
11
10
  const getAksConfig = async ({ name, groupName, formattedName, disableLocalAccounts, }) => {
12
11
  const aksName = formattedName ? name : (0, Naming_1.getAksName)(name);
@@ -55,18 +54,21 @@ const getAksPrivateDnz = ({ name, groupName, formattedName, }) => {
55
54
  });
56
55
  };
57
56
  exports.getAksPrivateDnz = getAksPrivateDnz;
58
- const linkAksPrivateDnzVnet = ({ vnetId, name, groupName, formattedName, }) => {
59
- const dns = (0, exports.getAksPrivateDnz)({ name, groupName, formattedName });
60
- return dns.apply((d) => {
61
- if (!d)
62
- return;
63
- return (0, PrivateDns_1.linkVnetToPrivateDns)({
64
- name,
65
- group: d.group,
66
- zoneName: d.resourceName,
67
- vnetId,
68
- });
69
- });
70
- };
71
- exports.linkAksPrivateDnzVnet = linkAksPrivateDnzVnet;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Frcy9IZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMEVBQTBFO0FBQzFFLDZDQUFvRTtBQUVwRSwrQ0FBK0M7QUFDL0MsMkNBQXFEO0FBQ3JELGlEQUF1RTtBQUN2RSxtREFBMEQ7QUFFMUQseUNBQXlDO0FBQ2xDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxFQUNqQyxJQUFJLEVBQ0osU0FBUyxFQUNULGFBQWEsRUFDYixvQkFBb0IsR0FNckIsRUFBbUIsRUFBRTtJQUNwQixNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFBLDZCQUFvQixFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFFLE1BQU0sR0FBRyxHQUFHLG9CQUFvQjtRQUM5QixDQUFDLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxpQ0FBaUMsQ0FBQztZQUN2RCxZQUFZLEVBQUUsT0FBTztZQUNyQixpQkFBaUIsRUFBRSxLQUFLO1NBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQztZQUN4RCxZQUFZLEVBQUUsT0FBTztZQUNyQixpQkFBaUIsRUFBRSxLQUFLO1NBQ3pCLENBQUMsQ0FBQztJQUVQLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBekJXLFFBQUEsWUFBWSxnQkF5QnZCO0FBRUYsbUNBQW1DO0FBQzVCLE1BQU0saUJBQWlCLEdBQUcs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
57
+ // export const linkAksPrivateDnzVnet = ({
58
+ // vnetId,
59
+ // name,
60
+ // groupName,
61
+ // formattedName,
62
+ // }: ResourceType & { vnetId: Output<string> }) => {
63
+ // const dns = getAksPrivateDnz({ name, groupName, formattedName });
64
+ // return dns.apply((d) => {
65
+ // if (!d) return;
66
+ // return linkVnetToPrivateDns({
67
+ // name,
68
+ // group: d.group,
69
+ // zoneName: d.resourceName,
70
+ // vnetId,
71
+ // });
72
+ // });
73
+ // };
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Frcy9IZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMEVBQTBFO0FBQzFFLDZDQUFvRTtBQUVwRSwrQ0FBK0M7QUFDL0MsMkNBQXFEO0FBQ3JELGlEQUF1RTtBQUV2RSx5Q0FBeUM7QUFDbEMsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLEVBQ2pDLElBQUksRUFDSixTQUFTLEVBQ1QsYUFBYSxFQUNiLG9CQUFvQixHQU1yQixFQUFtQixFQUFFO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUEsNkJBQW9CLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFFMUUsTUFBTSxHQUFHLEdBQUcsb0JBQW9CO1FBQzlCLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDO1lBQ3ZELFlBQVksRUFBRSxPQUFPO1lBQ3JCLGlCQUFpQixFQUFFLEtBQUs7U0FDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLGtDQUFrQyxDQUFDO1lBQ3hELFlBQVksRUFBRSxPQUFPO1lBQ3JCLGlCQUFpQixFQUFFLEtBQUs7U0FDekIsQ0FBQyxDQUFDO0lBRVAsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQUM7QUF6QlcsUUFBQSxZQUFZLGdCQXlCdkI7QUFFRixtQ0FBbUM7QUFDNUIsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsRUFDdEMsSUFBSSxFQUNKLE9BQU8sRUFDUCxTQUFTLEVBQ1QsYUFBYSxHQU1kLEVBQW1CLEVBQUU7SUFDcEIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsa0JBQVMsRUFBQztRQUN6QixJQUFJLEVBQUUsR0FBRyxPQUFPLFNBQVM7UUFDekIsT0FBTztRQUNQLFNBQVM7UUFDVCxhQUFhLEVBQUUsS0FBSztLQUNyQixDQUFDLENBQUM7SUFDSCxPQUFPLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQW5CVyxRQUFBLGlCQUFpQixxQkFtQjVCO0FBRUssTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQy9CLElBQUksRUFDSixTQUFTLEVBQ1QsYUFBYSxHQUNBLEVBQW9DLEVBQUU7SUFDbkQsSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFBLDZCQUFvQixFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhFLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDO1FBQ25ELFlBQVksRUFBRSxJQUFJO1FBQ2xCLGlCQUFpQixFQUFFLFNBQVM7S0FDN0IsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDckIsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsaUJBQWtCLENBQUM7UUFFckMsT0FBTztZQUNMLFlBQVksRUFBRSxPQUFPO1lBQ3JCLEtBQUssRUFBRSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsNEJBQWlCLEVBQUU7WUFDbEUsRUFBRSxFQUFFLElBQUEsb0JBQVcsRUFBQSxrQkFBa0IseUJBQWMsbUJBQW1CLE9BQU8sZ0RBQWdELE9BQU8sRUFBRTtTQUNuSCxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsZ0JBQWdCLG9CQXdCM0I7QUFFRiwwQ0FBMEM7QUFDMUMsWUFBWTtBQUNaLFVBQVU7QUFDVixlQUFlO0FBQ2YsbUJBQW1CO0FBQ25CLHFEQUFxRDtBQUNyRCxzRUFBc0U7QUFDdEUsOEJBQThCO0FBQzlCLHNCQUFzQjtBQUN0QixvQ0FBb0M7QUFDcEMsY0FBYztBQUNkLHdCQUF3QjtBQUN4QixrQ0FBa0M7QUFDbEMsZ0JBQWdCO0FBQ2hCLFVBQVU7QUFDVixRQUFRO0FBQ1IsS0FBSyJ9
@@ -0,0 +1,4 @@
1
+ import { BasicResourceArgs } from "../types";
2
+ import { IDnsZoneBuilder } from "./types";
3
+ declare const _default: (props: BasicResourceArgs) => IDnsZoneBuilder;
4
+ export default _default;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const network = require("@pulumi/azure-native/network");
4
+ const GlobalEnv_1 = require("../Common/GlobalEnv");
5
+ class DnsZoneBuilder {
6
+ _aRecords = [];
7
+ _children = [];
8
+ commonProps;
9
+ _zoneInstance = undefined;
10
+ _childrenInstances = undefined;
11
+ constructor({ group, ...others }) {
12
+ this.commonProps = {
13
+ ...others,
14
+ group: {
15
+ resourceGroupName: group.resourceGroupName,
16
+ location: GlobalEnv_1.globalKeyName,
17
+ },
18
+ };
19
+ }
20
+ withSubZone(name) {
21
+ this._children.push(name);
22
+ return this;
23
+ }
24
+ withARecord(props) {
25
+ this._aRecords.push(props);
26
+ return this;
27
+ }
28
+ getZoneInstance() {
29
+ return this._zoneInstance;
30
+ }
31
+ buildZone() {
32
+ const { name, group, dependsOn } = this.commonProps;
33
+ this._zoneInstance = new network.Zone(name, {
34
+ zoneName: name,
35
+ zoneType: network.ZoneType.Public,
36
+ ...group,
37
+ }, { dependsOn });
38
+ if (this._aRecords) {
39
+ this._aRecords.forEach((a, index) => new network.RecordSet(a.recordName === "*"
40
+ ? `All-${index}-ARecord`
41
+ : a.recordName === "@"
42
+ ? `Root-${index}-ARecord`
43
+ : `${a.recordName}-ARecord`, {
44
+ zoneName: this._zoneInstance.name,
45
+ ...group,
46
+ relativeRecordSetName: a.recordName,
47
+ recordType: "A",
48
+ aRecords: a.ipAddresses.map((i) => ({ ipv4Address: i })),
49
+ ttl: 3600,
50
+ }, { dependsOn: this._zoneInstance, deleteBeforeReplace: true }));
51
+ }
52
+ }
53
+ buildChildren() {
54
+ if (this._children.length <= 0)
55
+ return;
56
+ const { name, group } = this.commonProps;
57
+ this._childrenInstances = this._children.map((c) => {
58
+ const n = `${c}.${name}`;
59
+ const builder = new DnsZoneBuilder({
60
+ name: n,
61
+ group,
62
+ dependsOn: this._zoneInstance,
63
+ });
64
+ const rs = builder.build();
65
+ const cc = builder.getZoneInstance();
66
+ cc.nameServers.apply((ns) => new network.RecordSet(`${n}-NS`, {
67
+ zoneName: this._zoneInstance.name,
68
+ ...group,
69
+ relativeRecordSetName: cc.name,
70
+ recordType: "NS",
71
+ nsRecords: ns.map((s) => ({ nsdname: s })),
72
+ ttl: 3600,
73
+ }, { dependsOn: cc }));
74
+ return rs;
75
+ });
76
+ }
77
+ build() {
78
+ this.buildZone();
79
+ this.buildChildren();
80
+ return {
81
+ resourceName: this.commonProps.name,
82
+ group: this.commonProps.group,
83
+ id: this._zoneInstance.id,
84
+ };
85
+ }
86
+ }
87
+ exports.default = (props) => new DnsZoneBuilder(props);
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG5zWm9uZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9EbnNab25lQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLHdEQUF3RDtBQUV4RCxtREFBb0Q7QUFFcEQsTUFBTSxjQUFjO0lBQ1YsU0FBUyxHQUF5QixFQUFFLENBQUM7SUFDckMsU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLENBQW9CO0lBRXhDLGFBQWEsR0FBNkIsU0FBUyxDQUFDO0lBQ3BELGtCQUFrQixHQUErQixTQUFTLENBQUM7SUFFbkUsWUFBbUIsRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEVBQXFCO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsR0FBRyxNQUFNO1lBQ1QsS0FBSyxFQUFFO2dCQUNMLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQzFDLFFBQVEsRUFBRSx5QkFBYTthQUN4QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVk7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXlCO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FDbkMsSUFBSSxFQUNKO1lBQ0UsUUFBUSxFQUFFLElBQUk7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
@@ -0,0 +1,4 @@
1
+ import { BasicResourceArgs } from "../types";
2
+ import { IPrivateDnsZoneBuilder } from "./types/privateDnsZoneBuilder";
3
+ declare const _default: (props: BasicResourceArgs) => IPrivateDnsZoneBuilder;
4
+ export default _default;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const network = require("@pulumi/azure-native/network");
4
+ const native = require("@pulumi/azure-native");
5
+ const pulumi_1 = require("@pulumi/pulumi");
6
+ const Helper_1 = require("../VNet/Helper");
7
+ const GlobalEnv_1 = require("../Common/GlobalEnv");
8
+ class PrivateDnsZoneBuilder {
9
+ _aRecords = [];
10
+ _vnetLinks = [];
11
+ commonProps;
12
+ _zoneInstance = undefined;
13
+ constructor({ group, ...others }) {
14
+ this.commonProps = {
15
+ ...others,
16
+ group: {
17
+ resourceGroupName: group.resourceGroupName,
18
+ location: GlobalEnv_1.globalKeyName,
19
+ },
20
+ };
21
+ }
22
+ linkTo(props) {
23
+ this._vnetLinks.push(props);
24
+ return this;
25
+ }
26
+ withARecord(props) {
27
+ this._aRecords.push(props);
28
+ return this;
29
+ }
30
+ buildZone() {
31
+ const { name, group, dependsOn } = this.commonProps;
32
+ this._zoneInstance = new network.PrivateZone(name, {
33
+ privateZoneName: name,
34
+ ...group,
35
+ }, { dependsOn });
36
+ if (this._aRecords) {
37
+ this._aRecords.forEach((a, index) => new network.PrivateRecordSet(a.recordName === "*"
38
+ ? `All-${index}-ARecord`
39
+ : a.recordName === "@"
40
+ ? `Root-${index}-ARecord`
41
+ : `${a.recordName}-ARecord`, {
42
+ privateZoneName: this._zoneInstance.name,
43
+ ...group,
44
+ relativeRecordSetName: a.recordName,
45
+ recordType: "A",
46
+ aRecords: a.ipAddresses.map((i) => ({ ipv4Address: i })),
47
+ ttl: 3600,
48
+ }, { dependsOn: this._zoneInstance, deleteBeforeReplace: true }));
49
+ }
50
+ }
51
+ buildVnetLinks() {
52
+ if (this._vnetLinks.length <= 0)
53
+ return;
54
+ this._vnetLinks.forEach((lik, index) => [
55
+ ...(lik.vnetIds ?? []),
56
+ ...(lik.subnetIds ?? []).map((s) => (0, pulumi_1.output)(s).apply(Helper_1.getVnetIdFromSubnetId)),
57
+ ].map((v, i) => new native.network.VirtualNetworkLink(`${this.commonProps.name.substring(0, 25)}-${index}-${i}-link`, {
58
+ ...this.commonProps.group,
59
+ privateZoneName: this._zoneInstance.name,
60
+ registrationEnabled: lik.registrationEnabled,
61
+ virtualNetwork: { id: v },
62
+ }, { dependsOn: this._zoneInstance, deleteBeforeReplace: true })));
63
+ }
64
+ build() {
65
+ this.buildZone();
66
+ this.buildVnetLinks();
67
+ return {
68
+ resourceName: this.commonProps.name,
69
+ group: this.commonProps.group,
70
+ id: this._zoneInstance.id,
71
+ };
72
+ }
73
+ }
74
+ exports.default = (props) => new PrivateDnsZoneBuilder(props);
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZURuc1pvbmVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0J1aWxkZXIvUHJpdmF0ZURuc1pvbmVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0RBQXdEO0FBS3hELCtDQUErQztBQUMvQywyQ0FBd0M7QUFDeEMsMkNBQXVEO0FBQ3ZELG1EQUFvRDtBQUVwRCxNQUFNLHFCQUFxQjtJQUNqQixTQUFTLEdBQXlCLEVBQUUsQ0FBQztJQUNyQyxVQUFVLEdBQW9DLEVBQUUsQ0FBQztJQUN4QyxXQUFXLENBQW9CO0lBRXhDLGFBQWEsR0FBb0MsU0FBUyxDQUFDO0lBRW5FLFlBQW1CLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxFQUFxQjtRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEdBQUcsTUFBTTtZQUNULEtBQUssRUFBRTtnQkFDTCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO2dCQUMxQyxRQUFRLEVBQUUseUJBQWE7YUFDeEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFvQztRQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBeUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQzFDLElBQUksRUFDSjtZQUNFLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEdBQUcsS0FBSztTQUNULEVB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
@@ -10,10 +10,15 @@ class SqlBuilder extends types_1.Builder {
10
10
  _networkProps = undefined;
11
11
  _elasticPoolProps = undefined;
12
12
  _databasesProps = {};
13
+ _vulnerabilityAssessment = undefined;
13
14
  _sqlInstance = undefined;
14
15
  constructor(props) {
15
16
  super(props);
16
17
  }
18
+ withVulnerabilityAssessment(props) {
19
+ this._vulnerabilityAssessment = props;
20
+ return this;
21
+ }
17
22
  withElasticPool(props) {
18
23
  this._elasticPoolProps = props;
19
24
  return this;
@@ -56,9 +61,12 @@ class SqlBuilder extends types_1.Builder {
56
61
  }
57
62
  buildSql() {
58
63
  if (!this._loginInfo)
59
- throw new Error("LoginInfo is required.");
64
+ throw new Error("The LoginInfo is required.");
60
65
  if (!this.commonProps.vaultInfo)
61
- throw new Error("VaultInfo is required.");
66
+ throw new Error("The VaultInfo is required.");
67
+ if (this._vulnerabilityAssessment &&
68
+ !this._vulnerabilityAssessment.logInfo.secrets)
69
+ throw new Error("The LogInfo's secrets are required to enable the vulnerability assessment.");
62
70
  this._sqlInstance = (0, Sql_1.default)({
63
71
  ...this.commonProps,
64
72
  auth: {
@@ -66,6 +74,14 @@ class SqlBuilder extends types_1.Builder {
66
74
  ...this._loginInfo,
67
75
  envRoles: this.commonProps.envRoles,
68
76
  },
77
+ vulnerabilityAssessment: this._vulnerabilityAssessment
78
+ ? {
79
+ logStorageId: this._vulnerabilityAssessment.logInfo.id,
80
+ alertEmails: this._vulnerabilityAssessment.alertEmails,
81
+ storageAccessKey: this._vulnerabilityAssessment.logInfo.secrets.primaryKey,
82
+ storageEndpoint: this._vulnerabilityAssessment.logInfo.secrets.endpoints.blob,
83
+ }
84
+ : undefined,
69
85
  network: this._networkProps,
70
86
  elasticPool: this._elasticPoolProps,
71
87
  databases: this._databasesProps,
@@ -78,4 +94,4 @@ class SqlBuilder extends types_1.Builder {
78
94
  }
79
95
  }
80
96
  exports.default = (props) => new SqlBuilder(props);
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CdWlsZGVyL1NxbEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnQ0FBNkU7QUFDN0UsbUNBVWlCO0FBQ2pCLDJDQUE2QztBQUU3QyxNQUFNLFVBQ0osU0FBUSxlQUFtQjtJQUduQixjQUFjLEdBQVksS0FBSyxDQUFDO0lBQ2hDLFVBQVUsR0FBa0MsU0FBUyxDQUFDO0lBQ3RELFlBQVksR0FBOEIsRUFBRSxDQUFDO0lBQzdDLGFBQWEsR0FBK0IsU0FBUyxDQUFDO0lBQ3RELGlCQUFpQixHQUFtQyxTQUFTLENBQUM7SUFDOUQsZUFBZSxHQUFxQixFQUFFLENBQUM7SUFFdkMsWUFBWSxHQUEyQixTQUFTLENBQUM7SUFFekQsWUFBWSxLQUFtQjtRQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQXlCO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ00sYUFBYSxDQUFDLEtBQXVCO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUM3RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxXQUFXLENBQUMsS0FBcUI7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ00sZUFBZSxDQUFDLEtBQWdDO1FBQ3JELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ00sYUFBYSxDQUFDLEtBQXdCO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUVqQyxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFXLEVBQUM7WUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1lBQ2xDLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO2FBQ3JFO1lBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUztTQUN0QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBQSxhQUFHLEVBQUM7WUFDdEIsR0FBRyxJQUFJLENBQUMsV0FBVztZQUNuQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsWUFBWTtnQkFDcEIsR0FBRyxJQUFJLENBQUMsVUFBVztnQkFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTthQUNwQztZQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU8sSUFBSSxDQUFDLFlBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxrQkFBZSxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUNyQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQXFCLENBQUMifQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CdWlsZGVyL1NxbEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnQ0FLZ0I7QUFDaEIsbUNBV2lCO0FBQ2pCLDJDQUE2QztBQUU3QyxNQUFNLFVBQ0osU0FBUSxlQUFtQjtJQUduQixjQUFjLEdBQVksS0FBSyxDQUFDO0lBQ2hDLFVBQVUsR0FBa0MsU0FBUyxDQUFDO0lBQ3RELFlBQVksR0FBOEIsRUFBRSxDQUFDO0lBQzdDLGFBQWEsR0FBK0IsU0FBUyxDQUFDO0lBQ3RELGlCQUFpQixHQUFtQyxTQUFTLENBQUM7SUFDOUQsZUFBZSxHQUFxQixFQUFFLENBQUM7SUFDdkMsd0JBQXdCLEdBRWhCLFNBQVMsQ0FBQztJQUVsQixZQUFZLEdBQTJCLFNBQVMsQ0FBQztJQUV6RCxZQUFZLEtBQW1CO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCwyQkFBMkIsQ0FDekIsS0FBNEM7UUFFNUMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBeUI7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxhQUFhLENBQUMsS0FBdUI7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQzdELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLFdBQVcsQ0FBQyxLQUFxQjtRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxlQUFlLENBQUMsS0FBZ0M7UUFDckQsSUFBSSxDQUFD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
@@ -1,4 +1,6 @@
1
1
  export { default as AksBuilder } from "./AksBuilder";
2
+ export { default as DnsZoneBuilder } from "./DnsZoneBuilder";
3
+ export { default as PrivateDnsZoneBuilder } from "./PrivateDnsZoneBuilder";
2
4
  export { default as ResourceBuilder } from "./ResourceBuilder";
3
5
  export { default as SqlBuilder } from "./SqlBuilder";
4
6
  export { default as VaultBuilder } from "./VaultBuilder";
package/Builder/index.js CHANGED
@@ -14,9 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.VnetBuilder = exports.VmBuilder = exports.VaultBuilder = exports.SqlBuilder = exports.ResourceBuilder = exports.AksBuilder = void 0;
17
+ exports.VnetBuilder = exports.VmBuilder = exports.VaultBuilder = exports.SqlBuilder = exports.ResourceBuilder = exports.PrivateDnsZoneBuilder = exports.DnsZoneBuilder = exports.AksBuilder = void 0;
18
18
  var AksBuilder_1 = require("./AksBuilder");
19
19
  Object.defineProperty(exports, "AksBuilder", { enumerable: true, get: function () { return AksBuilder_1.default; } });
20
+ var DnsZoneBuilder_1 = require("./DnsZoneBuilder");
21
+ Object.defineProperty(exports, "DnsZoneBuilder", { enumerable: true, get: function () { return DnsZoneBuilder_1.default; } });
22
+ var PrivateDnsZoneBuilder_1 = require("./PrivateDnsZoneBuilder");
23
+ Object.defineProperty(exports, "PrivateDnsZoneBuilder", { enumerable: true, get: function () { return PrivateDnsZoneBuilder_1.default; } });
20
24
  var ResourceBuilder_1 = require("./ResourceBuilder");
21
25
  Object.defineProperty(exports, "ResourceBuilder", { enumerable: true, get: function () { return ResourceBuilder_1.default; } });
22
26
  var SqlBuilder_1 = require("./SqlBuilder");
@@ -28,4 +32,4 @@ Object.defineProperty(exports, "VmBuilder", { enumerable: true, get: function ()
28
32
  var VnetBuilder_1 = require("./VnetBuilder");
29
33
  Object.defineProperty(exports, "VnetBuilder", { enumerable: true, get: function () { return VnetBuilder_1.default; } });
30
34
  __exportStar(require("./types"), exports);
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFxRDtBQUE1Qyx3R0FBQSxPQUFPLE9BQWM7QUFDOUIscURBQStEO0FBQXRELGtIQUFBLE9BQU8sT0FBbUI7QUFDbkMsMkNBQXFEO0FBQTVDLHdHQUFBLE9BQU8sT0FBYztBQUM5QiwrQ0FBeUQ7QUFBaEQsNEdBQUEsT0FBTyxPQUFnQjtBQUNoQyx5Q0FBbUQ7QUFBMUMsc0dBQUEsT0FBTyxPQUFhO0FBQzdCLDZDQUF1RDtBQUE5QywwR0FBQSxPQUFPLE9BQWU7QUFFL0IsMENBQXdCIn0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFxRDtBQUE1Qyx3R0FBQSxPQUFPLE9BQWM7QUFDOUIsbURBQTZEO0FBQXBELGdIQUFBLE9BQU8sT0FBa0I7QUFDbEMsaUVBQTJFO0FBQWxFLDhIQUFBLE9BQU8sT0FBeUI7QUFDekMscURBQStEO0FBQXRELGtIQUFBLE9BQU8sT0FBbUI7QUFDbkMsMkNBQXFEO0FBQTVDLHdHQUFBLE9BQU8sT0FBYztBQUM5QiwrQ0FBeUQ7QUFBaEQsNEdBQUEsT0FBTyxPQUFnQjtBQUNoQyx5Q0FBbUQ7QUFBMUMsc0dBQUEsT0FBTyxPQUFhO0FBQzdCLDZDQUF1RDtBQUE5QywwR0FBQSxPQUFPLE9BQWU7QUFFL0IsMENBQXdCIn0=
@@ -12,19 +12,19 @@ export type AksImportProps = {
12
12
  ignoreChanges?: string[];
13
13
  };
14
14
  export interface ISshBuilder {
15
- withNewSsh: (props: SshBuilderProps) => IAksNetworkBuilder;
15
+ withNewSsh(props: SshBuilderProps): IAksNetworkBuilder;
16
16
  }
17
17
  export interface IAksNetworkBuilder {
18
- withNetwork: (props: AksNetworkProps) => IAksDefaultNodePoolBuilder;
18
+ withNetwork(props: AksNetworkProps): IAksDefaultNodePoolBuilder;
19
19
  }
20
20
  export interface IAksDefaultNodePoolBuilder {
21
- withDefaultNodePool: (props: DefaultAksNodePoolProps) => IAksBuilder;
21
+ withDefaultNodePool(props: DefaultAksNodePoolProps): IAksBuilder;
22
22
  }
23
23
  export interface IAksBuilder extends IBuilderAsync<AskBuilderResults> {
24
- withAuth: (props: Omit<AksAccessProps, "envRoles">) => IAksBuilder;
25
- withNodePool: (props: AksNodePoolProps) => IAksBuilder;
26
- withAddon: (props: AskAddonProps) => IAksBuilder;
27
- withFeature: (props: AskFeatureProps) => IAksBuilder;
28
- withTier: (tier: native.containerservice.ManagedClusterSKUTier) => IAksBuilder;
29
- import: (props: AksImportProps) => IAksBuilder;
24
+ withAuth(props: Omit<AksAccessProps, "envRoles">): IAksBuilder;
25
+ withNodePool(props: AksNodePoolProps): IAksBuilder;
26
+ withAddon(props: AskAddonProps): IAksBuilder;
27
+ withFeature(props: AskFeatureProps): IAksBuilder;
28
+ withTier(tier: native.containerservice.ManagedClusterSKUTier): IAksBuilder;
29
+ import(props: AksImportProps): IAksBuilder;
30
30
  }
@@ -0,0 +1,11 @@
1
+ import { Input } from "@pulumi/pulumi";
2
+ import { ResourceInfo } from "../../types";
3
+ export type DnsZoneARecordType = {
4
+ recordName: string;
5
+ ipAddresses: Input<string>[];
6
+ };
7
+ export interface IDnsZoneBuilder {
8
+ withARecord(props: DnsZoneARecordType): IDnsZoneBuilder;
9
+ withSubZone(name: string): IDnsZoneBuilder;
10
+ build(): ResourceInfo;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zWm9uZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9kbnNab25lQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -14,12 +14,12 @@ export type LoginBuilderProps = {
14
14
  password: Input<string>;
15
15
  };
16
16
  export interface ILoginBuilder<IReturnInterface> {
17
- generateLogin: () => IReturnInterface;
18
- withLoginInfo: (props: LoginBuilderProps) => IReturnInterface;
17
+ generateLogin(): IReturnInterface;
18
+ withLoginInfo(props: LoginBuilderProps): IReturnInterface;
19
19
  }
20
20
  export interface IBuilder<TResults> {
21
21
  commonProps: BuilderProps;
22
- build: () => TResults;
22
+ build(): TResults;
23
23
  }
24
24
  export declare abstract class Builder<TResults> implements IBuilder<TResults> {
25
25
  commonProps: BuilderProps;
@@ -27,7 +27,7 @@ export declare abstract class Builder<TResults> implements IBuilder<TResults> {
27
27
  abstract build(): TResults;
28
28
  }
29
29
  export interface IBuilderAsync<TResults> extends Omit<IBuilder<TResults>, "build"> {
30
- build: () => Promise<TResults>;
30
+ build(): Promise<TResults>;
31
31
  }
32
32
  export declare abstract class BuilderAsync<TResults> implements IBuilderAsync<TResults> {
33
33
  commonProps: BuilderProps;
@@ -1,4 +1,5 @@
1
1
  export * from "./askBuilder";
2
+ export * from "./dnsZoneBuilder";
2
3
  export * from "./genericBuilder";
3
4
  export * from "./resourceBuilder";
4
5
  export * from "./sqlBuilder";
@@ -15,9 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./askBuilder"), exports);
18
+ __exportStar(require("./dnsZoneBuilder"), exports);
18
19
  __exportStar(require("./genericBuilder"), exports);
19
20
  __exportStar(require("./resourceBuilder"), exports);
20
21
  __exportStar(require("./sqlBuilder"), exports);
21
22
  __exportStar(require("./vmBuilder"), exports);
22
23
  __exportStar(require("./vnetBuilder"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLG1EQUFpQztBQUNqQyxvREFBa0M7QUFDbEMsK0NBQTZCO0FBQzdCLDhDQUE0QjtBQUM1QixnREFBOEIifQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsb0RBQWtDO0FBQ2xDLCtDQUE2QjtBQUM3Qiw4Q0FBNEI7QUFDNUIsZ0RBQThCIn0=
@@ -0,0 +1,13 @@
1
+ import { Input } from "@pulumi/pulumi";
2
+ import { ResourceInfo } from "../../types";
3
+ import { DnsZoneARecordType } from "./dnsZoneBuilder";
4
+ export type PrivateDnsZoneVnetLinkingType = {
5
+ vnetIds?: Input<string>[];
6
+ subnetIds?: Input<string>[];
7
+ registrationEnabled?: boolean;
8
+ };
9
+ export interface IPrivateDnsZoneBuilder {
10
+ withARecord(props: DnsZoneARecordType): IPrivateDnsZoneBuilder;
11
+ linkTo(props: PrivateDnsZoneVnetLinkingType): IPrivateDnsZoneBuilder;
12
+ build(): ResourceInfo;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZURuc1pvbmVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0J1aWxkZXIvdHlwZXMvcHJpdmF0ZURuc1pvbmVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -19,28 +19,28 @@ export type ResourceVaultLinkingBuilderType = {
19
19
  asPrivateLink?: boolean;
20
20
  };
21
21
  export interface IResourceRoleBuilder {
22
- createRoles: () => IResourceGroupBuilder;
23
- withRoles: (props: EnvRolesResults) => IResourceGroupBuilder;
24
- withRolesFromVault: () => IResourceGroupBuilder;
22
+ createRoles(): IResourceGroupBuilder;
23
+ withRoles(props: EnvRolesResults): IResourceGroupBuilder;
24
+ withRolesFromVault(): IResourceGroupBuilder;
25
25
  }
26
26
  export interface IResourceGroupBuilder {
27
- createRG: (props: ResourceGroupBuilderType) => IResourceVaultBuilder;
28
- withRG: (props: ResourceGroupInfo) => IResourceVaultBuilder;
27
+ createRG(props: ResourceGroupBuilderType): IResourceVaultBuilder;
28
+ withRG(props: ResourceGroupInfo): IResourceVaultBuilder;
29
29
  }
30
30
  export interface IResourceVaultBuilder {
31
- createVault: () => IResourceBuilder;
32
- withVault: (props: KeyVaultInfo) => IResourceBuilder;
31
+ createVault(): IResourceBuilder;
32
+ withVault(props: KeyVaultInfo): IResourceBuilder;
33
33
  }
34
34
  export interface IResourceVaultItemsBuilder {
35
- addSecrets: (items: Record<string, Input<string>>) => IResourceBuilder;
35
+ addSecrets(items: Record<string, Input<string>>): IResourceBuilder;
36
36
  }
37
37
  export interface IResourceVnetBuilder {
38
- withVnet: (props: ResourceVnetBuilderType) => IResourceBuilder;
39
- linkVaultTo: (props: ResourceVaultLinkingBuilderType) => IResourceBuilder;
38
+ withVnet(props: ResourceVnetBuilderType): IResourceBuilder;
39
+ linkVaultTo(props: ResourceVaultLinkingBuilderType): IResourceBuilder;
40
40
  }
41
41
  export interface IResourceBuilder extends IResourceVnetBuilder, IResourceVaultItemsBuilder {
42
- lock: () => IResourceBuilder;
43
- withBuilder: (props: BuilderFunctionType) => IResourceBuilder;
44
- withBuilderAsync: (props: BuilderAsyncFunctionType) => IResourceBuilder;
45
- build: () => Promise<ResourceBuilderResults>;
42
+ lock(): IResourceBuilder;
43
+ withBuilder(props: BuilderFunctionType): IResourceBuilder;
44
+ withBuilderAsync(props: BuilderAsyncFunctionType): IResourceBuilder;
45
+ build(): Promise<ResourceBuilderResults>;
46
46
  }
@@ -1,20 +1,25 @@
1
1
  import { IBuilder, ILoginBuilder } from "./genericBuilder";
2
- import { SqlAuthType, SqlElasticPoolType, SqlNetworkType, SqlResults } from "../../Sql";
2
+ import { SqlAuthType, SqlElasticPoolType, SqlNetworkType, SqlResults, SqlVulnerabilityAssessmentType } from "../../Sql";
3
3
  import { SqlDbSku } from "../../Sql/SqlDb";
4
- export type SqlBuilderAuthOptionsType = Pick<SqlAuthType, "enableAdAdministrator" | "azureAdOnlyAuthentication">;
4
+ import { LogStorageInfo } from "../../Logs/Helpers";
5
+ export type SqlBuilderAuthOptionsType = Pick<SqlAuthType, "azureAdOnlyAuthentication">;
5
6
  export type SqlDbBuilderType = Record<string, {
6
7
  name?: string;
7
8
  sku?: SqlDbSku;
8
9
  }>;
10
+ export type SqlBuilderVulnerabilityAssessmentType = {
11
+ logInfo: LogStorageInfo;
12
+ } & Pick<SqlVulnerabilityAssessmentType, "alertEmails">;
9
13
  export interface ISqlLoginBuilder extends ILoginBuilder<ISqlAuthBuilder> {
10
14
  }
11
15
  export interface ISqlAuthBuilder {
12
- withAuthOptions: (props: SqlBuilderAuthOptionsType) => ISqlNetworkBuilder;
16
+ withAuthOptions(props: SqlBuilderAuthOptionsType): ISqlNetworkBuilder;
13
17
  }
14
18
  export interface ISqlNetworkBuilder {
15
- withNetwork: (props: SqlNetworkType) => ISqlBuilder;
19
+ withNetwork(props: SqlNetworkType): ISqlBuilder;
16
20
  }
17
21
  export interface ISqlBuilder extends IBuilder<SqlResults> {
18
- withElasticPool: (props: SqlElasticPoolType) => ISqlBuilder;
19
- withDatabases: (props: SqlDbBuilderType) => ISqlBuilder;
22
+ withElasticPool(props: SqlElasticPoolType): ISqlBuilder;
23
+ withDatabases(props: SqlDbBuilderType): ISqlBuilder;
24
+ withVulnerabilityAssessment(props: SqlBuilderVulnerabilityAssessmentType): ISqlBuilder;
20
25
  }
@@ -1,16 +1,16 @@
1
1
  import { BasicMonitorArgs, KeyVaultInfo } from "../../types";
2
2
  import { Input } from "@pulumi/pulumi";
3
3
  export interface IVaultBuilderResults {
4
- info: () => KeyVaultInfo;
5
- addSecrets: (items: Record<string, Input<string>>) => IVaultBuilderResults;
6
- privateLinkTo: (subnetIds: Input<string>[]) => IVaultBuilderResults;
7
- linkTo: (props: {
4
+ info(): KeyVaultInfo;
5
+ addSecrets(items: Record<string, Input<string>>): IVaultBuilderResults;
6
+ privateLinkTo(subnetIds: Input<string>[]): IVaultBuilderResults;
7
+ linkTo(props: {
8
8
  subnetIds: Input<string>[];
9
9
  ipAddresses: Input<string>[];
10
- }) => IVaultBuilderResults;
10
+ }): IVaultBuilderResults;
11
11
  }
12
12
  export interface IVaultBuilder {
13
13
  name: string;
14
- withDiagnostic: (logInfo: BasicMonitorArgs) => IVaultBuilder;
15
- build: () => IVaultBuilderResults;
14
+ withDiagnostic(logInfo: BasicMonitorArgs): IVaultBuilder;
15
+ build(): IVaultBuilderResults;
16
16
  }
@@ -13,17 +13,17 @@ export type VmOsBuilderLinuxProps = {
13
13
  };
14
14
  export type VmSizeTypes = "Standard_D2a_v4" | "Standard_D4a_v4" | "Standard_D8a_v4" | "Standard_D16a_v4" | "Standard_D32a_v4" | "Standard_D48a_v4" | "Standard_D64a_v4" | "Standard_D96a_v4" | "Standard_D2as_v4" | "Standard_D4as_v4" | "Standard_D8as_v4" | "Standard_D16as_v4" | "Standard_D32as_v4" | "Standard_D48as_v4" | "Standard_D64as_v4" | "Standard_D96as_v4" | "Standard_E2_v4" | "Standard_E4_v4" | "Standard_E8_v4" | "Standard_E16_v4" | "Standard_E20_v4" | "Standard_E32_v4" | "Standard_E48_v4" | "Standard_E64_v4" | "Standard_E8-4ads_v5" | "Standard_E16-4ads_v5" | "Standard_E32-8ads_v5" | "Standard_E64-16ads_v5" | "Standard_E96-24ads_v5" | string;
15
15
  export interface IVmOsBuilder {
16
- withWindowsImage: (props: VmOsBuilderWindowsProps) => IVmSizeBuilder;
17
- withLinuxImage: (props: VmOsBuilderLinuxProps) => IVmSizeBuilder;
16
+ withWindowsImage(props: VmOsBuilderWindowsProps): IVmSizeBuilder;
17
+ withLinuxImage(props: VmOsBuilderLinuxProps): IVmSizeBuilder;
18
18
  }
19
19
  export interface IVmSizeBuilder {
20
- withSize: (props: VmSizeTypes) => IVmLoginBuilder;
20
+ withSize(props: VmSizeTypes): IVmLoginBuilder;
21
21
  }
22
22
  export interface IVmLoginBuilder extends ILoginBuilder<IVmVnetBuilder> {
23
23
  }
24
24
  export interface IVmVnetBuilder {
25
- withSubnetId: (props: Input<string>) => IVmBuilder;
25
+ withSubnetId(props: Input<string>): IVmBuilder;
26
26
  }
27
27
  export interface IVmBuilder extends IBuilder<VirtualMachine> {
28
- withTags: (props: Record<string, Input<string>>) => IVmBuilder;
28
+ withTags(props: Record<string, Input<string>>): IVmBuilder;
29
29
  }