@drunk-pulumi/azure 0.0.49 → 0.0.51
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 +3 -3
- package/Aks/Helper.js +16 -35
- package/Aks/Identity.d.ts +2 -2
- package/Aks/Identity.js +5 -5
- package/Aks/index.d.ts +19 -6
- package/Aks/index.js +57 -70
- package/Apim/Helpers.d.ts +1 -1
- package/Apim/Helpers.js +2 -2
- package/Apps/LogicApp.d.ts +3 -3
- package/Apps/LogicApp.js +4 -5
- package/AzAd/Identity.d.ts +7 -7
- package/AzAd/Identity.js +49 -43
- package/Builder/AksBuilder.d.ts +1 -1
- package/Builder/AksBuilder.js +5 -1
- package/Builder/ApimApiBuilder.d.ts +3 -3
- package/Builder/ApimApiBuilder.js +11 -11
- package/Builder/ApimBuilder.d.ts +1 -1
- package/Builder/ApimBuilder.js +47 -47
- package/Builder/ApimPolicyBuilder.d.ts +1 -1
- package/Builder/ApimPolicyBuilder.js +21 -21
- package/Builder/ApimProductBuilder.d.ts +2 -2
- package/Builder/ApimProductBuilder.js +27 -25
- package/Builder/ApimRootBuilder.d.ts +3 -3
- package/Builder/ApimRootBuilder.js +3 -3
- package/Builder/ApimWorkspaceBuilder.d.ts +2 -2
- package/Builder/ApimWorkspaceBuilder.js +2 -2
- package/Builder/DnsZoneBuilder.d.ts +2 -2
- package/Builder/DnsZoneBuilder.js +6 -6
- package/Builder/PrivateDnsZoneBuilder.d.ts +2 -2
- package/Builder/PrivateDnsZoneBuilder.js +6 -6
- package/Builder/ResourceBuilder.js +43 -13
- package/Builder/SqlBuilder.d.ts +1 -1
- package/Builder/SqlBuilder.js +2 -2
- package/Builder/StorageBuilder.d.ts +1 -1
- package/Builder/StorageBuilder.js +7 -7
- package/Builder/VaultBuilder.d.ts +7 -4
- package/Builder/VaultBuilder.js +11 -5
- package/Builder/VdiBuilder.d.ts +1 -2
- package/Builder/VdiBuilder.js +7 -7
- package/Builder/VmBuilder.d.ts +1 -1
- package/Builder/VmBuilder.js +4 -4
- package/Builder/types/genericBuilder.d.ts +7 -6
- package/Builder/types/genericBuilder.js +1 -1
- package/Builder/types/resourceBuilder.d.ts +3 -3
- package/Builder/types/vaultBuilder.d.ts +3 -4
- package/Cdn/CdnEndpoint.d.ts +2 -2
- package/Cdn/CdnEndpoint.js +19 -19
- package/Cdn/index.d.ts +4 -6
- package/Cdn/index.js +4 -5
- package/Common/AzureEnv.d.ts +6 -10
- package/Common/AzureEnv.js +16 -16
- package/Common/GlobalEnv.js +2 -2
- package/ContainerRegistry/index.d.ts +6 -16
- package/ContainerRegistry/index.js +25 -34
- package/Core/ResourceCreator.d.ts +5 -4
- package/Core/ResourceCreator.js +4 -5
- package/Core/ResourceGroup.d.ts +3 -3
- package/Core/ResourceGroup.js +3 -4
- package/CosmosDb/index.js +6 -4
- package/KeyVault/Helper.d.ts +3 -3
- package/KeyVault/Helper.js +16 -12
- package/KeyVault/index.d.ts +2 -3
- package/KeyVault/index.js +13 -13
- package/Logs/AppInsight.d.ts +3 -3
- package/Logs/AppInsight.js +10 -10
- package/Logs/Helpers.d.ts +4 -4
- package/Logs/Helpers.js +16 -16
- package/MySql/index.d.ts +5 -5
- package/MySql/index.js +22 -22
- package/Postgresql/index.d.ts +4 -4
- package/Postgresql/index.js +21 -21
- package/RedisCache/index.d.ts +2 -2
- package/RedisCache/index.js +14 -14
- package/ServiceBus/index.d.ts +11 -11
- package/ServiceBus/index.js +20 -18
- package/SignalR/index.d.ts +5 -5
- package/SignalR/index.js +18 -18
- package/Sql/SqlDb.d.ts +5 -5
- package/Sql/SqlDb.js +7 -7
- package/Sql/index.d.ts +10 -10
- package/Sql/index.js +43 -41
- package/Storage/Helper.d.ts +3 -3
- package/Storage/Helper.js +8 -8
- package/Storage/index.d.ts +9 -9
- package/Storage/index.js +26 -24
- package/VM/index.d.ts +11 -11
- package/VM/index.js +15 -15
- package/VNet/Firewall.d.ts +7 -7
- package/VNet/Firewall.js +15 -15
- package/VNet/FirewallPolicy.d.ts +5 -5
- package/VNet/FirewallPolicy.js +8 -8
- package/VNet/Helper.d.ts +5 -5
- package/VNet/Helper.js +19 -19
- package/VNet/PrivateEndpoint.d.ts +2 -2
- package/VNet/PrivateEndpoint.js +4 -4
- package/VNet/VirtualWAN.d.ts +6 -6
- package/VNet/VirtualWAN.js +5 -5
- package/VNet/Vnet.d.ts +8 -8
- package/VNet/Vnet.js +13 -13
- package/VNet/index.d.ts +2 -2
- package/Web/AppCertOrder.d.ts +5 -12
- package/Web/AppCertOrder.js +9 -15
- package/Web/AppConfig.d.ts +2 -2
- package/Web/AppConfig.js +8 -8
- package/Web/AppGateway.d.ts +2 -2
- package/Web/AppGateway.js +3 -3
- package/package.json +7 -7
- package/types.d.ts +45 -57
package/Cdn/index.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { EnvRolesResults } from
|
|
2
|
-
import { ResourceGroupInfo,
|
|
3
|
-
import * as cdn from
|
|
1
|
+
import { EnvRolesResults } from '../AzAd/EnvRoles';
|
|
2
|
+
import { ResourceGroupInfo, ResourceInfoWithInstance } from '../types';
|
|
3
|
+
import * as cdn from '@pulumi/azure-native/cdn';
|
|
4
4
|
interface Props {
|
|
5
5
|
name: string;
|
|
6
6
|
group?: ResourceGroupInfo;
|
|
7
7
|
envRoles?: EnvRolesResults;
|
|
8
8
|
}
|
|
9
|
-
declare const _default: ({ name, group, envRoles, }: Props) =>
|
|
10
|
-
instance: cdn.Profile;
|
|
11
|
-
};
|
|
9
|
+
declare const _default: ({ name, group, envRoles, }: Props) => ResourceInfoWithInstance<cdn.Profile>;
|
|
12
10
|
export default _default;
|
package/Cdn/index.js
CHANGED
|
@@ -26,10 +26,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
const Group_1 = require("../AzAd/Group");
|
|
27
27
|
const cdn = __importStar(require("@pulumi/azure-native/cdn"));
|
|
28
28
|
const Common_1 = require("../Common");
|
|
29
|
-
|
|
30
|
-
exports.default = ({ name, group = Common_2.global.groupInfo, envRoles, }) => {
|
|
29
|
+
exports.default = ({ name, group = Common_1.global.groupInfo, envRoles, }) => {
|
|
31
30
|
name = (0, Common_1.getCdnProfileName)(name);
|
|
32
|
-
const internalGroup = { ...group, location:
|
|
31
|
+
const internalGroup = { ...group, location: 'global' };
|
|
33
32
|
const profile = new cdn.Profile(name, {
|
|
34
33
|
profileName: name,
|
|
35
34
|
...internalGroup,
|
|
@@ -48,10 +47,10 @@ exports.default = ({ name, group = Common_2.global.groupInfo, envRoles, }) => {
|
|
|
48
47
|
});
|
|
49
48
|
}
|
|
50
49
|
return {
|
|
51
|
-
|
|
50
|
+
name,
|
|
52
51
|
group: internalGroup,
|
|
53
52
|
id: profile.id,
|
|
54
53
|
instance: profile,
|
|
55
54
|
};
|
|
56
55
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ2RuL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx5Q0FBaUQ7QUFFakQsOERBQWdEO0FBQ2hELHNDQUFzRDtBQVF0RCxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssR0FBRyxlQUFNLENBQUMsU0FBUyxFQUN4QixRQUFRLEdBQ0YsRUFBeUMsRUFBRTtJQUNqRCxJQUFJLEdBQUcsSUFBQSwwQkFBaUIsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUV2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQ3BDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEdBQUcsYUFBYTtRQUNoQixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLDBCQUEwQixDQUFDLGNBQWMsRUFBRTtRQUNqRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtLQUM5QyxDQUFDLENBQUM7SUFFSCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsQ0FBQztnQkFBRSxPQUFPO1lBQ2YsSUFBQSx3QkFBZ0IsRUFBQztnQkFDZixJQUFJO2dCQUNKLFFBQVEsRUFBRSxDQUFDLENBQUMsV0FBVztnQkFDdkIsYUFBYSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUTthQUMxQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSTtRQUNKLEtBQUssRUFBRSxhQUFhO1FBQ3BCLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUNkLFFBQVEsRUFBRSxPQUFPO0tBQ2xCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
package/Common/AzureEnv.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as pulumi from
|
|
2
|
-
import { KeyVaultInfo,
|
|
1
|
+
import * as pulumi from '@pulumi/pulumi';
|
|
2
|
+
import { KeyVaultInfo, ResourceInfo, ResourceInfoArg } from '../types';
|
|
3
3
|
export declare const tenantId: pulumi.Output<string>;
|
|
4
4
|
export declare const subscriptionId: pulumi.Output<string>;
|
|
5
5
|
export declare const currentPrincipal: pulumi.Output<string>;
|
|
@@ -24,11 +24,7 @@ export declare const currentEnv: Environments;
|
|
|
24
24
|
/** Get Key Vault by Group Name. Group Name is the name use to create the resource and resource group together. */
|
|
25
25
|
export declare const getKeyVaultInfo: (groupName: string, region?: string) => KeyVaultInfo;
|
|
26
26
|
export declare const getResourceIdFromInfo: ({ group, name, provider, }: ResourceInfoArg) => pulumi.Output<string>;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
subscriptionId: string;
|
|
32
|
-
id: string;
|
|
33
|
-
}
|
|
34
|
-
export declare const parseResourceInfoFromId: (id: string) => ResourceInfo | undefined;
|
|
27
|
+
export type ParsedResourceInfo = ResourceInfo & {
|
|
28
|
+
subscriptionId: pulumi.Input<string>;
|
|
29
|
+
};
|
|
30
|
+
export declare const parseResourceInfoFromId: (id: string) => ParsedResourceInfo | undefined;
|
package/Common/AzureEnv.js
CHANGED
|
@@ -34,9 +34,9 @@ const config = pulumi.output(azure_native_1.authorization.getClientConfig());
|
|
|
34
34
|
exports.tenantId = config.apply((c) => c.tenantId);
|
|
35
35
|
exports.subscriptionId = config.apply((c) => c.subscriptionId);
|
|
36
36
|
exports.currentPrincipal = config.apply((c) => c.objectId);
|
|
37
|
-
const env = JSON.parse(process.env.PULUMI_CONFIG ??
|
|
38
|
-
exports.currentRegionName = (env[
|
|
39
|
-
|
|
37
|
+
const env = JSON.parse(process.env.PULUMI_CONFIG ?? '{}');
|
|
38
|
+
exports.currentRegionName = (env['azure-native:config:location'] ??
|
|
39
|
+
'SoutheastAsia');
|
|
40
40
|
exports.currentRegionCode = (0, Location_1.getRegionCode)(exports.currentRegionName);
|
|
41
41
|
exports.currentCountryCode = (0, Location_1.getCountryCode)(exports.currentRegionName);
|
|
42
42
|
exports.defaultScope = pulumi.interpolate `/subscriptions/${exports.subscriptionId}`;
|
|
@@ -82,13 +82,13 @@ pulumi.all([exports.subscriptionId, exports.tenantId]).apply(([s, t]) => {
|
|
|
82
82
|
(0, AutoTags_1.registerAutoTags)({
|
|
83
83
|
environment: StackEnv_1.stack,
|
|
84
84
|
organization: StackEnv_1.organization,
|
|
85
|
-
|
|
85
|
+
'pulumi-project': StackEnv_1.projectName,
|
|
86
86
|
});
|
|
87
87
|
/** Get Key Vault by Group Name. Group Name is the name use to create the resource and resource group together. */
|
|
88
88
|
const getKeyVaultInfo = (groupName, region = exports.currentCountryCode) => {
|
|
89
89
|
const vaultName = (0, Naming_1.getKeyVaultName)(groupName, {
|
|
90
90
|
region,
|
|
91
|
-
suffix:
|
|
91
|
+
suffix: 'vlt',
|
|
92
92
|
includeOrgName: true,
|
|
93
93
|
});
|
|
94
94
|
const resourceGroupName = (0, Naming_1.getResourceGroupName)(groupName, { region });
|
|
@@ -107,30 +107,30 @@ const getResourceIdFromInfo = ({ group, name, provider, }) => {
|
|
|
107
107
|
return pulumi.interpolate `/subscriptions/${exports.subscriptionId}/resourceGroups/${group.resourceGroupName}`;
|
|
108
108
|
else if (name && provider)
|
|
109
109
|
return pulumi.interpolate `/subscriptions/${exports.subscriptionId}/resourceGroups/${group.resourceGroupName}/providers/${provider}/${name}`;
|
|
110
|
-
throw new Error(
|
|
110
|
+
throw new Error('Resource Info is invalid.');
|
|
111
111
|
};
|
|
112
112
|
exports.getResourceIdFromInfo = getResourceIdFromInfo;
|
|
113
113
|
const parseResourceInfoFromId = (id) => {
|
|
114
114
|
if (!id)
|
|
115
115
|
return undefined;
|
|
116
|
-
const details = id.split(
|
|
117
|
-
let name =
|
|
118
|
-
let groupName =
|
|
119
|
-
let
|
|
116
|
+
const details = id.split('/');
|
|
117
|
+
let name = '';
|
|
118
|
+
let groupName = '';
|
|
119
|
+
let subId = '';
|
|
120
120
|
details.forEach((d, index) => {
|
|
121
|
-
if (d ===
|
|
122
|
-
|
|
123
|
-
if (d ===
|
|
121
|
+
if (d === 'subscriptions')
|
|
122
|
+
subId = details[index + 1];
|
|
123
|
+
if (d === 'resourceGroups' || d === 'resourcegroups')
|
|
124
124
|
groupName = details[index + 1];
|
|
125
125
|
if (index === details.length - 1)
|
|
126
126
|
name = d;
|
|
127
127
|
});
|
|
128
128
|
return {
|
|
129
129
|
name,
|
|
130
|
-
id,
|
|
130
|
+
id: pulumi.output(id),
|
|
131
131
|
group: { resourceGroupName: groupName, location: exports.currentRegionName },
|
|
132
|
-
subscriptionId,
|
|
132
|
+
subscriptionId: subId ?? exports.subscriptionId,
|
|
133
133
|
};
|
|
134
134
|
};
|
|
135
135
|
exports.parseResourceInfoFromId = parseResourceInfoFromId;
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVFbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL0F6dXJlRW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLHVEQUFxRDtBQUNyRCx5Q0FBOEM7QUFFOUMscUNBQWlFO0FBQ2pFLHlDQUE4RDtBQUM5RCx5Q0FBMkQ7QUFFM0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyw0QkFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFDakQsUUFBQSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzNDLFFBQUEsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN2RCxRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVoRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQzdDLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUM7SUFDbkUsZUFBZSxDQUFXLENBQUM7QUFDaEIsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLHdCQUFhLEVBQUMseUJBQWlCLENBQUMsQ0FBQztBQUNyRCxRQUFBLGtCQUFrQixHQUFHLElBQUEseUJBQWMsRUFBQyx5QkFBaUIsQ0FBQyxDQUFDO0FBQ3ZELFFBQUEsWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUEsa0JBQWtCLHNCQUFjLEVBQUUsQ0FBQztB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
|
package/Common/GlobalEnv.js
CHANGED
|
@@ -11,7 +11,7 @@ exports.groupInfo = {
|
|
|
11
11
|
};
|
|
12
12
|
const cdnProfileName = (0, Naming_1.getCdnProfileName)(exports.globalKeyName);
|
|
13
13
|
exports.cdnProfileInfo = {
|
|
14
|
-
|
|
14
|
+
name: cdnProfileName,
|
|
15
15
|
group: {
|
|
16
16
|
resourceGroupName: exports.groupInfo.resourceGroupName,
|
|
17
17
|
location: exports.globalKeyName,
|
|
@@ -25,4 +25,4 @@ exports.keyVaultInfo = {
|
|
|
25
25
|
group: exports.groupInfo,
|
|
26
26
|
id: (0, pulumi_1.interpolate) `/subscriptions/${AzureEnv_1.subscriptionId}/resourceGroups/${exports.groupInfo.resourceGroupName}/providers/Microsoft.KeyVault/vaults/${vaultName}`,
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsRW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbW1vbi9HbG9iYWxFbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQTRDO0FBQzVDLHFDQUE4RDtBQUM5RCwrQ0FBZ0Q7QUFDaEQsMkNBQTZDO0FBRWhDLFFBQUEsYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUV6QixRQUFBLFNBQVMsR0FBc0I7SUFDMUMsaUJBQWlCLEVBQUUsSUFBQSw2QkFBZSxFQUFDLHFCQUFhLENBQUM7Q0FDbEQsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLElBQUEsMEJBQWlCLEVBQUMscUJBQWEsQ0FBQyxDQUFDO0FBQzNDLFFBQUEsY0FBYyxHQUFpQjtJQUMxQyxJQUFJLEVBQUUsY0FBYztJQUNwQixLQUFLLEVBQUU7UUFDTCxpQkFBaUIsRUFBRSxpQkFBUyxDQUFDLGlCQUFpQjtRQUM5QyxRQUFRLEVBQUUscUJBQWE7S0FDeEI7SUFDRCxFQUFFLEVBQUUsSUFBQSxvQkFBVyxFQUFBLGtCQUFrQix5QkFBYyxtQkFBbUIsaUJBQVMsQ0FBQyxpQkFBaUIscUNBQXFDLGNBQWMsRUFBRTtDQUNuSixDQUFDO0FBRUYsNEJBQTRCO0FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUEsd0JBQWUsRUFBQyxxQkFBYSxDQUFDLENBQUM7QUFDcEMsUUFBQSxZQUFZLEdBQWlCO0lBQ3hDLElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLGlCQUFTO0lBQ2hCLEVBQUUsRUFBRSxJQUFBLG9CQUFXLEVBQUEsa0JBQWtCLHlCQUFjLG1CQUFtQixpQkFBUyxDQUFDLGlCQUFpQix3Q0FBd0MsU0FBUyxFQUFFO0NBQ2pKLENBQUMifQ==
|
|
@@ -1,27 +1,17 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
3
|
-
interface Props extends
|
|
1
|
+
import * as registry from '@pulumi/azure-native/containerregistry';
|
|
2
|
+
import { BasicArgs, KeyVaultInfo, NetworkPropsType, ResourceGroupInfo, ResourceInfoWithInstance } from '../types';
|
|
3
|
+
interface Props extends BasicArgs {
|
|
4
4
|
name: string;
|
|
5
5
|
group?: ResourceGroupInfo;
|
|
6
6
|
adminUserEnabled?: boolean;
|
|
7
7
|
enableStorageAccount?: boolean;
|
|
8
8
|
vaultInfo?: KeyVaultInfo;
|
|
9
|
-
sku?:
|
|
9
|
+
sku?: registry.SkuName | string;
|
|
10
10
|
/**Only support Premium sku*/
|
|
11
|
-
network?: NetworkPropsType
|
|
11
|
+
network?: Omit<NetworkPropsType, 'subnetId'>;
|
|
12
12
|
}
|
|
13
13
|
/** The Azure Container Registry will be created at the GLobal Group.
|
|
14
14
|
* Follow ReadMe file to setup the cleaning tasks for this Registry
|
|
15
15
|
*/
|
|
16
|
-
declare const _default: ({ name, group, sku, adminUserEnabled, vaultInfo, network,
|
|
17
|
-
name: string;
|
|
18
|
-
registry: containerregistry.Registry;
|
|
19
|
-
vaultKeyNames: {
|
|
20
|
-
userNameKey: string;
|
|
21
|
-
primaryPasswordKey: string;
|
|
22
|
-
secondaryPasswordKey: string;
|
|
23
|
-
urlKey: string;
|
|
24
|
-
};
|
|
25
|
-
diagnostic: import("@pulumi/azure-native/aadiam/diagnosticSetting").DiagnosticSetting | undefined;
|
|
26
|
-
};
|
|
16
|
+
declare const _default: ({ name, group, sku, adminUserEnabled, vaultInfo, network, dependsOn, ignoreChanges, }: Props) => ResourceInfoWithInstance<registry.Registry>;
|
|
27
17
|
export default _default;
|
|
@@ -26,47 +26,43 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const
|
|
30
|
-
const ResourceCreator_1 = __importDefault(require("../Core/ResourceCreator"));
|
|
29
|
+
const registry = __importStar(require("@pulumi/azure-native/containerregistry"));
|
|
31
30
|
const global = __importStar(require("../Common/GlobalEnv"));
|
|
32
|
-
const
|
|
31
|
+
const Common_1 = require("../Common");
|
|
33
32
|
const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
|
|
34
33
|
const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
35
34
|
/** The Azure Container Registry will be created at the GLobal Group.
|
|
36
35
|
* Follow ReadMe file to setup the cleaning tasks for this Registry
|
|
37
36
|
*/
|
|
38
|
-
exports.default = ({ name, group = global.groupInfo, sku =
|
|
39
|
-
name = (0,
|
|
37
|
+
exports.default = ({ name, group = global.groupInfo, sku = registry.SkuName.Basic, adminUserEnabled = true, vaultInfo, network, dependsOn, ignoreChanges, }) => {
|
|
38
|
+
name = (0, Common_1.getAcrName)(name);
|
|
40
39
|
const urlKey = `${name}-url`;
|
|
41
40
|
const userNameKey = `${name}-user-name`;
|
|
42
|
-
const primaryPasswordKey = (0,
|
|
43
|
-
const secondaryPasswordKey = (0,
|
|
44
|
-
const
|
|
41
|
+
const primaryPasswordKey = (0, Common_1.getPasswordName)(name, 'primary');
|
|
42
|
+
const secondaryPasswordKey = (0, Common_1.getPasswordName)(name, 'secondary');
|
|
43
|
+
const resource = new registry.Registry(name, {
|
|
45
44
|
registryName: name,
|
|
46
45
|
...group,
|
|
47
|
-
adminUserEnabled,
|
|
48
46
|
sku: { name: sku },
|
|
49
|
-
|
|
47
|
+
adminUserEnabled,
|
|
48
|
+
publicNetworkAccess: network?.privateLink ? 'Disabled' : 'Enabled',
|
|
49
|
+
networkRuleSet: sku === 'Premium' && network
|
|
50
50
|
? {
|
|
51
|
-
defaultAction:
|
|
51
|
+
defaultAction: registry.DefaultAction.Allow,
|
|
52
52
|
ipRules: network.ipAddresses
|
|
53
53
|
? network.ipAddresses.map((ip) => ({ iPAddressOrRange: ip }))
|
|
54
54
|
: undefined,
|
|
55
|
-
virtualNetworkRules: network.subnetId
|
|
56
|
-
? [{ virtualNetworkResourceId: network.subnetId }]
|
|
57
|
-
: undefined,
|
|
58
55
|
}
|
|
59
56
|
: undefined,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (sku === "Premium" && network?.privateLink) {
|
|
57
|
+
}, { dependsOn, ignoreChanges });
|
|
58
|
+
if (sku === 'Premium' && network?.privateLink) {
|
|
63
59
|
(0, PrivateEndpoint_1.default)({
|
|
64
|
-
resourceInfo: {
|
|
65
|
-
privateDnsZoneName:
|
|
60
|
+
resourceInfo: { name, group, id: resource.id },
|
|
61
|
+
privateDnsZoneName: 'privatelink.azurecr.io',
|
|
66
62
|
subnetIds: network.privateLink.subnetIds,
|
|
67
63
|
linkServiceGroupIds: network.privateLink.type
|
|
68
64
|
? [network.privateLink.type]
|
|
69
|
-
: [
|
|
65
|
+
: ['azurecr'],
|
|
70
66
|
});
|
|
71
67
|
}
|
|
72
68
|
if (vaultInfo && adminUserEnabled) {
|
|
@@ -75,7 +71,7 @@ exports.default = ({ name, group = global.groupInfo, sku = containerregistry.Sku
|
|
|
75
71
|
if (!id)
|
|
76
72
|
return;
|
|
77
73
|
//Only able to gert the secret once the resource is created.
|
|
78
|
-
const keys = await
|
|
74
|
+
const keys = await registry.listRegistryCredentials({
|
|
79
75
|
registryName: name,
|
|
80
76
|
resourceGroupName: global.groupInfo.resourceGroupName,
|
|
81
77
|
});
|
|
@@ -83,14 +79,14 @@ exports.default = ({ name, group = global.groupInfo, sku = containerregistry.Sku
|
|
|
83
79
|
name: urlKey,
|
|
84
80
|
value: `https://${name}.azurecr.io`,
|
|
85
81
|
vaultInfo,
|
|
86
|
-
contentType:
|
|
82
|
+
contentType: 'Container Registry',
|
|
87
83
|
dependsOn: resource,
|
|
88
84
|
});
|
|
89
85
|
(0, CustomHelper_1.addCustomSecret)({
|
|
90
86
|
name: userNameKey,
|
|
91
87
|
value: keys.username,
|
|
92
88
|
vaultInfo,
|
|
93
|
-
contentType:
|
|
89
|
+
contentType: 'Container Registry',
|
|
94
90
|
dependsOn: resource,
|
|
95
91
|
});
|
|
96
92
|
(0, CustomHelper_1.addCustomSecret)({
|
|
@@ -98,7 +94,7 @@ exports.default = ({ name, group = global.groupInfo, sku = containerregistry.Sku
|
|
|
98
94
|
formattedName: true,
|
|
99
95
|
value: keys.passwords[0].value,
|
|
100
96
|
vaultInfo,
|
|
101
|
-
contentType:
|
|
97
|
+
contentType: 'Container Registry',
|
|
102
98
|
dependsOn: resource,
|
|
103
99
|
});
|
|
104
100
|
(0, CustomHelper_1.addCustomSecret)({
|
|
@@ -106,21 +102,16 @@ exports.default = ({ name, group = global.groupInfo, sku = containerregistry.Sku
|
|
|
106
102
|
formattedName: true,
|
|
107
103
|
value: keys.passwords[1].value,
|
|
108
104
|
vaultInfo,
|
|
109
|
-
contentType:
|
|
105
|
+
contentType: 'Container Registry',
|
|
110
106
|
dependsOn: resource,
|
|
111
107
|
});
|
|
112
108
|
});
|
|
113
109
|
}
|
|
114
110
|
return {
|
|
115
111
|
name,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
primaryPasswordKey,
|
|
120
|
-
secondaryPasswordKey,
|
|
121
|
-
urlKey,
|
|
122
|
-
},
|
|
123
|
-
diagnostic,
|
|
112
|
+
group,
|
|
113
|
+
id: resource.id,
|
|
114
|
+
instance: resource,
|
|
124
115
|
};
|
|
125
116
|
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29udGFpbmVyUmVnaXN0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlGQUFtRTtBQVFuRSw0REFBOEM7QUFDOUMsc0NBQXdEO0FBQ3hELDhFQUFzRDtBQUN0RCwyREFBMkQ7QUFhM0Q7O0dBRUc7QUFDSCxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxFQUN4QixHQUFHLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQzVCLGdCQUFnQixHQUFHLElBQUksRUFDdkIsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsYUFBYSxHQUNQLEVBQStDLEVBQUU7SUFDdkQsSUFBSSxHQUFHLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUV4QixNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDO0lBQzdCLE1BQU0sV0FBVyxHQUFHLEdBQUcsSUFBSSxZQUFZLENBQUM7SUFDeEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHdCQUFlLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sb0JBQW9CLEdBQUcsSUFBQSx3QkFBZSxFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUVoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQ3BDLElBQUksRUFDSjtRQUNFLFlBQVksRUFBRSxJQUFJO1FBQ2xCLEdBQUcsS0FBSztRQUVSLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7UUFDbEIsZ0JBQWdCO1FBQ2hCLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUVsRSxjQUFjLEVBQ1osR0FBRyxL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
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import * as pulumi from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import * as pulumi from '@pulumi/pulumi';
|
|
2
|
+
import { DiagnosticSetting } from '@pulumi/azure-native/aadiam/diagnosticSetting';
|
|
3
|
+
import { BasicArgs, DiagnosticProps } from '../types';
|
|
4
4
|
type ClassOf = new (name: string, props: any, opts?: pulumi.CustomResourceOptions) => pulumi.CustomResource & {
|
|
5
5
|
id: pulumi.Output<string>;
|
|
6
6
|
urn: pulumi.Output<string>;
|
|
7
7
|
};
|
|
8
|
-
export type DefaultCreatorProps =
|
|
8
|
+
export type DefaultCreatorProps = BasicArgs & {
|
|
9
|
+
monitoring?: Omit<DiagnosticProps, 'name' | 'targetResourceId'>;
|
|
9
10
|
lock?: boolean;
|
|
10
11
|
};
|
|
11
12
|
/** Create Resource with Locker */
|
package/Core/ResourceCreator.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint @typescript-eslint/no-explicit-any: "off" */
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
4
|
};
|
|
@@ -18,17 +17,17 @@ const tryFindName = (props, isResourceGroup) => {
|
|
|
18
17
|
return name;
|
|
19
18
|
const keys = Object.keys(rs);
|
|
20
19
|
//Try to find the name that is not a resourceGroupName
|
|
21
|
-
const key = keys.find((k) => k.endsWith(
|
|
20
|
+
const key = keys.find((k) => k.endsWith('Name') && k !== 'resourceGroupName');
|
|
22
21
|
if (key) {
|
|
23
22
|
name = rs[key];
|
|
24
23
|
}
|
|
25
24
|
if (!name)
|
|
26
|
-
throw new Error(
|
|
25
|
+
throw new Error('Name is not able to find in: ' + JSON.stringify(props));
|
|
27
26
|
return name;
|
|
28
27
|
};
|
|
29
28
|
/** Create Resource with Locker */
|
|
30
29
|
function default_1(Class, { lock, monitoring, dependsOn, ignoreChanges, importUri, ...props }) {
|
|
31
|
-
const isResourceGroup = Class.name.endsWith(
|
|
30
|
+
const isResourceGroup = Class.name.endsWith('ResourceGroup');
|
|
32
31
|
const name = tryFindName(props, isResourceGroup);
|
|
33
32
|
const resource = new Class(name, { name, ...props }, { dependsOn, import: importUri, ignoreChanges, deleteBeforeReplace: true });
|
|
34
33
|
//Lock Azure Resource from Delete
|
|
@@ -48,4 +47,4 @@ function default_1(Class, { lock, monitoring, dependsOn, ignoreChanges, importUr
|
|
|
48
47
|
}
|
|
49
48
|
return { resource, locker, diagnostic };
|
|
50
49
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VDcmVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvcmUvUmVzb3VyY2VDcmVhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBbURBLDRCQWtDQztBQWpGRCxzREFBOEI7QUFDOUIsNkNBQW1EO0FBR25ELE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYyxFQUFFLGVBQXdCLEVBQVUsRUFBRTtJQUN2RSxNQUFNLEVBQUUsR0FBRyxLQUtWLENBQUM7SUFDRixtRUFBbUU7SUFDbkUsSUFBSSxJQUFJLEdBQXVCLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQy9ELElBQUksZUFBZSxJQUFJLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUV6QyxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2xDLElBQUksSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXRCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0Isc0RBQXNEO0lBQ3RELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLG1CQUFtQixDQUFDLENBQUM7SUFFOUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFM0UsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFnQkYsa0NBQWtDO0FBQ2xDLG1CQUlFLEtBQWEsRUFDYixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQVU7SUFFM0UsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0QsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztJQUVqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FDeEIsSUFBSSxFQUNKLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQ2xCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUMzRSxDQUFDO0lBRUYsaUNBQWlDO0lBQ2pDLElBQUksTUFBTSxHQUFvRCxTQUFTLENBQUM7SUFDeEUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULE1BQU0sR0FBRyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQUksVUFBVSxHQUFrQyxTQUFTLENBQUM7SUFDMUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLFVBQVUsR0FBRyxJQUFBLDBCQUFnQixFQUFDO1lBQzVCLElBQUk7WUFDSixnQkFBZ0IsRUFBRSxRQUFRLENBQUMsRUFBRTtZQUM3QixHQUFHLFVBQVU7WUFDYixTQUFTLEVBQUUsUUFBUTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFDMUMsQ0FBQyJ9
|
package/Core/ResourceGroup.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BasicResourceArgs, BasicResourceInfoWithInstance, ResourceGroupInfo } from '../types';
|
|
2
2
|
import { ResourceGroup } from '@pulumi/azure-native/resources';
|
|
3
3
|
import { EnvRolesResults } from '../AzAd/EnvRoles';
|
|
4
4
|
export type RGPermissionType = {
|
|
@@ -8,14 +8,14 @@ export type RGPermissionType = {
|
|
|
8
8
|
enableIotRoles?: boolean;
|
|
9
9
|
enableVaultRoles?: boolean;
|
|
10
10
|
};
|
|
11
|
-
interface Props extends Omit<
|
|
11
|
+
interface Props extends Omit<BasicResourceArgs, 'group'> {
|
|
12
12
|
formattedName?: boolean;
|
|
13
13
|
location?: string;
|
|
14
14
|
/** Grant permission of this group into Environment Roles groups*/
|
|
15
15
|
permissions?: RGPermissionType;
|
|
16
16
|
lock?: boolean;
|
|
17
17
|
}
|
|
18
|
-
declare const _default: ({ name, formattedName, permissions, ...others }: Props) =>
|
|
18
|
+
declare const _default: ({ name, formattedName, permissions, ...others }: Props) => BasicResourceInfoWithInstance<ResourceGroup> & {
|
|
19
19
|
info: () => ResourceGroupInfo;
|
|
20
20
|
};
|
|
21
21
|
export default _default;
|
package/Core/ResourceGroup.js
CHANGED
|
@@ -24,13 +24,12 @@ exports.default = ({ name, formattedName, permissions, ...others }) => {
|
|
|
24
24
|
}
|
|
25
25
|
return {
|
|
26
26
|
name,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
diagnostic,
|
|
27
|
+
instance: resource,
|
|
28
|
+
id: resource.id,
|
|
30
29
|
info: () => ({
|
|
31
30
|
resourceGroupName: name,
|
|
32
31
|
location: AzureEnv_1.currentRegionName,
|
|
33
32
|
}),
|
|
34
33
|
};
|
|
35
34
|
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db3JlL1Jlc291cmNlR3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSw4REFHd0M7QUFDeEMsd0VBQWdEO0FBQ2hELHNDQUFpRDtBQUVqRCxpREFBdUQ7QUFDdkQsNkRBQThEO0FBbUI5RCxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLGFBQWEsRUFDYixXQUFXLEVBQ1gsR0FBRyxNQUFNLEVBQ0gsRUFFTixFQUFFO0lBQ0YsSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFBLDZCQUFvQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpELE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUEseUJBQWUsRUFBQyx5QkFBYSxFQUFFO1FBQ3RFLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsR0FBRyxNQUFNO0tBQ3VCLENBQUMsQ0FBQztJQUVwQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLElBQUEscUNBQW1CLEVBQUM7WUFDbEIsSUFBSTtZQUNKLEdBQUcsV0FBVztZQUNkLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNsQixTQUFTLEVBQUUsUUFBUTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUk7UUFDSixRQUFRLEVBQUUsUUFBeUI7UUFDbkMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQ2YsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDWCxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSw0QkFBaUI7U0FDNUIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
package/CosmosDb/index.js
CHANGED
|
@@ -27,12 +27,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const documentdb = __importStar(require("@pulumi/azure-native/documentdb"));
|
|
30
|
-
const
|
|
30
|
+
const Common_1 = require("../Common");
|
|
31
31
|
const ResourceCreator_1 = __importDefault(require("../Core/ResourceCreator"));
|
|
32
32
|
const AzureEnv_1 = require("../Common/AzureEnv");
|
|
33
33
|
const Helpers_1 = require("../Logs/Helpers");
|
|
34
34
|
exports.default = ({ name, group, vaultInfo, locations, capabilities, enableMultipleWriteLocations, enableThreatProtection, network, sqlDbs, kind = documentdb.DatabaseAccountKind.GlobalDocumentDB, }) => {
|
|
35
|
-
name = (0,
|
|
35
|
+
name = (0, Common_1.getCosmosDbName)(name);
|
|
36
36
|
const { resource } = (0, ResourceCreator_1.default)(documentdb.DatabaseAccount, {
|
|
37
37
|
accountName: name,
|
|
38
38
|
...group,
|
|
@@ -42,7 +42,9 @@ exports.default = ({ name, group, vaultInfo, locations, capabilities, enableMult
|
|
|
42
42
|
capabilities: capabilities
|
|
43
43
|
? capabilities.map((n) => ({ name: n }))
|
|
44
44
|
: undefined,
|
|
45
|
-
locations: locations
|
|
45
|
+
locations: locations
|
|
46
|
+
? locations.map((n) => ({ locationName: n }))
|
|
47
|
+
: [{ locationName: group.location }],
|
|
46
48
|
backupPolicy: AzureEnv_1.isPrd
|
|
47
49
|
? {
|
|
48
50
|
type: 'Periodic',
|
|
@@ -137,4 +139,4 @@ exports.default = ({ name, group, vaultInfo, locations, capabilities, enableMult
|
|
|
137
139
|
}
|
|
138
140
|
return resource;
|
|
139
141
|
};
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29zbW9zRGIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRFQUE4RDtBQUM5RCxzQ0FBNEM7QUFFNUMsOEVBQXNEO0FBQ3RELGlEQUEyQztBQUMzQyw2Q0FBeUQ7QUFrQ3pELGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdEIsT0FBTyxFQUNQLE1BQU0sRUFDTixJQUFJLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixHQUN4QyxFQUFFLEVBQUU7SUFDbEIsSUFBSSxHQUFHLElBQUEsd0JBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBQSx5QkFBZSxFQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUU7UUFDL0QsV0FBVyxFQUFFLElBQUk7UUFDakIsR0FBRyxLQUFLO1FBQ1Isd0JBQXdCLEVBQUUsVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVE7UUFDdEUsSUFBSTtRQUNKLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtRQUVwQyxZQUFZLEVBQUUsWUFBWTtZQUN4QixDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxTQUFTO1FBRWIsU0FBUyxFQUFFLFNBQVM7WUFDbEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFD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
|
package/KeyVault/Helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Input, Output, Resource } from
|
|
2
|
-
import { KeyVaultInfo } from
|
|
1
|
+
import { Input, Output, Resource } from '@pulumi/pulumi';
|
|
2
|
+
import { KeyVaultInfo } from '../types';
|
|
3
3
|
type SecretProps = {
|
|
4
4
|
name: string;
|
|
5
5
|
value: Input<string>;
|
|
@@ -25,7 +25,7 @@ interface KeyVaultPropertiesResults {
|
|
|
25
25
|
keyVaultUri: string;
|
|
26
26
|
keyVersion?: string;
|
|
27
27
|
}
|
|
28
|
-
export declare const getEncryptionKeyOutput: (name: string, vaultInfo
|
|
28
|
+
export declare const getEncryptionKeyOutput: (name: string, vaultInfo?: KeyVaultInfo) => Output<KeyVaultPropertiesResults> | undefined;
|
|
29
29
|
/** Get Secret */
|
|
30
30
|
export declare const getSecret: ({ name, version, vaultInfo, nameFormatted, }: GetVaultItemProps) => Promise<import("@azure/keyvault-secrets").KeyVaultSecret | undefined>;
|
|
31
31
|
interface KeyResult {
|
package/KeyVault/Helper.js
CHANGED
|
@@ -31,21 +31,21 @@ const Helpers_1 = require("../Common/Helpers");
|
|
|
31
31
|
const KeyVaultBase_1 = require("@drunk-pulumi/azure-providers/AzBase/KeyVaultBase");
|
|
32
32
|
const addKey = ({ name, vaultInfo, tags, dependsOn, }) => {
|
|
33
33
|
const n = (0, Naming_1.getSecretName)(name);
|
|
34
|
-
return new keyvault.Key((0, Helpers_1.replaceAll)(name,
|
|
34
|
+
return new keyvault.Key((0, Helpers_1.replaceAll)(name, '.', '-'), {
|
|
35
35
|
keyName: n,
|
|
36
36
|
vaultName: vaultInfo.name,
|
|
37
37
|
...vaultInfo.group,
|
|
38
38
|
//https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.keyvault.webkey?view=azure-dotnet-legacy
|
|
39
39
|
properties: {
|
|
40
40
|
keySize: 2048,
|
|
41
|
-
kty:
|
|
41
|
+
kty: 'RSA',
|
|
42
42
|
keyOps: [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
'decrypt',
|
|
44
|
+
'encrypt',
|
|
45
|
+
'sign',
|
|
46
|
+
'verify',
|
|
47
|
+
'wrapKey',
|
|
48
|
+
'unwrapKey',
|
|
49
49
|
],
|
|
50
50
|
//curveName: 'P512',
|
|
51
51
|
attributes: { enabled: true },
|
|
@@ -72,7 +72,11 @@ const getEncryptionKey = async (name, vaultInfo) => {
|
|
|
72
72
|
url: `${key.properties.vaultUrl}/keys/${key.properties.name}/${key.properties.version}`,
|
|
73
73
|
};
|
|
74
74
|
};
|
|
75
|
-
const getEncryptionKeyOutput = (name, vaultInfo) =>
|
|
75
|
+
const getEncryptionKeyOutput = (name, vaultInfo) => {
|
|
76
|
+
if (!vaultInfo)
|
|
77
|
+
return undefined;
|
|
78
|
+
return (0, pulumi_1.output)(getEncryptionKey(name, vaultInfo));
|
|
79
|
+
};
|
|
76
80
|
exports.getEncryptionKeyOutput = getEncryptionKeyOutput;
|
|
77
81
|
/** Get Secret */
|
|
78
82
|
const getSecret = async ({ name, version, vaultInfo, nameFormatted, }) => {
|
|
@@ -83,13 +87,13 @@ const getSecret = async ({ name, version, vaultInfo, nameFormatted, }) => {
|
|
|
83
87
|
exports.getSecret = getSecret;
|
|
84
88
|
/** Convert VaultId to VaultInfo */
|
|
85
89
|
const parseKeyUrl = (keyUrl) => {
|
|
86
|
-
const splits = keyUrl.split(
|
|
90
|
+
const splits = keyUrl.split('/');
|
|
87
91
|
return {
|
|
88
92
|
keyIdentityUrl: keyUrl,
|
|
89
93
|
name: splits[4],
|
|
90
|
-
version: splits.length > 4 ? splits[5] :
|
|
94
|
+
version: splits.length > 4 ? splits[5] : '',
|
|
91
95
|
vaultUrl: `https://${splits[2]}`,
|
|
92
96
|
};
|
|
93
97
|
};
|
|
94
98
|
exports.parseKeyUrl = parseKeyUrl;
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0tleVZhdWx0L0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdFQUEwRDtBQUMxRCwyQ0FBaUU7QUFFakUsNkNBQWlEO0FBQ2pELCtDQUErQztBQUMvQyxvRkFBb0Y7QUF3QjdFLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFDckIsSUFBSSxFQUNKLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNrQyxFQUFFLEVBQUU7SUFDL0MsTUFBTSxDQUFDLEdBQUcsSUFBQSxzQkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxDQUNyQixJQUFBLG9CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDMUI7UUFDRSxPQUFPLEVBQUUsQ0FBQztRQUNWLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUN6QixHQUFHLFNBQVMsQ0FBQyxLQUFLO1FBQ2xCLHNHQUFzRztRQUN0RyxVQUFVLEVBQUU7WUFDVixPQUFPLEVBQUUsSUFBSTtZQUNiLEdBQUcsRUFBRSxLQUFLO1lBQ1YsTUFBTSxFQUFFO2dCQUNOLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsU0FBUztnQkFDVCxXQUFXO2FBQ1o7WUFDRCxvQkFBb0I7WUFDcEIsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtTQUM5QjtRQUNELElBQUk7S0FDTCxFQUNELEVBQUUsU0FBUyxFQUFFLENBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWpDVyxRQUFBLE1BQU0sVUFpQ2pCO0FBRUYsY0FBYztBQUNQLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxFQUMzQixJQUFJLEVBQ0osT0FBTyxFQUNQLFNBQVMsRUFDVCxhQUFhLEdBQ0ssRUFBRSxFQUFFO0lB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
|
package/KeyVault/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Input } from
|
|
2
|
-
import { BasicMonitorArgs, KeyVaultInfo, NetworkPropsType, PrivateLinkPropsType } from
|
|
3
|
-
import { BasicResourceArgs } from "../types";
|
|
1
|
+
import { Input } from '@pulumi/pulumi';
|
|
2
|
+
import { BasicMonitorArgs, BasicResourceArgs, KeyVaultInfo, NetworkPropsType, PrivateLinkPropsType } from '../types';
|
|
4
3
|
export interface KeyVaultProps extends BasicResourceArgs {
|
|
5
4
|
softDeleteRetentionInDays?: Input<number>;
|
|
6
5
|
network?: NetworkPropsType;
|