@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.
Files changed (102) hide show
  1. package/Aks/Identity.d.ts +1 -1
  2. package/Aks/Identity.js +1 -1
  3. package/Aks/index.d.ts +2 -3
  4. package/Aks/index.js +2 -2
  5. package/AzAd/EnvRoles.Consts.d.ts +6 -5
  6. package/AzAd/EnvRoles.Consts.js +48 -42
  7. package/AzAd/Helper.js +7 -1
  8. package/AzAd/Identities/AzDevOpsIdentity.d.ts +1 -1
  9. package/AzAd/Identities/AzDevOpsIdentity.js +1 -1
  10. package/AzAd/Identities/AzUserAdRevertSync.d.ts +1 -1
  11. package/AzAd/Identity.d.ts +2 -11
  12. package/AzAd/Identity.js +2 -2
  13. package/AzAd/UserAssignedIdentity.js +6 -1
  14. package/Builder/AcrBuilder.d.ts +3 -0
  15. package/Builder/AcrBuilder.js +143 -0
  16. package/Builder/ApimApiBuilder.js +2 -3
  17. package/Builder/AppCertBuilder.d.ts +3 -0
  18. package/Builder/AppCertBuilder.js +75 -0
  19. package/Builder/AppConfigBuilder.d.ts +3 -0
  20. package/Builder/AppConfigBuilder.js +152 -0
  21. package/Builder/AutomationBuilder.d.ts +3 -0
  22. package/Builder/AutomationBuilder.js +106 -0
  23. package/Builder/IotHubBuilder.d.ts +3 -0
  24. package/Builder/IotHubBuilder.js +240 -0
  25. package/Builder/LogicAppBuilder.d.ts +3 -0
  26. package/Builder/LogicAppBuilder.js +69 -0
  27. package/Builder/MySqlBuilder.d.ts +3 -0
  28. package/Builder/MySqlBuilder.js +229 -0
  29. package/Builder/PostgreSqlBuilder.d.ts +3 -0
  30. package/Builder/PostgreSqlBuilder.js +235 -0
  31. package/Builder/RedisCacheBuilder.d.ts +3 -0
  32. package/Builder/RedisCacheBuilder.js +151 -0
  33. package/Builder/ResourceBuilder.js +11 -1
  34. package/Builder/SignalRBuilder.d.ts +3 -0
  35. package/Builder/SignalRBuilder.js +179 -0
  36. package/Builder/index.d.ts +10 -0
  37. package/Builder/index.js +22 -2
  38. package/Builder/types/acrBuilder.d.ts +18 -0
  39. package/Builder/types/acrBuilder.js +3 -0
  40. package/Builder/types/appCertBuilder.d.ts +14 -0
  41. package/Builder/types/appCertBuilder.js +3 -0
  42. package/Builder/types/appConfigBuilder.d.ts +15 -0
  43. package/Builder/types/appConfigBuilder.js +3 -0
  44. package/Builder/types/automationBuilder.d.ts +11 -0
  45. package/Builder/types/automationBuilder.js +3 -0
  46. package/Builder/types/index.d.ts +11 -0
  47. package/Builder/types/index.js +12 -1
  48. package/Builder/types/iotHubBuilder.d.ts +31 -0
  49. package/Builder/types/iotHubBuilder.js +3 -0
  50. package/Builder/types/logicAppBuilder.d.ts +10 -0
  51. package/Builder/types/logicAppBuilder.js +3 -0
  52. package/Builder/types/mySqlBuilder.d.ts +45 -0
  53. package/Builder/types/mySqlBuilder.js +3 -0
  54. package/Builder/types/posgreSqlBuilder.d.ts +45 -0
  55. package/Builder/types/posgreSqlBuilder.js +3 -0
  56. package/Builder/types/redisCacheBuilder.d.ts +15 -0
  57. package/Builder/types/redisCacheBuilder.js +3 -0
  58. package/Builder/types/resourceBuilder.d.ts +2 -0
  59. package/Builder/types/signalRBuilder.d.ts +38 -0
  60. package/Builder/types/signalRBuilder.js +3 -0
  61. package/Common/OpenApi/index.js +37 -0
  62. package/{Web → Common/OpenApi}/types.js +1 -1
  63. package/Common/index.d.ts +1 -0
  64. package/Common/index.js +3 -2
  65. package/CustomRoles/index.js +4 -4
  66. package/KeyVault/Helper.d.ts +1 -0
  67. package/KeyVault/Helper.js +2 -1
  68. package/VNet/PrivateEndpoint.d.ts +1 -0
  69. package/VNet/PrivateEndpoint.js +1 -1
  70. package/package.json +1 -1
  71. package/types.d.ts +11 -2
  72. package/Apim/ApiProduct/OpenApi.js +0 -3
  73. package/Apim/ApiProduct/SwaggerHelper.js +0 -37
  74. package/Apps/LogicApp.d.ts +0 -5
  75. package/Apps/LogicApp.js +0 -38
  76. package/Automation/index.d.ts +0 -6
  77. package/Automation/index.js +0 -78
  78. package/ContainerRegistry/Helper.d.ts +0 -15
  79. package/ContainerRegistry/Helper.js +0 -77
  80. package/ContainerRegistry/index.d.ts +0 -15
  81. package/ContainerRegistry/index.js +0 -93
  82. package/CosmosDb/index.d.ts +0 -28
  83. package/CosmosDb/index.js +0 -142
  84. package/IOT/Hub/index.d.ts +0 -26
  85. package/IOT/Hub/index.js +0 -191
  86. package/MySql/index.d.ts +0 -16
  87. package/MySql/index.js +0 -185
  88. package/Postgresql/index.d.ts +0 -16
  89. package/Postgresql/index.js +0 -157
  90. package/RedisCache/index.d.ts +0 -15
  91. package/RedisCache/index.js +0 -111
  92. package/SignalR/index.d.ts +0 -19
  93. package/SignalR/index.js +0 -128
  94. package/Web/AppCertOrder.d.ts +0 -8
  95. package/Web/AppCertOrder.js +0 -52
  96. package/Web/AppConfig.d.ts +0 -10
  97. package/Web/AppConfig.js +0 -93
  98. package/Web/AppGateway.d.ts +0 -15
  99. package/Web/AppGateway.js +0 -58
  100. package/Web/types.d.ts +0 -37
  101. /package/{Apim/ApiProduct/SwaggerHelper.d.ts → Common/OpenApi/index.d.ts} +0 -0
  102. /package/{Apim/ApiProduct/OpenApi.d.ts → Common/OpenApi/types.d.ts} +0 -0
