@drunk-pulumi/azure-components 0.0.6

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 (181) hide show
  1. package/PulumiPlugin.yaml +1 -0
  2. package/README.md +1 -0
  3. package/ResourceBuilder.d.ts +54 -0
  4. package/ResourceBuilder.js +71 -0
  5. package/aks/AzKubernetes.d.ts +55 -0
  6. package/aks/AzKubernetes.js +288 -0
  7. package/aks/ContainerRegistry.d.ts +19 -0
  8. package/aks/ContainerRegistry.js +119 -0
  9. package/aks/helpers.d.ts +6 -0
  10. package/aks/helpers.js +52 -0
  11. package/aks/index.d.ts +3 -0
  12. package/aks/index.js +43 -0
  13. package/app/AppCert.d.ts +15 -0
  14. package/app/AppCert.js +74 -0
  15. package/app/AppConfig.d.ts +18 -0
  16. package/app/AppConfig.js +124 -0
  17. package/app/AppService.d.ts +69 -0
  18. package/app/AppService.js +122 -0
  19. package/app/IoTHub.d.ts +15 -0
  20. package/app/IoTHub.js +80 -0
  21. package/app/LogicApp.d.ts +19 -0
  22. package/app/LogicApp.js +77 -0
  23. package/app/SignalR.d.ts +45 -0
  24. package/app/SignalR.js +125 -0
  25. package/app/index.d.ts +6 -0
  26. package/app/index.js +23 -0
  27. package/azAd/AppRegistration.d.ts +52 -0
  28. package/azAd/AppRegistration.js +165 -0
  29. package/azAd/AzRole.d.ts +14 -0
  30. package/azAd/AzRole.js +72 -0
  31. package/azAd/CustomRoles.d.ts +10 -0
  32. package/azAd/CustomRoles.js +73 -0
  33. package/azAd/GroupRole.d.ts +29 -0
  34. package/azAd/GroupRole.js +107 -0
  35. package/azAd/RoleAssignment.d.ts +15 -0
  36. package/azAd/RoleAssignment.js +63 -0
  37. package/azAd/UserAssignedIdentity.d.ts +17 -0
  38. package/azAd/UserAssignedIdentity.js +76 -0
  39. package/azAd/helpers/graphBuiltIn.d.ts +14 -0
  40. package/azAd/helpers/graphBuiltIn.js +5134 -0
  41. package/azAd/helpers/index.d.ts +3 -0
  42. package/azAd/helpers/index.js +39 -0
  43. package/azAd/helpers/rolesBuiltIn.d.ts +90 -0
  44. package/azAd/helpers/rolesBuiltIn.js +18601 -0
  45. package/azAd/helpers/rsRoleDefinition.d.ts +62 -0
  46. package/azAd/helpers/rsRoleDefinition.js +120 -0
  47. package/azAd/index.d.ts +7 -0
  48. package/azAd/index.js +24 -0
  49. package/base/BaseComponent.d.ts +53 -0
  50. package/base/BaseComponent.js +98 -0
  51. package/base/BaseResourceComponent.d.ts +108 -0
  52. package/base/BaseResourceComponent.js +180 -0
  53. package/base/helpers.d.ts +12 -0
  54. package/base/helpers.js +29 -0
  55. package/base/index.d.ts +3 -0
  56. package/base/index.js +43 -0
  57. package/common/PGPGenerator.d.ts +26 -0
  58. package/common/PGPGenerator.js +72 -0
  59. package/common/RandomPassword.d.ts +21 -0
  60. package/common/RandomPassword.js +84 -0
  61. package/common/RandomString.d.ts +20 -0
  62. package/common/RandomString.js +74 -0
  63. package/common/ResourceLocker.d.ts +9 -0
  64. package/common/ResourceLocker.js +52 -0
  65. package/common/RsGroup.d.ts +20 -0
  66. package/common/RsGroup.js +85 -0
  67. package/common/SshGenerator.d.ts +17 -0
  68. package/common/SshGenerator.js +66 -0
  69. package/common/index.d.ts +5 -0
  70. package/common/index.js +22 -0
  71. package/database/AzSql.d.ts +71 -0
  72. package/database/AzSql.js +283 -0
  73. package/database/MySql.d.ts +35 -0
  74. package/database/MySql.js +181 -0
  75. package/database/Postgres.d.ts +32 -0
  76. package/database/Postgres.js +171 -0
  77. package/database/Redis.d.ts +26 -0
  78. package/database/Redis.js +125 -0
  79. package/database/helpers.d.ts +7 -0
  80. package/database/helpers.js +52 -0
  81. package/database/index.d.ts +5 -0
  82. package/database/index.js +45 -0
  83. package/helpers/Location/LocationBuiltIn.d.ts +6 -0
  84. package/helpers/Location/LocationBuiltIn.js +493 -0
  85. package/helpers/Location/index.d.ts +3 -0
  86. package/helpers/Location/index.js +25 -0
  87. package/helpers/autoTags.d.ts +1 -0
  88. package/helpers/autoTags.js +27 -0
  89. package/helpers/azureEnv.d.ts +21 -0
  90. package/helpers/azureEnv.js +102 -0
  91. package/helpers/configHelper.d.ts +5 -0
  92. package/helpers/configHelper.js +54 -0
  93. package/helpers/index.d.ts +4 -0
  94. package/helpers/index.js +41 -0
  95. package/helpers/rsHelpers.d.ts +18 -0
  96. package/helpers/rsHelpers.js +92 -0
  97. package/helpers/stackEnv.d.ts +4 -0
  98. package/helpers/stackEnv.js +54 -0
  99. package/index.d.ts +14 -0
  100. package/index.js +53 -0
  101. package/logs/Logs.d.ts +48 -0
  102. package/logs/Logs.js +154 -0
  103. package/logs/helpers.d.ts +1 -0
  104. package/logs/helpers.js +38 -0
  105. package/logs/index.d.ts +1 -0
  106. package/logs/index.js +18 -0
  107. package/package.json +34 -0
  108. package/services/Automation.d.ts +16 -0
  109. package/services/Automation.js +85 -0
  110. package/services/AzSearch.d.ts +20 -0
  111. package/services/AzSearch.js +113 -0
  112. package/services/ServiceBus.d.ts +42 -0
  113. package/services/ServiceBus.js +256 -0
  114. package/services/index.d.ts +3 -0
  115. package/services/index.js +20 -0
  116. package/storage/StorageAccount.d.ts +53 -0
  117. package/storage/StorageAccount.js +261 -0
  118. package/storage/helpers.d.ts +24 -0
  119. package/storage/helpers.js +89 -0
  120. package/storage/index.d.ts +2 -0
  121. package/storage/index.js +42 -0
  122. package/types.d.ts +125 -0
  123. package/types.js +3 -0
  124. package/vault/EncryptionKey.d.ts +21 -0
  125. package/vault/EncryptionKey.js +73 -0
  126. package/vault/KeyVault.d.ts +31 -0
  127. package/vault/KeyVault.js +110 -0
  128. package/vault/VaultSecret.d.ts +23 -0
  129. package/vault/VaultSecret.js +72 -0
  130. package/vault/VaultSecrets.d.ts +25 -0
  131. package/vault/VaultSecrets.js +31 -0
  132. package/vault/helpers.d.ts +1 -0
  133. package/vault/helpers.js +13 -0
  134. package/vault/index.d.ts +5 -0
  135. package/vault/index.js +45 -0
  136. package/vm/DiskEncryptionSet.d.ts +16 -0
  137. package/vm/DiskEncryptionSet.js +74 -0
  138. package/vm/VirtualMachine.d.ts +45 -0
  139. package/vm/VirtualMachine.js +192 -0
  140. package/vm/helpers.d.ts +16 -0
  141. package/vm/helpers.js +15 -0
  142. package/vm/index.d.ts +3 -0
  143. package/vm/index.js +43 -0
  144. package/vnet/AzCdn.d.ts +44 -0
  145. package/vnet/AzCdn.js +276 -0
  146. package/vnet/Basion.d.ts +19 -0
  147. package/vnet/Basion.js +78 -0
  148. package/vnet/DnsZone.d.ts +36 -0
  149. package/vnet/DnsZone.js +113 -0
  150. package/vnet/Firewall.d.ts +53 -0
  151. package/vnet/Firewall.js +136 -0
  152. package/vnet/FirewallPolicies/FirewallPolicyBuilder.d.ts +18 -0
  153. package/vnet/FirewallPolicies/FirewallPolicyBuilder.js +91 -0
  154. package/vnet/FirewallPolicies/commonPolicies.d.ts +10 -0
  155. package/vnet/FirewallPolicies/commonPolicies.js +55 -0
  156. package/vnet/FirewallPolicies/index.d.ts +0 -0
  157. package/vnet/FirewallPolicies/index.js +2 -0
  158. package/vnet/IpAddresses.d.ts +36 -0
  159. package/vnet/IpAddresses.js +74 -0
  160. package/vnet/NetworkPeering.d.ts +21 -0
  161. package/vnet/NetworkPeering.js +85 -0
  162. package/vnet/PrivateDnsZone.d.ts +38 -0
  163. package/vnet/PrivateDnsZone.js +111 -0
  164. package/vnet/PrivateEndpoint.d.ts +43 -0
  165. package/vnet/PrivateEndpoint.js +181 -0
  166. package/vnet/RouteTable.d.ts +22 -0
  167. package/vnet/RouteTable.js +75 -0
  168. package/vnet/VirtualNetwork.d.ts +99 -0
  169. package/vnet/VirtualNetwork.js +311 -0
  170. package/vnet/VpnGateway.d.ts +18 -0
  171. package/vnet/VpnGateway.js +90 -0
  172. package/vnet/helpers.d.ts +16 -0
  173. package/vnet/helpers.js +47 -0
  174. package/vnet/index.d.ts +13 -0
  175. package/vnet/index.js +53 -0
  176. package/vnet/securityRules/SecurityRuleBuilder.d.ts +12 -0
  177. package/vnet/securityRules/SecurityRuleBuilder.js +55 -0
  178. package/vnet/securityRules/commonRules.d.ts +9 -0
  179. package/vnet/securityRules/commonRules.js +94 -0
  180. package/vnet/securityRules/index.d.ts +2 -0
  181. package/vnet/securityRules/index.js +19 -0
