@drunk-pulumi/azure 1.0.22 → 1.0.23
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/Identity.d.ts +1 -1
- package/Aks/Identity.js +1 -1
- package/Aks/index.d.ts +2 -3
- package/Aks/index.js +2 -2
- package/AzAd/EnvRoles.Consts.d.ts +6 -5
- package/AzAd/EnvRoles.Consts.js +48 -42
- package/AzAd/Helper.js +7 -1
- package/AzAd/Identities/AzDevOpsIdentity.d.ts +1 -1
- package/AzAd/Identities/AzDevOpsIdentity.js +1 -1
- package/AzAd/Identities/AzUserAdRevertSync.d.ts +1 -1
- package/AzAd/Identity.d.ts +2 -11
- package/AzAd/Identity.js +2 -2
- package/AzAd/UserAssignedIdentity.js +6 -1
- package/Builder/AcrBuilder.d.ts +3 -0
- package/Builder/AcrBuilder.js +143 -0
- package/Builder/ApimApiBuilder.js +2 -3
- package/Builder/AppCertBuilder.d.ts +3 -0
- package/Builder/AppCertBuilder.js +75 -0
- package/Builder/AppConfigBuilder.d.ts +3 -0
- package/Builder/AppConfigBuilder.js +152 -0
- package/Builder/AutomationBuilder.d.ts +3 -0
- package/Builder/AutomationBuilder.js +106 -0
- package/Builder/IotHubBuilder.d.ts +3 -0
- package/Builder/IotHubBuilder.js +240 -0
- package/Builder/LogicAppBuilder.d.ts +3 -0
- package/Builder/LogicAppBuilder.js +69 -0
- package/Builder/MySqlBuilder.d.ts +3 -0
- package/Builder/MySqlBuilder.js +229 -0
- package/Builder/PostgreSqlBuilder.d.ts +3 -0
- package/Builder/PostgreSqlBuilder.js +235 -0
- package/Builder/RedisCacheBuilder.d.ts +3 -0
- package/Builder/RedisCacheBuilder.js +151 -0
- package/Builder/ResourceBuilder.js +11 -1
- package/Builder/SignalRBuilder.d.ts +3 -0
- package/Builder/SignalRBuilder.js +179 -0
- package/Builder/index.d.ts +10 -0
- package/Builder/index.js +22 -2
- package/Builder/types/acrBuilder.d.ts +18 -0
- package/Builder/types/acrBuilder.js +3 -0
- package/Builder/types/appCertBuilder.d.ts +14 -0
- package/Builder/types/appCertBuilder.js +3 -0
- package/Builder/types/appConfigBuilder.d.ts +15 -0
- package/Builder/types/appConfigBuilder.js +3 -0
- package/Builder/types/automationBuilder.d.ts +11 -0
- package/Builder/types/automationBuilder.js +3 -0
- package/Builder/types/index.d.ts +11 -0
- package/Builder/types/index.js +12 -1
- package/Builder/types/iotHubBuilder.d.ts +31 -0
- package/Builder/types/iotHubBuilder.js +3 -0
- package/Builder/types/logicAppBuilder.d.ts +10 -0
- package/Builder/types/logicAppBuilder.js +3 -0
- package/Builder/types/mySqlBuilder.d.ts +45 -0
- package/Builder/types/mySqlBuilder.js +3 -0
- package/Builder/types/posgreSqlBuilder.d.ts +45 -0
- package/Builder/types/posgreSqlBuilder.js +3 -0
- package/Builder/types/redisCacheBuilder.d.ts +15 -0
- package/Builder/types/redisCacheBuilder.js +3 -0
- package/Builder/types/resourceBuilder.d.ts +2 -0
- package/Builder/types/signalRBuilder.d.ts +38 -0
- package/Builder/types/signalRBuilder.js +3 -0
- package/Common/OpenApi/index.js +37 -0
- package/{Web → Common/OpenApi}/types.js +1 -1
- package/Common/index.d.ts +1 -0
- package/Common/index.js +3 -2
- package/CustomRoles/index.js +4 -4
- package/KeyVault/Helper.d.ts +1 -0
- package/KeyVault/Helper.js +2 -1
- package/VNet/PrivateEndpoint.d.ts +1 -0
- package/VNet/PrivateEndpoint.js +1 -1
- package/package.json +1 -1
- package/types.d.ts +11 -2
- package/Apim/ApiProduct/OpenApi.js +0 -3
- package/Apim/ApiProduct/SwaggerHelper.js +0 -37
- package/Apps/LogicApp.d.ts +0 -5
- package/Apps/LogicApp.js +0 -38
- package/Automation/index.d.ts +0 -6
- package/Automation/index.js +0 -78
- package/ContainerRegistry/Helper.d.ts +0 -15
- package/ContainerRegistry/Helper.js +0 -77
- package/ContainerRegistry/index.d.ts +0 -15
- package/ContainerRegistry/index.js +0 -93
- package/CosmosDb/index.d.ts +0 -28
- package/CosmosDb/index.js +0 -142
- package/IOT/Hub/index.d.ts +0 -26
- package/IOT/Hub/index.js +0 -191
- package/MySql/index.d.ts +0 -16
- package/MySql/index.js +0 -185
- package/Postgresql/index.d.ts +0 -16
- package/Postgresql/index.js +0 -157
- package/RedisCache/index.d.ts +0 -15
- package/RedisCache/index.js +0 -111
- package/SignalR/index.d.ts +0 -19
- package/SignalR/index.js +0 -128
- package/Web/AppCertOrder.d.ts +0 -8
- package/Web/AppCertOrder.js +0 -52
- package/Web/AppConfig.d.ts +0 -10
- package/Web/AppConfig.js +0 -93
- package/Web/AppGateway.d.ts +0 -15
- package/Web/AppGateway.js +0 -58
- package/Web/types.d.ts +0 -37
- /package/{Apim/ApiProduct/SwaggerHelper.d.ts → Common/OpenApi/index.d.ts} +0 -0
- /package/{Apim/ApiProduct/OpenApi.d.ts → Common/OpenApi/types.d.ts} +0 -0
|
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
const apim = __importStar(require("@pulumi/azure-native/apimanagement"));
|
|
30
30
|
const types_1 = require("@pulumi/azure-native/types");
|
|
31
31
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
32
|
-
const SwaggerHelper_1 = require("../Apim/ApiProduct/SwaggerHelper");
|
|
33
32
|
const Common_1 = require("../Common");
|
|
34
33
|
const ApimPolicyBuilder_1 = __importDefault(require("./ApimPolicyBuilder"));
|
|
35
34
|
const types_2 = require("./types");
|
|
@@ -126,7 +125,7 @@ class ApimApiBuilder extends types_2.BuilderAsync {
|
|
|
126
125
|
? types_1.enums.apimanagement.ContentFormat.Openapi_json
|
|
127
126
|
: undefined,
|
|
128
127
|
value: 'swaggerUrl' in rv
|
|
129
|
-
? await
|
|
128
|
+
? await Common_1.openApi.getImportConfig(rv.swaggerUrl, k)
|
|
130
129
|
: undefined,
|
|
131
130
|
}, { dependsOn: apiSet, deleteBeforeReplace: true });
|
|
132
131
|
//Link API to Product
|
|
@@ -195,4 +194,4 @@ class ApimApiBuilder extends types_2.BuilderAsync {
|
|
|
195
194
|
}
|
|
196
195
|
}
|
|
197
196
|
exports.default = ApimApiBuilder;
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpbUFwaUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9BcGltQXBpQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUVBQTJEO0FBQzNELHNEQUFtRDtBQUNuRCwyQ0FBb0Q7QUFDcEQsc0NBQWtEO0FBRWxELDRFQUFvRDtBQUVwRCxtQ0FXaUI7QUFFakIsTUFBTSxzQkFBc0I7SUFFQTtJQURuQixTQUFTLEdBQTJCLEVBQUUsQ0FBQztJQUM5QyxZQUEwQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFDN0MsWUFBWSxDQUFDLEtBQTJCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBcUIsY0FDbkIsU0FBUSxvQkFBMEI7SUFleEI7SUFaRixXQUFXLEdBQXNDLFNBQVMsQ0FBQztJQUMzRCxjQUFjLEdBQWdDO1FBQ3BELE1BQU0sRUFBRSxXQUFXO1FBQ25CLEtBQUssRUFBRSxTQUFTO0tBQ2pCLENBQUM7SUFDTSxLQUFLLEdBQTJDLEVBQUUsQ0FBQztJQUVuRCxnQkFBZ0IsQ0FBUztJQUN6QixRQUFRLEdBQXVDLEVBQUUsQ0FBQztJQUNsRCxhQUFhLEdBQXVCLFNBQVMsQ0FBQztJQUV0RCxZQUNVLEtBR1A7UUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFMTCxVQUFLLEdBQUwsS0FBSyxDQUdaO1FBR0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDO1FBQzVDLGNBQWM7UUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksMkJBQWlCLENBQUM7WUFDekMsR0FBRyxLQUFLO1lBQ1IsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFB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
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const types_1 = require("./types");
|
|
27
|
+
const Common_1 = require("../Common");
|
|
28
|
+
const cert = __importStar(require("@pulumi/azure-native/certificateregistration"));
|
|
29
|
+
class AppCertBuilder extends types_1.Builder {
|
|
30
|
+
args;
|
|
31
|
+
_instanceName;
|
|
32
|
+
_appCertInstance = undefined;
|
|
33
|
+
_options = undefined;
|
|
34
|
+
constructor(args) {
|
|
35
|
+
super(args);
|
|
36
|
+
this.args = args;
|
|
37
|
+
this._instanceName = Common_1.naming.getCertOrderName(args.name);
|
|
38
|
+
}
|
|
39
|
+
for(props) {
|
|
40
|
+
this._options = props;
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
buildAppCert() {
|
|
44
|
+
const { group, vaultInfo, dependsOn } = this.args;
|
|
45
|
+
this._appCertInstance = new cert.AppServiceCertificateOrder(this._instanceName, {
|
|
46
|
+
...group,
|
|
47
|
+
certificateOrderName: this._instanceName,
|
|
48
|
+
location: 'global',
|
|
49
|
+
productType: this._options.type,
|
|
50
|
+
autoRenew: true,
|
|
51
|
+
distinguishedName: `CN=*.${this._options.domain}`,
|
|
52
|
+
keySize: this._options.keySize,
|
|
53
|
+
validityInYears: 1,
|
|
54
|
+
}, { dependsOn });
|
|
55
|
+
if (vaultInfo) {
|
|
56
|
+
new cert.AppServiceCertificateOrderCertificate(this._instanceName, {
|
|
57
|
+
...group,
|
|
58
|
+
certificateOrderName: this._instanceName,
|
|
59
|
+
location: 'global',
|
|
60
|
+
keyVaultSecretName: this._instanceName,
|
|
61
|
+
keyVaultId: vaultInfo.id,
|
|
62
|
+
}, { dependsOn: this._appCertInstance });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
build() {
|
|
66
|
+
this.buildAppCert();
|
|
67
|
+
return {
|
|
68
|
+
name: this._instanceName,
|
|
69
|
+
group: this.args.group,
|
|
70
|
+
id: this._appCertInstance.id,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.default = (props) => new AppCertBuilder(props);
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ2VydEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9BcHBDZXJ0QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBTWlCO0FBRWpCLHNDQUFtQztBQUNuQyxtRkFBcUU7QUFFckUsTUFBTSxjQUNKLFNBQVEsZUFBcUI7SUFTVDtJQU5ILGFBQWEsQ0FBUztJQUMvQixnQkFBZ0IsR0FDdEIsU0FBUyxDQUFDO0lBRUosUUFBUSxHQUF5QyxTQUFTLENBQUM7SUFFbkUsWUFBb0IsSUFBd0I7UUFDMUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRE0sU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFFMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxHQUFHLENBQUMsS0FBK0I7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRWxELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FDekQsSUFBSSxDQUFDLGFBQWEsRUFDbEI7WUFDRSxHQUFHLEtBQUs7WUFDUixvQkFBb0IsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUN4QyxRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxJQUFJO1lBQ2hDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsaUJBQWlCLEVBQUUsUUFBUSxJQUFJLENBQUMsUUFBUyxDQUFDLE1BQU0sRUFBRTtZQUNsRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxPQUFPO1lBQy9CLGVBQWUsRUFBRSxDQUFDO1NBQ25CLEVBQ0QsRUFBRSxTQUFTLEVBQUUsQ0FDZCxDQUFDO1FBRUYsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksSUFBSSxDQUFDLHFDQUFxQyxDQUM1QyxJQUFJLENBQUMsYUFBYSxFQUNsQjtnQkFDRSxHQUFHLEtBQUs7Z0JBQ1Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQ3hDLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDdEMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFO2FBQ3pCLEVBQ0QsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQ3JDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ3RCLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWlCLENBQUMsRUFBRTtTQUM5QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsa0JBQWUsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FDM0MsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUEwQixDQUFDIn0=
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const types_1 = require("./types");
|
|
30
|
+
const Common_1 = require("../Common");
|
|
31
|
+
const appConfig = __importStar(require("@pulumi/azure-native/appconfiguration/v20230901preview"));
|
|
32
|
+
const Helper_1 = require("../KeyVault/Helper");
|
|
33
|
+
const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
|
|
34
|
+
const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
35
|
+
class AppConfigBuilder extends types_1.Builder {
|
|
36
|
+
args;
|
|
37
|
+
_instanceName;
|
|
38
|
+
_appConfigInstance = undefined;
|
|
39
|
+
_privateLink = undefined;
|
|
40
|
+
_options = {
|
|
41
|
+
enablePurgeProtection: Common_1.isPrd,
|
|
42
|
+
softDeleteRetentionInDays: Common_1.isPrd ? 90 : 1,
|
|
43
|
+
};
|
|
44
|
+
constructor(args) {
|
|
45
|
+
super(args);
|
|
46
|
+
this.args = args;
|
|
47
|
+
this._instanceName = Common_1.naming.getAppConfigName(args.name);
|
|
48
|
+
}
|
|
49
|
+
withOptions(props) {
|
|
50
|
+
this._options = { ...this._options, ...props };
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
withPrivateLink(props) {
|
|
54
|
+
this._privateLink = props;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
buildAppConfig() {
|
|
58
|
+
const { group, envUIDInfo, vaultInfo, enableEncryption, dependsOn, ignoreChanges = [], } = this.args;
|
|
59
|
+
const encryptionKey = enableEncryption
|
|
60
|
+
? (0, Helper_1.addEncryptKey)(this._instanceName, vaultInfo)
|
|
61
|
+
: undefined;
|
|
62
|
+
this._appConfigInstance = new appConfig.ConfigurationStore(this._instanceName, {
|
|
63
|
+
...group,
|
|
64
|
+
...this._options,
|
|
65
|
+
configStoreName: this._instanceName,
|
|
66
|
+
sku: { name: 'Standard' },
|
|
67
|
+
disableLocalAuth: this._privateLink?.disableLocalAuth,
|
|
68
|
+
publicNetworkAccess: this._privateLink
|
|
69
|
+
? appConfig.PublicNetworkAccess.Disabled
|
|
70
|
+
: appConfig.PublicNetworkAccess.Enabled,
|
|
71
|
+
identity: {
|
|
72
|
+
type: envUIDInfo
|
|
73
|
+
? appConfig.IdentityType.SystemAssigned_UserAssigned
|
|
74
|
+
: appConfig.IdentityType.SystemAssigned,
|
|
75
|
+
userAssignedIdentities: envUIDInfo ? [envUIDInfo.id] : undefined,
|
|
76
|
+
},
|
|
77
|
+
encryption: encryptionKey && envUIDInfo
|
|
78
|
+
? {
|
|
79
|
+
keyVaultProperties: {
|
|
80
|
+
identityClientId: envUIDInfo.clientId,
|
|
81
|
+
keyIdentifier: encryptionKey.urlWithoutVersion,
|
|
82
|
+
},
|
|
83
|
+
}
|
|
84
|
+
: undefined,
|
|
85
|
+
}, {
|
|
86
|
+
dependsOn,
|
|
87
|
+
ignoreChanges: [
|
|
88
|
+
...ignoreChanges,
|
|
89
|
+
'softDeleteRetentionInDays',
|
|
90
|
+
'enablePurgeProtection',
|
|
91
|
+
],
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
buildPrivateLink() {
|
|
95
|
+
if (!this._privateLink)
|
|
96
|
+
return;
|
|
97
|
+
(0, PrivateEndpoint_1.default)({
|
|
98
|
+
...this._privateLink,
|
|
99
|
+
resourceInfo: {
|
|
100
|
+
name: this._instanceName,
|
|
101
|
+
group: this.args.group,
|
|
102
|
+
id: this._appConfigInstance.id,
|
|
103
|
+
},
|
|
104
|
+
privateDnsZoneName: 'privatelink.azconfig.io',
|
|
105
|
+
linkServiceGroupIds: ['configurationStores'],
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
buildSecrets() {
|
|
109
|
+
const { vaultInfo } = this.args;
|
|
110
|
+
if (!vaultInfo || this._privateLink?.disableLocalAuth)
|
|
111
|
+
return;
|
|
112
|
+
this._appConfigInstance.id.apply(async (id) => {
|
|
113
|
+
if (!id)
|
|
114
|
+
return;
|
|
115
|
+
//Load the keys from Azure
|
|
116
|
+
const keys = await appConfig.listConfigurationStoreKeys({
|
|
117
|
+
configStoreName: this._instanceName,
|
|
118
|
+
...this.args.group,
|
|
119
|
+
});
|
|
120
|
+
if (keys.value) {
|
|
121
|
+
const readPrimaryConnectionStringKey = `${this._instanceName}-read-primary-connection-string`;
|
|
122
|
+
const readSecondaryConnectionStringKey = `${this._instanceName}-read-secondary-connection-string`;
|
|
123
|
+
keys.value.map((key) => {
|
|
124
|
+
//Only Read Connection String here
|
|
125
|
+
if (key.readOnly) {
|
|
126
|
+
(0, CustomHelper_1.addCustomSecret)({
|
|
127
|
+
name: key.name.includes('Primary')
|
|
128
|
+
? readPrimaryConnectionStringKey
|
|
129
|
+
: readSecondaryConnectionStringKey,
|
|
130
|
+
value: key.connectionString,
|
|
131
|
+
contentType: `AppConfig ${this._instanceName} ${key.name}`,
|
|
132
|
+
vaultInfo,
|
|
133
|
+
dependsOn: this._appConfigInstance,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
build() {
|
|
141
|
+
this.buildAppConfig();
|
|
142
|
+
this.buildPrivateLink();
|
|
143
|
+
this.buildSecrets();
|
|
144
|
+
return {
|
|
145
|
+
name: this._instanceName,
|
|
146
|
+
group: this.args.group,
|
|
147
|
+
id: this._appConfigInstance.id,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.default = (props) => new AppConfigBuilder(props);
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ29uZmlnQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CdWlsZGVyL0FwcENvbmZpZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQU1pQjtBQUVqQixzQ0FBMEM7QUFDMUMsa0dBQW9GO0FBQ3BGLCtDQUFtRDtBQUNuRCw4RUFBc0Q7QUFDdEQsMkRBQTJEO0FBRTNELE1BQU0sZ0JBQ0osU0FBUSxlQUFxQjtJQWFUO0lBVkgsYUFBYSxDQUFTO0lBQy9CLGtCQUFrQixHQUN4QixTQUFTLENBQUM7SUFFSixZQUFZLEdBQXFDLFNBQVMsQ0FBQztJQUMzRCxRQUFRLEdBQTRCO1FBQzFDLHFCQUFxQixFQUFFLGNBQUs7UUFDNUIseUJBQXlCLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUMsQ0FBQztJQUVGLFlBQW9CLElBQTBCO1FBQzVDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURNLFNBQUksR0FBSixJQUFJLENBQXNCO1FBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsZUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQThCO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBMkI7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEVBQ0osS0FBSyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFNB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
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const types_1 = require("./types");
|
|
30
|
+
const Common_1 = require("../Common");
|
|
31
|
+
const UserAssignedIdentity_1 = __importDefault(require("../AzAd/UserAssignedIdentity"));
|
|
32
|
+
const Helper_1 = require("../KeyVault/Helper");
|
|
33
|
+
const automation = __importStar(require("@pulumi/azure-native/automation"));
|
|
34
|
+
class AutomationBuilder extends types_1.Builder {
|
|
35
|
+
args;
|
|
36
|
+
_instanceName;
|
|
37
|
+
_uid = undefined;
|
|
38
|
+
_automationInstance = undefined;
|
|
39
|
+
_sku = automation.SkuNameEnum.Free;
|
|
40
|
+
constructor(args) {
|
|
41
|
+
super(args);
|
|
42
|
+
this.args = args;
|
|
43
|
+
this._instanceName = Common_1.naming.getAutomationAccountName(args.name);
|
|
44
|
+
}
|
|
45
|
+
withSku(props) {
|
|
46
|
+
this._sku = props;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
buildUID() {
|
|
50
|
+
const { group, dependsOn, envRoles } = this.args;
|
|
51
|
+
this._uid = (0, UserAssignedIdentity_1.default)({
|
|
52
|
+
name: this._instanceName,
|
|
53
|
+
group,
|
|
54
|
+
dependsOn,
|
|
55
|
+
});
|
|
56
|
+
//grant permission
|
|
57
|
+
envRoles?.addMember('contributor', this._uid.principalId);
|
|
58
|
+
}
|
|
59
|
+
buildAutomation() {
|
|
60
|
+
const { group, vaultInfo, envRoles, envUIDInfo, enableEncryption, ignoreChanges, dependsOn, } = this.args;
|
|
61
|
+
const encryption = enableEncryption && vaultInfo
|
|
62
|
+
? (0, Helper_1.addEncryptKey)(this._instanceName, vaultInfo)
|
|
63
|
+
: undefined;
|
|
64
|
+
this._automationInstance = new automation.AutomationAccount(this._instanceName, {
|
|
65
|
+
...group,
|
|
66
|
+
automationAccountName: this._instanceName,
|
|
67
|
+
publicNetworkAccess: false,
|
|
68
|
+
identity: {
|
|
69
|
+
type: automation.ResourceIdentityType.SystemAssigned_UserAssigned,
|
|
70
|
+
userAssignedIdentities: envUIDInfo
|
|
71
|
+
? [this._uid.id, envUIDInfo.id]
|
|
72
|
+
: [this._uid.id],
|
|
73
|
+
},
|
|
74
|
+
disableLocalAuth: true,
|
|
75
|
+
encryption: {
|
|
76
|
+
keySource: encryption ? 'Microsoft.Keyvault' : 'Microsoft.Automation',
|
|
77
|
+
identity: encryption
|
|
78
|
+
? { userAssignedIdentity: envUIDInfo?.id ?? this._uid.id }
|
|
79
|
+
: undefined,
|
|
80
|
+
keyVaultProperties: encryption
|
|
81
|
+
? {
|
|
82
|
+
keyName: encryption.keyName,
|
|
83
|
+
keyvaultUri: encryption.keyVaultUri,
|
|
84
|
+
keyVersion: encryption.keyVersion,
|
|
85
|
+
}
|
|
86
|
+
: undefined,
|
|
87
|
+
},
|
|
88
|
+
sku: {
|
|
89
|
+
name: this._sku,
|
|
90
|
+
},
|
|
91
|
+
}, { dependsOn: this._uid?.instance ?? dependsOn, ignoreChanges });
|
|
92
|
+
//grant permission
|
|
93
|
+
envRoles?.addIdentity('contributor', this._automationInstance.identity);
|
|
94
|
+
}
|
|
95
|
+
build() {
|
|
96
|
+
this.buildUID();
|
|
97
|
+
this.buildAutomation();
|
|
98
|
+
return {
|
|
99
|
+
name: this._instanceName,
|
|
100
|
+
group: this.args.group,
|
|
101
|
+
id: this._automationInstance.id,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.default = (props) => new AutomationBuilder(props);
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b21hdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9BdXRvbWF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBQWtDO0FBUWxDLHNDQUFtQztBQUNuQyx3RkFBZ0U7QUFDaEUsK0NBQW1EO0FBQ25ELDRFQUE4RDtBQUc5RCxNQUFNLGlCQUNKLFNBQVEsZUFBcUI7SUFVVDtJQVBILGFBQWEsQ0FBUztJQUMvQixJQUFJLEdBQ1YsU0FBUyxDQUFDO0lBQ0osbUJBQW1CLEdBQ3pCLFNBQVMsQ0FBQztJQUNKLElBQUksR0FBeUIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFFakUsWUFBb0IsSUFBMkI7UUFDN0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRE0sU0FBSSxHQUFKLElBQUksQ0FBdUI7UUFFN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBMkI7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLDhCQUFvQixFQUFDO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUN4QixLQUFLO1lBQ0wsU0FBUztTQUNWLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixRQUFRLEVBQUUsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVE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
|