package/MySql/index.js DELETED
@@ -1,185 +0,0 @@
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 azure = __importStar(require("@pulumi/azure-native"));
30
- const Common_1 = require("../Common");
31
- const pulumi = __importStar(require("@pulumi/pulumi"));
32
- const dbformysql = __importStar(require("@pulumi/azure-native/dbformysql"));
33
- const Random_1 = require("../Core/Random");
34
- const CustomHelper_1 = require("../KeyVault/CustomHelper");
35
- const Group_1 = require("../AzAd/Group");
36
- const Helper_1 = require("../KeyVault/Helper");
37
- const UserAssignedIdentity_1 = __importDefault(require("../AzAd/UserAssignedIdentity"));
38
- const random_1 = require("@pulumi/random");
39
- const Helper_2 = require("../VNet/Helper");
40
- const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
41
- exports.default = ({ name, group, auth, enableEncryption, version = dbformysql.ServerVersion.ServerVersion_8_0_21, storageSizeGB = 20,
42
- /**
43
- [Standard_B1ms, Standard_B1s, Standard_B2ms, Standard_B2s, Standard_B4ms, Standard_B8ms, Standard_D16s_v3, Standard_D2s_v3, Standard_D32s_v3, Standard_D4s_v3, Standard_D64s_v3, Standard_D8s_v3, Standard_E16s_v3, Standard_E2s_v3, Standard_E32s_v3, Standard_E4s_v3, Standard_E64s_v3, Standard_E8s_v3, Standard_M128ms, Standard_M128s, Standard_M64ms, Standard_M64s, Standard_E48s_v3, Standard_D2ds_v4, Standard_D4ds_v4, Standard_D8ds_v4, Standard_D16ds_v4, Standard_D32ds_v4, Standard_D48ds_v4, Standard_D64ds_v4, Standard_E2ds_v4, Standard_E4ds_v4, Standard_E8ds_v4, Standard_E16ds_v4, Standard_E32ds_v4, Standard_E48ds_v4, Standard_E64ds_v4, Standard_D48s_v3, Standard_E20ds_v4, Standard_M8ms, Standard_M16ms, Standard_M32ts, Standard_M32ls, Standard_M32ms, Standard_M64ls, Standard_M64, Standard_M64m, Standard_M128, Standard_M128m, Standard_B12ms, Standard_B16ms, Standard_B20ms, Standard_D2ads_v5, Standard_D4ads_v5, Standard_D8ads_v5, Standard_D16ads_v5, Standard_D32ads_v5, Standard_D48ads_v5, Standard_D64ads_v5, Standard_D96ads_v5, Standard_E2ads_v5, Standard_E4ads_v5, Standard_E8ads_v5, Standard_E16ads_v5, Standard_E20ads_v5, Standard_E32ads_v5, Standard_E48ads_v5, Standard_E64ads_v5, Standard_E96ads_v5, Standard_D2_v5, Standard_D4_v5, Standard_D8_v5, Standard_D16_v5, Standard_D32_v5, Standard_D48_v5, Standard_D64_v5, Standard_D96_v5, Standard_D2ds_v5, Standard_D4ds_v5, Standard_D8ds_v5, Standard_D16ds_v5, Standard_D32ds_v5, Standard_D48ds_v5, Standard_D64ds_v5, Standard_D96ds_v5, Standard_E2ds_v5, Standard_E4ds_v5, Standard_E8ds_v5, Standard_E16ds_v5, Standard_E20ds_v5, Standard_E32ds_v5, Standard_E48ds_v5, Standard_E64ds_v5, Standard_E96ds_v5, Standard_E104ids_v5, Standard_E2bds_v5, Standard_E4bds_v5, Standard_E8bds_v5, Standard_E16bds_v5, Standard_E32bds_v5, Standard_E48bds_v5, Standard_E64bds_v5, Standard_E112iads_v5, Standard_M32dms_v2, Standard_M64ds_v2, Standard_M64dms_v2, Standard_M128ds_v2, Standard_M128dms_v2, Standard_M192ids_v2, Standard_M192idms_v2]
44
- */
45
- sku = {
46
- name: 'Standard_B1ms',
47
- tier: 'Burstable',
48
- }, network, databases, vaultInfo, dependsOn, }) => {
49
- name = Common_1.naming.getMySqlName(name);
50
- const username = auth?.adminLogin ||
51
- new random_1.RandomString(name, {
52
- special: false,
53
- length: 5,
54
- lower: true,
55
- upper: false,
56
- }).result.apply((r) => `mysql${r}`);
57
- const password = auth?.password ??
58
- (0, Random_1.randomPassword)({
59
- name,
60
- length: 25,
61
- options: { special: false },
62
- }).result;
63
- const encryptKey = enableEncryption
64
- ? (0, Helper_1.addEncryptKey)(name, vaultInfo)
65
- : undefined;
66
- const userIdentity = enableEncryption
67
- ? (0, UserAssignedIdentity_1.default)({ name, group, vaultInfo })
68
- : undefined;
69
- const mySql = new dbformysql.Server(name, {
70
- serverName: name,
71
- ...group,
72
- version,
73
- storage: {
74
- storageSizeGB,
75
- autoGrow: Common_1.isPrd ? 'Enabled' : 'Disabled',
76
- autoIoScaling: Common_1.isPrd ? 'Enabled' : 'Disabled',
77
- },
78
- // identity: {
79
- // type: dbformysql.ManagedServiceIdentityType.UserAssigned,
80
- // userAssignedIdentities: {
81
- // [userAssignedIdentityId]: {},
82
- // },
83
- // },
84
- administratorLogin: username,
85
- administratorLoginPassword: password,
86
- dataEncryption: encryptKey
87
- ? {
88
- type: dbformysql.DataEncryptionType.AzureKeyVault,
89
- primaryUserAssignedIdentityId: userIdentity?.id,
90
- primaryKeyURI: encryptKey.url,
91
- }
92
- : { type: dbformysql.DataEncryptionType.SystemManaged },
93
- maintenanceWindow: { dayOfWeek: 6, startHour: 0, startMinute: 0 },
94
- sku,
95
- backup: {
96
- geoRedundantBackup: Common_1.isPrd ? 'Enabled' : 'Disabled',
97
- backupRetentionDays: Common_1.isPrd ? 7 : 1,
98
- },
99
- highAvailability: {
100
- mode: Common_1.isPrd ? 'ZoneRedundant' : 'Disabled',
101
- standbyAvailabilityZone: '3',
102
- },
103
- availabilityZone: Common_1.isPrd ? '3' : '1',
104
- }, {
105
- dependsOn,
106
- ignoreChanges: [
107
- 'resourceGroupName',
108
- 'location',
109
- 'serverName',
110
- 'highAvailability',
111
- 'availabilityZone',
112
- 'administratorLogin',
113
- 'dataEncryption',
114
- ],
115
- });
116
- //Enable AD Administrator
117
- if (auth?.envRoles) {
118
- if (userIdentity) {
119
- //Allows to Read Key Vault
120
- (0, Group_1.addMemberToGroup)({
121
- name: `${name}-contributor-role`,
122
- objectId: userIdentity.principalId,
123
- groupObjectId: auth.envRoles.contributor.objectId,
124
- });
125
- }
126
- const adminGroup = auth.envRoles.contributor;
127
- new dbformysql.AzureADAdministrator(name, {
128
- administratorName: username,
129
- serverName: mySql.name,
130
- ...group,
131
- login: username,
132
- administratorType: 'ActiveDirectory',
133
- sid: adminGroup.objectId,
134
- tenantId: Common_1.tenantId,
135
- }, { ignoreChanges: ['administratorName'] });
136
- }
137
- if (network) {
138
- if (network.ipAddresses) {
139
- pulumi.output(network.ipAddresses).apply((ips) => (0, Helper_2.convertToIpRange)(ips).map((f, i) => new azure.dbforpostgresql.FirewallRule(`${name}-firewall-${i}`, {
140
- firewallRuleName: `${name}-firewall-${i}`,
141
- serverName: mySql.name,
142
- ...group,
143
- startIpAddress: f.start,
144
- endIpAddress: f.end,
145
- })));
146
- }
147
- if (network.allowsPublicAccess)
148
- new dbformysql.FirewallRule(`${name}-firewall-allowpublic`, {
149
- firewallRuleName: `${name}-firewall-allowpublic`,
150
- serverName: mySql.name,
151
- ...group,
152
- startIpAddress: '0.0.0.0',
153
- endIpAddress: '255.255.255.255',
154
- });
155
- if (network.privateLink) {
156
- (0, PrivateEndpoint_1.default)({
157
- ...network.privateLink,
158
- resourceInfo: { name, group, id: mySql.id },
159
- privateDnsZoneName: 'mysql.database.azure.com',
160
- linkServiceGroupIds: network.privateLink.type
161
- ? [network.privateLink.type]
162
- : ['mysql'],
163
- });
164
- }
165
- }
166
- if (vaultInfo) {
167
- (0, CustomHelper_1.addCustomSecrets)({
168
- vaultInfo,
169
- contentType: name,
170
- items: [
171
- { name: `${name}-login`, value: username },
172
- { name: `${name}-pass`, value: password },
173
- ],
174
- });
175
- }
176
- if (databases) {
177
- databases.map((d) => new dbformysql.Database(`${name}-${d}`, {
178
- serverName: mySql.name,
179
- databaseName: d,
180
- ...group,
181
- }, { dependsOn: mySql, protect: true }));
182
- }
183
- return mySql;
184
- };
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvTXlTcWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUE4QztBQU05QyxzQ0FBb0Q7QUFDcEQsdURBQXlDO0FBQ3pDLDRFQUE4RDtBQUM5RCwyQ0FBZ0Q7QUFFaEQsMkRBQTREO0FBQzVELHlDQUFpRDtBQUNqRCwrQ0FBbUQ7QUFDbkQsd0ZBQWdFO0FBQ2hFLDJDQUE4QztBQUM5QywyQ0FBa0Q7QUFDbEQsOEVBQXNEO0FBYXRELGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQ3ZELGFBQWEsR0FBRyxFQUFFO0FBQ2xCOztHQUVHO0FBQ0gsR0FBRyxHQUFHO0lBQ0osSUFBSSxFQUFFLGVBQWU7SUFDckIsSUFBSSxFQUFFLFdBQVc7Q0FDbEIsRUFDRCxPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEdBQ0UsRUFBRSxFQUFFO0lBQ2YsSUFBSSxHQUFHLGVBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsTUFBTSxRQUFRLEdBQ1osSUFBSSxFQUFFLFVBQVU7UUFDaEIsSUFBSSxxQkFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdEMsTUFBTSxRQUFRLEdBQ1osSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFBLHVCQUFjLEVBQUM7WUFDYixJQUFJO1lBQ0os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
@@ -1,16 +0,0 @@
1
- import { BasicEncryptResourceArgs, NetworkPropsType } from '../types';
2
- import * as pulumi from '@pulumi/pulumi';
3
- import * as azure from '@pulumi/azure-native';
4
- import * as inputs from '@pulumi/azure-native/types/input';
5
- export interface PostgresProps extends BasicEncryptResourceArgs {
6
- sku?: pulumi.Input<inputs.dbforpostgresql.SkuArgs>;
7
- version?: azure.dbforpostgresql.ServerVersion;
8
- storageSizeGB?: number;
9
- databases?: Array<string>;
10
- network?: NetworkPropsType & {
11
- allowsPublicAccess?: boolean;
12
- };
13
- lock?: true;
14
- }
15
- declare const _default: ({ name, group, version, storageSizeGB, sku, network, databases, vaultInfo, enableEncryption, dependsOn, lock, }: PostgresProps) => import("@pulumi/azure-native/dbforpostgresql/server").Server;
16
- export default _default;
@@ -1,157 +0,0 @@
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 UserAssignedIdentity_1 = __importDefault(require("../AzAd/UserAssignedIdentity"));
30
- const Helper_1 = require("../KeyVault/Helper");
31
- const Common_1 = require("../Common");
32
- const pulumi = __importStar(require("@pulumi/pulumi"));
33
- const azure = __importStar(require("@pulumi/azure-native"));
34
- const Random_1 = require("../Core/Random");
35
- const CustomHelper_1 = require("../KeyVault/CustomHelper");
36
- const random_1 = require("@pulumi/random");
37
- const Helper_2 = require("../VNet/Helper");
38
- const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
39
- const Locker_1 = require("../Core/Locker");
40
- exports.default = ({ name, group, version = azure.dbforpostgresql.ServerVersion.ServerVersion_14, storageSizeGB = 128,
41
- /**
42
- [Standard_B1ms, Standard_B1s, Standard_B2ms, Standard_B2s, Standard_B4ms, Standard_B8ms, Standard_D16s_v3, Standard_D2s_v3, Standard_D32s_v3, Standard_D4s_v3, Standard_D64s_v3, Standard_D8s_v3, Standard_E16s_v3, Standard_E2s_v3, Standard_E32s_v3, Standard_E4s_v3, Standard_E64s_v3, Standard_E8s_v3, Standard_M128ms, Standard_M128s, Standard_M64ms, Standard_M64s, Standard_E48s_v3, Standard_D2ds_v4, Standard_D4ds_v4, Standard_D8ds_v4, Standard_D16ds_v4, Standard_D32ds_v4, Standard_D48ds_v4, Standard_D64ds_v4, Standard_E2ds_v4, Standard_E4ds_v4, Standard_E8ds_v4, Standard_E16ds_v4, Standard_E32ds_v4, Standard_E48ds_v4, Standard_E64ds_v4, Standard_D48s_v3, Standard_E20ds_v4, Standard_M8ms, Standard_M16ms, Standard_M32ts, Standard_M32ls, Standard_M32ms, Standard_M64ls, Standard_M64, Standard_M64m, Standard_M128, Standard_M128m, Standard_B12ms, Standard_B16ms, Standard_B20ms, Standard_D2ads_v5, Standard_D4ads_v5, Standard_D8ads_v5, Standard_D16ads_v5, Standard_D32ads_v5, Standard_D48ads_v5, Standard_D64ads_v5, Standard_D96ads_v5, Standard_E2ads_v5, Standard_E4ads_v5, Standard_E8ads_v5, Standard_E16ads_v5, Standard_E20ads_v5, Standard_E32ads_v5, Standard_E48ads_v5, Standard_E64ads_v5, Standard_E96ads_v5, Standard_D2_v5, Standard_D4_v5, Standard_D8_v5, Standard_D16_v5, Standard_D32_v5, Standard_D48_v5, Standard_D64_v5, Standard_D96_v5, Standard_D2ds_v5, Standard_D4ds_v5, Standard_D8ds_v5, Standard_D16ds_v5, Standard_D32ds_v5, Standard_D48ds_v5, Standard_D64ds_v5, Standard_D96ds_v5, Standard_E2ds_v5, Standard_E4ds_v5, Standard_E8ds_v5, Standard_E16ds_v5, Standard_E20ds_v5, Standard_E32ds_v5, Standard_E48ds_v5, Standard_E64ds_v5, Standard_E96ds_v5, Standard_E104ids_v5, Standard_E2bds_v5, Standard_E4bds_v5, Standard_E8bds_v5, Standard_E16bds_v5, Standard_E32bds_v5, Standard_E48bds_v5, Standard_E64bds_v5, Standard_E112iads_v5, Standard_M32dms_v2, Standard_M64ds_v2, Standard_M64dms_v2, Standard_M128ds_v2, Standard_M128dms_v2, Standard_M192ids_v2, Standard_M192idms_v2]
43
- */
44
- sku = {
45
- name: 'Standard_B1ms',
46
- tier: 'Burstable',
47
- }, network, databases, vaultInfo, enableEncryption, dependsOn, lock = true, }) => {
48
- name = Common_1.naming.getPostgresqlName(name);
49
- const username = new random_1.RandomString(name, {
50
- special: false,
51
- length: 5,
52
- lower: true,
53
- upper: false,
54
- }).result.apply((r) => `postgres${r}`);
55
- const password = (0, Random_1.randomPassword)({
56
- name,
57
- length: 25,
58
- options: { special: false },
59
- }).result;
60
- const encryptKey = enableEncryption
61
- ? (0, Helper_1.addEncryptKey)(name, vaultInfo)
62
- : undefined;
63
- const userIdentity = enableEncryption
64
- ? (0, UserAssignedIdentity_1.default)({ name, group, vaultInfo })
65
- : undefined;
66
- const postgres = new azure.dbforpostgresql.Server(name, {
67
- serverName: name,
68
- ...group,
69
- version,
70
- storage: { storageSizeGB },
71
- authConfig: {
72
- passwordAuth: 'Enabled',
73
- activeDirectoryAuth: 'Enabled',
74
- tenantId: Common_1.tenantId,
75
- },
76
- administratorLogin: username,
77
- administratorLoginPassword: password,
78
- dataEncryption: encryptKey
79
- ? {
80
- type: 'AzureKeyVault',
81
- primaryUserAssignedIdentityId: userIdentity?.id,
82
- primaryKeyURI: encryptKey.url,
83
- }
84
- : { type: 'SystemManaged' },
85
- maintenanceWindow: { dayOfWeek: 6, startHour: 0, startMinute: 0 },
86
- sku,
87
- backup: {
88
- geoRedundantBackup: Common_1.isPrd ? 'Enabled' : 'Disabled',
89
- backupRetentionDays: 7,
90
- },
91
- highAvailability: { mode: Common_1.isPrd ? 'ZoneRedundant' : 'Disabled' },
92
- availabilityZone: Common_1.isPrd ? '3' : '1',
93
- }, {
94
- dependsOn,
95
- protect: lock,
96
- ignoreChanges: [
97
- 'resourceGroupName',
98
- 'location',
99
- 'serverName',
100
- 'highAvailability',
101
- 'availabilityZone',
102
- 'administratorLogin',
103
- 'dataEncryption',
104
- ],
105
- });
106
- if (lock) {
107
- (0, Locker_1.Locker)({ name, resource: postgres });
108
- }
109
- if (network) {
110
- if (network.ipAddresses) {
111
- pulumi.output(network.ipAddresses).apply((ips) => (0, Helper_2.convertToIpRange)(ips).map((f, i) => new azure.dbforpostgresql.FirewallRule(`${name}-firewall-${i}`, {
112
- firewallRuleName: `${name}-firewall-${i}`,
113
- serverName: postgres.name,
114
- ...group,
115
- startIpAddress: f.start,
116
- endIpAddress: f.end,
117
- })));
118
- }
119
- if (network.allowsPublicAccess)
120
- new azure.dbforpostgresql.FirewallRule(`${name}-firewall-allowpublic`, {
121
- firewallRuleName: `${name}-firewall-allowpublic`,
122
- serverName: postgres.name,
123
- ...group,
124
- startIpAddress: '0.0.0.0',
125
- endIpAddress: '255.255.255.255',
126
- });
127
- if (network.privateLink) {
128
- (0, PrivateEndpoint_1.default)({
129
- ...network.privateLink,
130
- resourceInfo: { name, group, id: postgres.id },
131
- privateDnsZoneName: 'postgres.database.azure.com',
132
- linkServiceGroupIds: network.privateLink.type
133
- ? [network.privateLink.type]
134
- : ['postgresql'],
135
- });
136
- }
137
- }
138
- if (vaultInfo) {
139
- (0, CustomHelper_1.addCustomSecrets)({
140
- vaultInfo,
141
- contentType: name,
142
- items: [
143
- { name: `${name}-login`, value: username },
144
- { name: `${name}-pass`, value: password },
145
- ],
146
- });
147
- }
148
- if (databases) {
149
- databases.map((d) => new azure.dbforpostgresql.Database(`${name}-${d}`, {
150
- serverName: postgres.name,
151
- databaseName: d,
152
- ...group,
153
- }, { dependsOn: postgres, protect: true }));
154
- }
155
- return postgres;
156
- };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUG9zdGdyZXNxbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0ZBQWdFO0FBQ2hFLCtDQUFtRDtBQUVuRCxzQ0FBb0Q7QUFDcEQsdURBQXlDO0FBQ3pDLDREQUE4QztBQUM5QywyQ0FBZ0Q7QUFFaEQsMkRBQTREO0FBQzVELDJDQUE4QztBQUM5QywyQ0FBa0Q7QUFDbEQsOEVBQXNEO0FBQ3RELDJDQUF3QztBQWN4QyxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssRUFDTCxPQUFPLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQzlELGFBQWEsR0FBRyxHQUFHO0FBQ25COztHQUVHO0FBQ0gsR0FBRyxHQUFHO0lBQ0osSUFBSSxFQUFFLGVBQWU7SUFDckIsSUFBSSxFQUFFLFdBQVc7Q0FDbEIsRUFDRCxPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULElBQUksR0FBRyxJQUFJLEdBQ0csRUFBRSxFQUFFO0lBQ2xCLElBQUksR0FBRyxlQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQkFBWSxDQUFDLElBQUksRUFBRTtRQUN0QyxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBQSx1QkFBYyxFQUFDO1FBQzlCLElBQUk7UUFDSixNQUFNLEVBQUUsRUFBRTtRQUNWLE9BQU8s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
@@ -1,15 +0,0 @@
1
- import * as cache from '@pulumi/azure-native/cache';
2
- import { BasicResourceWithVaultArgs, NetworkPropsType, ResourceInfoWithInstance } from '../types';
3
- interface Props extends BasicResourceWithVaultArgs {
4
- network?: NetworkPropsType;
5
- sku?: {
6
- name: cache.SkuName | string;
7
- family: cache.SkuFamily | string;
8
- capacity: number;
9
- };
10
- }
11
- /**
12
- * There is no encryption available for Redis yet
13
- * */
14
- declare const _default: ({ name, group, network, vaultInfo, sku, dependsOn, ignoreChanges, importUri, }: Props) => ResourceInfoWithInstance<cache.Redis>;
15
- export default _default;
@@ -1,111 +0,0 @@
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 cache = __importStar(require("@pulumi/azure-native/cache"));
30
- const pulumi = __importStar(require("@pulumi/pulumi"));
31
- const to_words_1 = require("to-words");
32
- const Helper_1 = require("../VNet/Helper");
33
- const Common_1 = require("../Common");
34
- const CustomHelper_1 = require("../KeyVault/CustomHelper");
35
- const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
36
- const toWord = new to_words_1.ToWords();
37
- /**
38
- * There is no encryption available for Redis yet
39
- * */
40
- exports.default = ({ name, group, network, vaultInfo, sku = { name: 'Basic', family: 'C', capacity: 0 }, dependsOn, ignoreChanges, importUri, }) => {
41
- name = Common_1.naming.getRedisCacheName(name);
42
- const redis = new cache.Redis(name, {
43
- name,
44
- ...group,
45
- minimumTlsVersion: '1.2',
46
- enableNonSslPort: false,
47
- identity: { type: cache.ManagedServiceIdentityType.SystemAssigned },
48
- sku,
49
- zones: Common_1.isPrd && sku.name === 'Premium' ? ['1', '2', '3'] : undefined,
50
- subnetId: network?.subnetId,
51
- publicNetworkAccess: network?.privateLink ? 'Disabled' : 'Enabled',
52
- }, { dependsOn, import: importUri, ignoreChanges });
53
- //Whitelist IpAddress
54
- if (network?.ipAddresses) {
55
- pulumi.output(network.ipAddresses).apply((ips) => {
56
- (0, Helper_1.convertToIpRange)(ips).map((range, i) => {
57
- const n = `allow_Ip_${toWord.convert(i)}`.toLowerCase();
58
- return new cache.FirewallRule(n, {
59
- ruleName: n,
60
- cacheName: redis.name,
61
- ...group,
62
- startIP: range.start,
63
- endIP: range.end,
64
- });
65
- });
66
- });
67
- }
68
- //Private Link
69
- if (network?.privateLink) {
70
- (0, PrivateEndpoint_1.default)({
71
- ...network.privateLink,
72
- resourceInfo: { name, group, id: redis.id },
73
- privateDnsZoneName: 'privatelink.redis.cache.windows.net',
74
- linkServiceGroupIds: network.privateLink.type
75
- ? [network.privateLink.type]
76
- : ['redisCache'],
77
- });
78
- }
79
- if (vaultInfo) {
80
- pulumi.all([redis.name, redis.hostName]).apply(async ([n, h]) => {
81
- if (!h)
82
- return;
83
- const keys = await cache.listRedisKeys({
84
- name: n,
85
- resourceGroupName: group.resourceGroupName,
86
- });
87
- (0, CustomHelper_1.addCustomSecrets)({
88
- vaultInfo,
89
- contentType: 'Redis Cache',
90
- dependsOn: redis,
91
- items: [
92
- {
93
- name: `${name}-primary-connection`,
94
- value: `${name}.redis.cache.windows.net:6380,password=${keys.primaryKey},ssl=True,abortConnect=False`,
95
- },
96
- {
97
- name: `${name}-secondary-connection`,
98
- value: `${name}.redis.cache.windows.net:6380,password=${keys.secondaryKey},ssl=True,abortConnect=False`,
99
- },
100
- ],
101
- });
102
- });
103
- }
104
- return {
105
- name,
106
- group,
107
- id: redis.id,
108
- instance: redis,
109
- };
110
- };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUmVkaXNDYWNoZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBQW9EO0FBQ3BELHVEQUF5QztBQU96Qyx1Q0FBbUM7QUFDbkMsMkNBQWtEO0FBQ2xELHNDQUEwQztBQUMxQywyREFBNEQ7QUFDNUQsOEVBQTZEO0FBRTdELE1BQU0sTUFBTSxHQUFHLElBQUksa0JBQU8sRUFBRSxDQUFDO0FBVTdCOztLQUVLO0FBQ0wsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUNqRCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFNBQVMsR0FDSCxFQUF5QyxFQUFFO0lBQ2pELElBQUksR0FBRyxlQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUMzQixJQUFJLEVBQ0o7UUFDRSxJQUFJO1FBQ0osR0FBRyxLQUFLO1FBQ1IsaUJBQWlCLEVBQUUsS0FBSztRQUN4QixnQkFBZ0IsRUFBRSxLQUFLO1FBQ3ZCLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsMEJBQTBCLENBQUMsY0FBYyxFQUFFO1FBQ25FLEdBQUc7UUFDSCxLQUFLLEVBQUUsY0FBSyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDcEUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRO1FBQzNCLG1CQUFtQixFQUFFLE9BQU8sRUFB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
@@ -1,19 +0,0 @@
1
- import * as ss from '@pulumi/azure-native/signalrservice';
2
- import * as pulumi from '@pulumi/pulumi';
3
- import { BasicResourceWithVaultArgs, PrivateLinkPropsType, ResourceInfoWithInstance } from '../types';
4
- interface ResourceSkuArgs {
5
- capacity?: 1 | 2 | 5 | 10 | 20 | 50 | 100;
6
- name: 'Standard_S1' | 'Free_F1';
7
- tier?: 'Standard' | 'Free';
8
- }
9
- interface Props extends BasicResourceWithVaultArgs {
10
- allowedOrigins?: pulumi.Input<pulumi.Input<string>[]>;
11
- privateLink?: PrivateLinkPropsType;
12
- kind?: ss.ServiceKind | string;
13
- sku?: pulumi.Input<ResourceSkuArgs>;
14
- }
15
- /**
16
- * There is no encryption available for SignalR yet
17
- * */
18
- declare const _default: ({ name, group, vaultInfo, privateLink, kind, sku, allowedOrigins, }: Props) => ResourceInfoWithInstance<ss.SignalR>;
19
- export default _default;