@@ -0,0 +1,256 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ServiceBus = void 0;
37
+ const bus = __importStar(require("@pulumi/azure-native/servicebus"));
38
+ const pulumi = __importStar(require("@pulumi/pulumi"));
39
+ const base_1 = require("../base");
40
+ const helpers_1 = require("../helpers");
41
+ const vault = __importStar(require("../vault"));
42
+ const PrivateEndpoint_1 = require("../vnet/PrivateEndpoint");
43
+ const defaultQueueOptions = {
44
+ //duplicateDetectionHistoryTimeWindow: 'P10M',
45
+ //maxMessageSizeInKilobytes: 1024,
46
+ //autoDeleteOnIdle: isPrd ? 'P180D' : 'P90D',
47
+ maxDeliveryCount: 10,
48
+ enableBatchedOperations: true,
49
+ enablePartitioning: false,
50
+ maxSizeInMegabytes: helpers_1.azureEnv.isPrd ? 10 * 1024 : 1024,
51
+ //Default is 'PT1M' (1 minute) and max is 5 minutes.
52
+ lockDuration: 'PT1M',
53
+ defaultMessageTimeToLive: helpers_1.azureEnv.isPrd ? 'P90D' : 'P5D',
54
+ deadLetteringOnMessageExpiration: true,
55
+ };
56
+ const defaultTopicOptions = {
57
+ //duplicateDetectionHistoryTimeWindow: 'P10M',
58
+ //maxMessageSizeInKilobytes: 1024,
59
+ //autoDeleteOnIdle: isPrd ? 'P180D' : 'P90D',
60
+ defaultMessageTimeToLive: helpers_1.azureEnv.isPrd ? 'P30D' : 'P5D',
61
+ enablePartitioning: false,
62
+ maxSizeInMegabytes: helpers_1.azureEnv.isPrd ? 10 * 1024 : 1024,
63
+ enableBatchedOperations: true,
64
+ };
65
+ const defaultSubOptions = {
66
+ duplicateDetectionHistoryTimeWindow: 'P10M',
67
+ //autoDeleteOnIdle: isPrd ? 'P180D' : 'P90D',
68
+ defaultMessageTimeToLive: helpers_1.azureEnv.isPrd ? 'P90D' : 'P5D',
69
+ enableBatchedOperations: true,
70
+ deadLetteringOnMessageExpiration: true,
71
+ lockDuration: 'PT1M',
72
+ maxDeliveryCount: 10,
73
+ };
74
+ class ServiceBus extends base_1.BaseResourceComponent {
75
+ id;
76
+ resourceName;
77
+ constructor(name, args, opts) {
78
+ super('ServiceBus', name, args, opts);
79
+ const service = this.createBusNamespace();
80
+ this.createNetwork(service);
81
+ this.createConnectionStrings(service);
82
+ this.createQueues(service);
83
+ this.createTopics(service);
84
+ this.id = service.id;
85
+ this.resourceName = service.name;
86
+ this.registerOutputs();
87
+ }
88
+ getOutputs() {
89
+ return {
90
+ id: this.id,
91
+ resourceName: this.resourceName,
92
+ };
93
+ }
94
+ createBusNamespace() {
95
+ const { rsGroup, defaultUAssignedId, vaultInfo, enableEncryption, network, ...props } = this.args;
96
+ const encryptionKey = enableEncryption ? this.getEncryptionKey() : undefined;
97
+ const service = new bus.Namespace(this.name, {
98
+ ...props,
99
+ ...rsGroup,
100
+ minimumTlsVersion: '1.2',
101
+ identity: {
102
+ type: defaultUAssignedId
103
+ ? bus.ManagedServiceIdentityType.SystemAssigned_UserAssigned
104
+ : bus.ManagedServiceIdentityType.SystemAssigned,
105
+ //all uuid must assign here before use
106
+ userAssignedIdentities: defaultUAssignedId ? [defaultUAssignedId.id] : undefined,
107
+ },
108
+ encryption: encryptionKey && props.sku.name === 'Premium'
109
+ ? {
110
+ keySource: bus.KeySource.Microsoft_KeyVault,
111
+ keyVaultProperties: [
112
+ {
113
+ ...encryptionKey,
114
+ identity: defaultUAssignedId ? { userAssignedIdentity: defaultUAssignedId.id } : undefined,
115
+ },
116
+ ],
117
+ requireInfrastructureEncryption: true,
118
+ }
119
+ : undefined,
120
+ publicNetworkAccess: network?.publicNetworkAccess ? 'Enabled' : network?.privateLink ? 'Disabled' : 'Enabled',
121
+ }, {
122
+ ...this.opts,
123
+ parent: this,
124
+ });
125
+ this.addSecret('hostname', pulumi.interpolate `${service.name}.servicebus.windows.net`);
126
+ return service;
127
+ }
128
+ createNetwork(service) {
129
+ const { rsGroup, network } = this.args;
130
+ if (!network)
131
+ return;
132
+ new bus.NamespaceNetworkRuleSet(this.name, {
133
+ ...rsGroup,
134
+ namespaceName: service.name,
135
+ defaultAction: network.defaultAction ? network.defaultAction : 'Allow',
136
+ trustedServiceAccessEnabled: true,
137
+ ipRules: network.ipRules
138
+ ? pulumi.output(network.ipRules).apply((ips) => ips.map((i) => ({
139
+ ipMask: i,
140
+ action: bus.NetworkRuleIPAction.Allow,
141
+ })))
142
+ : undefined,
143
+ virtualNetworkRules: network.vnetRules
144
+ ? pulumi.output(network.vnetRules).apply((vIds) => vIds.map((v) => ({
145
+ ignoreMissingVnetServiceEndpoint: v.ignoreMissingVnetServiceEndpoint,
146
+ subnet: { id: v.subnetId },
147
+ })))
148
+ : undefined,
149
+ }, { dependsOn: service, parent: this });
150
+ if (network.privateLink) {
151
+ return new PrivateEndpoint_1.PrivateEndpoint(this.name, { ...network.privateLink, resourceInfo: service, rsGroup, type: 'serviceBus' }, { dependsOn: service, parent: this });
152
+ }
153
+ }
154
+ createConnectionStrings(service) {
155
+ const { disableLocalAuth, rsGroup } = this.args;
156
+ if (disableLocalAuth)
157
+ return;
158
+ // const manageRule = new bus.NamespaceAuthorizationRule(
159
+ // `${this.name}-manage`,
160
+ // {
161
+ // ...rsGroup,
162
+ // namespaceName: service.name,
163
+ // rights: ['Listen', 'Send', 'Manage'],
164
+ // },
165
+ // { dependsOn: service, parent: this },
166
+ // );
167
+ const listenRule = new bus.NamespaceAuthorizationRule(`${this.name}-listen`, {
168
+ ...rsGroup,
169
+ namespaceName: service.name,
170
+ rights: ['Listen'],
171
+ }, { dependsOn: service, parent: this });
172
+ const sendRule = new bus.NamespaceAuthorizationRule(`${this.name}-send`, {
173
+ ...rsGroup,
174
+ namespaceName: service.name,
175
+ rights: ['Listen'],
176
+ }, { dependsOn: service, parent: this });
177
+ this.addConnectionsToVault(service);
178
+ this.addConnectionsToVault(service, listenRule);
179
+ this.addConnectionsToVault(service, sendRule);
180
+ }
181
+ addConnectionsToVault(service, rule) {
182
+ const { rsGroup, vaultInfo } = this.args;
183
+ if (!vaultInfo)
184
+ return;
185
+ const ruleName = rule ? rule.name : 'RootManageSharedAccessKey';
186
+ pulumi.output([service.name, ruleName, rsGroup.resourceGroupName]).apply(async ([svName, rName, rsName]) => {
187
+ const keys = await bus.listNamespaceKeys({
188
+ resourceGroupName: rsName,
189
+ authorizationRuleName: rName,
190
+ namespaceName: svName,
191
+ });
192
+ new vault.VaultSecrets(`${this.name}-${rName}`, {
193
+ vaultInfo,
194
+ secrets: {
195
+ [`${this.name}-${rName}-primary-conn`]: {
196
+ value: keys.primaryConnectionString,
197
+ contentType: 'ServiceBus Primary ConnectionString',
198
+ },
199
+ [`${this.name}-${rName}-secondary-conn`]: {
200
+ value: keys.secondaryConnectionString,
201
+ contentType: 'ServiceBus Secondary ConnectionString',
202
+ },
203
+ },
204
+ }, { dependsOn: rule ? [service, rule] : [service], parent: this });
205
+ });
206
+ }
207
+ createQueues(service) {
208
+ const { queues, rsGroup } = this.args;
209
+ if (!queues)
210
+ return;
211
+ Object.keys(queues).map((k) => {
212
+ const queueOps = queues[k];
213
+ return new bus.Queue(`${this.name}-${k}`, {
214
+ ...rsGroup,
215
+ queueName: k,
216
+ namespaceName: service.name,
217
+ ...defaultQueueOptions,
218
+ ...queueOps,
219
+ }, { dependsOn: service, parent: this });
220
+ });
221
+ }
222
+ createTopics(service) {
223
+ const { topics, rsGroup } = this.args;
224
+ if (!topics)
225
+ return;
226
+ Object.keys(topics).map((k) => {
227
+ const topicOps = topics[k];
228
+ const topic = new bus.Topic(`${this.name}-${k}`, {
229
+ ...rsGroup,
230
+ topicName: k,
231
+ namespaceName: service.name,
232
+ ...defaultTopicOptions,
233
+ ...topicOps,
234
+ }, { dependsOn: service, parent: this });
235
+ if (topicOps.subscriptions)
236
+ this.createSubscriptions(service, topic, topicOps.subscriptions);
237
+ return topic;
238
+ });
239
+ }
240
+ createSubscriptions(service, topic, subscriptions) {
241
+ const { rsGroup } = this.args;
242
+ topic.name.apply((topicName) => Object.keys(subscriptions).map((k) => {
243
+ const subOps = subscriptions[k];
244
+ return new bus.Subscription(`${this.name}-${topicName}-${k}`, {
245
+ ...rsGroup,
246
+ topicName: topicName,
247
+ namespaceName: service.name,
248
+ subscriptionName: k,
249
+ ...defaultTopicOptions,
250
+ ...subOps,
251
+ }, { dependsOn: [service, topic], parent: this });
252
+ }));
253
+ }
254
+ }
255
+ exports.ServiceBus = ServiceBus;
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUJ1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9TZXJ2aWNlQnVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFFQUF1RDtBQUN2RCx1REFBeUM7QUFDekMsa0NBQWdFO0FBQ2hFLHdDQUFzQztBQUV0QyxnREFBa0M7QUFDbEMsNkRBQTBEO0FBRTFELE1BQU0sbUJBQW1CLEdBQTJCO0lBQ2xELDhDQUE4QztJQUM5QyxrQ0FBa0M7SUFDbEMsNkNBQTZDO0lBQzdDLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsdUJBQXVCLEVBQUUsSUFBSTtJQUM3QixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLGtCQUFrQixFQUFFLGtCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ3JELG9EQUFvRDtJQUNwRCxZQUFZLEVBQUUsTUFBTTtJQUNwQix3QkFBd0IsRUFBRSxrQkFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLO0lBQ3pELGdDQUFnQyxFQUFFLElBQUk7Q0FDdkMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQTJCO0lBQ2xELDhDQUE4QztJQUM5QyxrQ0FBa0M7SUFDbEMsNkNBQTZDO0lBQzdDLHdCQUF3QixFQUFFLGtCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUs7SUFDekQsa0JBQWtCLEVBQUUsS0FBSztJQUN6QixrQkFBa0IsRUFBRSxrQkFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNyRCx1QkFBdUIsRUFBRSxJQUFJO0NBQzlCLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFrQztJQUN2RCxt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
@@ -0,0 +1,3 @@
1
+ export * from './Automation';
2
+ export * from './AzSearch';
3
+ export * from './ServiceBus';
@@ -0,0 +1,20 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Automation"), exports);
18
+ __exportStar(require("./AzSearch"), exports);
19
+ __exportStar(require("./ServiceBus"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0IsK0NBQTZCIn0=
@@ -0,0 +1,53 @@
1
+ import * as storage from '@pulumi/azure-native/storage';
2
+ import * as inputs from '@pulumi/azure-native/types/input';
3
+ import * as pulumi from '@pulumi/pulumi';
4
+ import { BaseResourceComponent, CommonBaseArgs } from '../base';
5
+ import * as types from '../types';
6
+ import * as vnet from '../vnet';
7
+ export interface StorageAccountArgs extends CommonBaseArgs, types.WithEncryptionEnabler, types.WithUserAssignedIdentity, Pick<storage.StorageAccountArgs, 'accessTier' | 'allowBlobPublicAccess' | 'isHnsEnabled' | 'allowSharedKeyAccess' | 'isSftpEnabled' | 'largeFileSharesState' | 'routingPreference'> {
8
+ sku?: storage.SkuName | string;
9
+ network?: types.NetworkArgs & {
10
+ storageEndpointTypes?: vnet.StorageEndpointTypes[];
11
+ };
12
+ policies?: {
13
+ staticWebsite?: Partial<Pick<vnet.AzCdnArgs, 'endpoint'>> & {
14
+ enabled: boolean;
15
+ existingProfile?: types.ResourceWithGroupType;
16
+ };
17
+ keyExpirationPeriodInDays?: pulumi.Input<number>;
18
+ /**
19
+ * The SAS expiration period, DD.HH:MM:SS.
20
+ */
21
+ sasExpirationPeriod?: pulumi.Input<string>;
22
+ sasExpirationAction?: 'Log' | 'Block';
23
+ blob?: Omit<storage.BlobServicePropertiesArgs, 'blobServicesName' | 'resourceGroupName' | 'accountName'>;
24
+ defaultManagementPolicyRules?: pulumi.Input<pulumi.Input<inputs.storage.ManagementPolicyRuleArgs>[]>;
25
+ };
26
+ containers?: {
27
+ containers?: Array<{
28
+ name: string;
29
+ isPublic?: boolean;
30
+ }>;
31
+ queues?: Array<string>;
32
+ fileShares?: Array<string>;
33
+ };
34
+ }
35
+ export declare class StorageAccount extends BaseResourceComponent<StorageAccountArgs> {
36
+ readonly rsGroup: types.ResourceGroupInputs;
37
+ readonly id: pulumi.Output<string>;
38
+ readonly resourceName: pulumi.Output<string>;
39
+ constructor(name: string, args: StorageAccountArgs, opts?: pulumi.ComponentResourceOptions);
40
+ getOutputs(): {
41
+ resourceName: pulumi.Output<string>;
42
+ id: pulumi.Output<string>;
43
+ rsGroup: {
44
+ resourceGroupName: pulumi.Input<string>;
45
+ location?: pulumi.Input<string> | undefined;
46
+ };
47
+ };
48
+ private createPrivateLink;
49
+ private createLifeCycleManagement;
50
+ private enableStaticWebsite;
51
+ private addSecretsToVault;
52
+ private createContainers;
53
+ }
@@ -0,0 +1,261 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.StorageAccount = void 0;
37
+ const storage = __importStar(require("@pulumi/azure-native/storage"));
38
+ const pulumi = __importStar(require("@pulumi/pulumi"));
39
+ const base_1 = require("../base");
40
+ const vault = __importStar(require("../vault"));
41
+ const vnet = __importStar(require("../vnet"));
42
+ class StorageAccount extends base_1.BaseResourceComponent {
43
+ rsGroup;
44
+ id;
45
+ resourceName;
46
+ constructor(name, args, opts) {
47
+ super('StorageAccount', name, args, opts);
48
+ const { rsGroup, sku, vaultInfo, defaultUAssignedId, policies, enableEncryption, network, containers, ...props } = args;
49
+ const encryptionKey = enableEncryption ? this.getEncryptionKey() : undefined;
50
+ const stg = new storage.StorageAccount(name, {
51
+ ...args.rsGroup,
52
+ ...props,
53
+ kind: storage.Kind.StorageV2,
54
+ sku: {
55
+ name: args.sku ?? storage.SkuName.Standard_LRS,
56
+ },
57
+ enableHttpsTrafficOnly: true,
58
+ allowCrossTenantReplication: false,
59
+ minimumTlsVersion: 'TLS1_2',
60
+ defaultToOAuthAuthentication: !props.allowSharedKeyAccess,
61
+ identity: {
62
+ type: defaultUAssignedId
63
+ ? storage.IdentityType.SystemAssigned_UserAssigned
64
+ : storage.IdentityType.SystemAssigned,
65
+ userAssignedIdentities: defaultUAssignedId ? [defaultUAssignedId.id] : undefined,
66
+ },
67
+ keyPolicy: {
68
+ keyExpirationPeriodInDays: policies?.keyExpirationPeriodInDays ?? 365,
69
+ },
70
+ sasPolicy: policies?.sasExpirationPeriod
71
+ ? {
72
+ expirationAction: policies?.sasExpirationAction ?? 'Block',
73
+ sasExpirationPeriod: policies?.sasExpirationPeriod,
74
+ }
75
+ : undefined,
76
+ encryption: encryptionKey
77
+ ? {
78
+ keySource: storage.KeySource.Microsoft_Keyvault,
79
+ keyVaultProperties: {
80
+ keyName: encryptionKey.keyName,
81
+ //keyVersion: encryptionKey.version,
82
+ keyVaultUri: encryptionKey.vaultUrl,
83
+ },
84
+ requireInfrastructureEncryption: true,
85
+ encryptionIdentity: defaultUAssignedId
86
+ ? {
87
+ //encryptionFederatedIdentityClientId?: pulumi.Input<string>;
88
+ encryptionUserAssignedIdentity: defaultUAssignedId.id,
89
+ }
90
+ : undefined,
91
+ services: {
92
+ blob: {
93
+ enabled: true,
94
+ //keyType: storage.KeyType.Account,
95
+ },
96
+ file: {
97
+ enabled: true,
98
+ //keyType: storage.KeyType.Account,
99
+ },
100
+ queue: {
101
+ enabled: true,
102
+ //keyType: storage.KeyType.Account,
103
+ },
104
+ table: {
105
+ enabled: true,
106
+ //keyType: storage.KeyType.Account,
107
+ },
108
+ },
109
+ }
110
+ : //Default infra encryption
111
+ {
112
+ keySource: storage.KeySource.Microsoft_Storage,
113
+ requireInfrastructureEncryption: true,
114
+ },
115
+ //isLocalUserEnabled: false,
116
+ allowedCopyScope: network?.privateLink ? 'PrivateLink' : 'AAD',
117
+ publicNetworkAccess: network?.privateLink ? 'Disabled' : 'Enabled',
118
+ networkRuleSet: {
119
+ bypass: args.network?.bypass ?? 'None',
120
+ defaultAction: args.network?.defaultAction ?? storage.DefaultAction.Allow,
121
+ ipRules: args.network?.ipRules
122
+ ? pulumi.output(args.network.ipRules).apply((ips) => ips.map((i) => ({
123
+ iPAddressOrRange: i,
124
+ action: storage.Action.Allow,
125
+ })))
126
+ : undefined,
127
+ virtualNetworkRules: args.network?.vnetRules
128
+ ? pulumi.output(args.network.vnetRules).apply((vnetRules) => vnetRules.map((v) => ({
129
+ virtualNetworkResourceId: v.subnetId,
130
+ action: storage.Action.Allow,
131
+ })))
132
+ : undefined,
133
+ },
134
+ }, {
135
+ ...opts,
136
+ dependsOn: encryptionKey,
137
+ });
138
+ this.createPrivateLink(stg);
139
+ this.createLifeCycleManagement(stg);
140
+ this.enableStaticWebsite(stg);
141
+ this.createContainers(stg);
142
+ this.addIdentityToRole('readOnly', stg.identity);
143
+ this.addSecretsToVault(stg);
144
+ this.id = stg.id;
145
+ this.resourceName = stg.name;
146
+ this.rsGroup = args.rsGroup;
147
+ this.registerOutputs();
148
+ }
149
+ getOutputs() {
150
+ return {
151
+ resourceName: this.resourceName,
152
+ id: this.id,
153
+ rsGroup: this.rsGroup,
154
+ };
155
+ }
156
+ createPrivateLink(stg) {
157
+ const { network } = this.args;
158
+ if (!network?.privateLink)
159
+ return;
160
+ const types = network.storageEndpointTypes ?? ['blob'];
161
+ return types.map((t) => new vnet.PrivateEndpoint(`${this.name}-${t}`, {
162
+ ...network.privateLink,
163
+ resourceInfo: stg,
164
+ rsGroup: this.args.rsGroup,
165
+ type: 'storage',
166
+ storageType: t,
167
+ }, { dependsOn: stg, parent: this }));
168
+ }
169
+ createLifeCycleManagement(stg) {
170
+ const { rsGroup, policies } = this.args;
171
+ if (policies?.blob) {
172
+ new storage.BlobServiceProperties(`${this.name}-blob-properties`, {
173
+ ...rsGroup,
174
+ accountName: stg.name,
175
+ blobServicesName: 'default',
176
+ ...policies.blob,
177
+ }, { dependsOn: stg, parent: this });
178
+ }
179
+ if (policies?.defaultManagementPolicyRules) {
180
+ return new storage.ManagementPolicy(`${this.name}-lifecycle`, {
181
+ ...rsGroup,
182
+ managementPolicyName: 'default',
183
+ accountName: stg.name,
184
+ policy: {
185
+ rules: policies.defaultManagementPolicyRules,
186
+ },
187
+ }, { dependsOn: stg, parent: this });
188
+ }
189
+ }
190
+ enableStaticWebsite(stg) {
191
+ const { rsGroup, policies } = this.args;
192
+ if (!policies?.staticWebsite?.enabled)
193
+ return;
194
+ const staticWeb = new storage.StorageAccountStaticWebsite(`${this.name}-static-website`, {
195
+ ...rsGroup,
196
+ accountName: stg.name,
197
+ indexDocument: 'index.html',
198
+ error404Document: 'index.html',
199
+ }, { dependsOn: stg, parent: this });
200
+ if (policies.staticWebsite.endpoint) {
201
+ new vnet.AzCdn(`${this.name}-cdn`, {
202
+ endpoint: policies.staticWebsite.endpoint,
203
+ rsGroup: policies.staticWebsite.existingProfile?.rsGroup ?? this.args.rsGroup,
204
+ existingProfile: policies.staticWebsite.existingProfile,
205
+ }, { dependsOn: [stg, staticWeb], parent: this });
206
+ }
207
+ }
208
+ addSecretsToVault(stg) {
209
+ const { rsGroup, vaultInfo } = this.args;
210
+ if (!vaultInfo)
211
+ return;
212
+ return stg.name.apply((n) => {
213
+ if (!n)
214
+ return;
215
+ return storage
216
+ .listStorageAccountKeysOutput({
217
+ resourceGroupName: rsGroup.resourceGroupName,
218
+ accountName: stg.name,
219
+ })
220
+ .apply((keys) => {
221
+ const secrets = keys.keys
222
+ .map((k) => ({
223
+ [`${n}-${k.keyName}`]: {
224
+ value: k.value,
225
+ contentType: `StorageAccount ${k.keyName}`,
226
+ },
227
+ }))
228
+ .reduce((acc, curr) => ({ ...acc, ...curr }), {});
229
+ return new vault.VaultSecrets(this.name, {
230
+ vaultInfo,
231
+ secrets,
232
+ }, { dependsOn: stg, parent: this });
233
+ });
234
+ });
235
+ }
236
+ createContainers(stg) {
237
+ const { rsGroup, containers } = this.args;
238
+ if (!containers)
239
+ return;
240
+ containers.containers?.map((c) => new storage.BlobContainer(c.name, {
241
+ containerName: c.name.toLowerCase(),
242
+ ...rsGroup,
243
+ accountName: stg.name,
244
+ publicAccess: c.isPublic ? 'Blob' : 'None',
245
+ }, { dependsOn: stg, parent: this }));
246
+ //Create Queues
247
+ containers.queues?.map((q) => new storage.Queue(q, {
248
+ queueName: q.toLowerCase(),
249
+ accountName: stg.name,
250
+ ...rsGroup,
251
+ }, { dependsOn: stg, parent: this }));
252
+ //File Share
253
+ containers.fileShares?.map((s) => new storage.FileShare(s, {
254
+ shareName: s.toLowerCase(),
255
+ accountName: stg.name,
256
+ ...rsGroup,
257
+ }, { dependsOn: stg, parent: this }));
258
+ }
259
+ }
260
+ exports.StorageAccount = StorageAccount;
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9TdG9yYWdlQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzRUFBd0Q7QUFFeEQsdURBQXlDO0FBQ3pDLGtDQUFnRTtBQUVoRSxnREFBa0M7QUFDbEMsOENBQWdDO0FBNENoQyxNQUFhLGNBQWUsU0FBUSw0QkFBeUM7SUFDM0QsT0FBTyxDQUE0QjtJQUNuQyxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBd0IsRUFBRSxJQUFzQztRQUN4RixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FDOUcsSUFBSSxDQUFDO1FBRVAsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFN0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUNwQyxJQUFJLEVBQ0o7WUFDRSxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsR0FBRyxLQUFLO1lBRVIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUztZQUM1QixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQy9DO1lBRUQsc0JBQXNCLEVBQUUsSUFBSTtZQUM1QiwyQkFBMkIsRUFBRSxLQUFLO1lBQ2xD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
@@ -0,0 +1,24 @@
1
+ import * as pulumi from '@pulumi/pulumi';
2
+ import * as types from '../types';
3
+ export declare function getStorageEndpoints(storage: types.ResourceType): {
4
+ blob: string;
5
+ file: string;
6
+ queue: string;
7
+ table: string;
8
+ lake: string;
9
+ web: string;
10
+ resourceName: string;
11
+ id: string;
12
+ };
13
+ export declare function getStorageEndpointsOutputs(storage: types.ResourceInputs): {
14
+ blob: pulumi.Output<string>;
15
+ file: pulumi.Output<string>;
16
+ queue: pulumi.Output<string>;
17
+ table: pulumi.Output<string>;
18
+ lake: pulumi.Output<string>;
19
+ web: pulumi.Output<string>;
20
+ resourceName: pulumi.Input<string>;
21
+ id: pulumi.Input<string>;
22
+ };
23
+ /** Get storage access key. If vault is provided it will get the secrets from the vault if not it will get from storage directly. */
24
+ export declare function getStorageAccessKeyOutputs(stg: types.ResourceWithGroupInputs, vaultInfo?: types.ResourceInputs): pulumi.Output<string>;