@drunk-pulumi/azure-components 1.0.1 → 1.0.3
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/README.md +127 -1
- package/ResourceBuilder.d.ts +85 -46
- package/ResourceBuilder.js +147 -46
- package/aks/AzKubernetes.d.ts +17 -3
- package/aks/AzKubernetes.js +92 -43
- package/aks/ContainerRegistry.d.ts +4 -3
- package/aks/ContainerRegistry.js +22 -19
- package/apim/Apim.d.ts +51 -0
- package/apim/Apim.js +248 -0
- package/apim/ApimApi.d.ts +34 -0
- package/apim/ApimApi.js +193 -0
- package/apim/ApimApiSet.d.ts +27 -0
- package/apim/ApimApiSet.js +88 -0
- package/apim/ApimPolicyBuilder.d.ts +93 -0
- package/apim/ApimPolicyBuilder.js +294 -0
- package/apim/ApimProduct.d.ts +27 -0
- package/apim/ApimProduct.js +118 -0
- package/apim/index.d.ts +2 -0
- package/apim/index.js +19 -0
- package/apim/openAPI3Type.d.ts +85 -0
- package/apim/openAPI3Type.js +3 -0
- package/apim/openApiHelper.d.ts +1 -0
- package/apim/openApiHelper.js +36 -0
- package/app/SignalR.d.ts +3 -3
- package/app/SignalR.js +35 -20
- package/azAd/AppRegistration.d.ts +15 -11
- package/azAd/AppRegistration.js +67 -68
- package/azAd/AzRole.js +2 -2
- package/azAd/GroupRole.d.ts +7 -17
- package/azAd/GroupRole.js +7 -17
- package/azAd/RoleAssignment.d.ts +1 -1
- package/azAd/RoleAssignment.js +5 -5
- package/azAd/UserAssignedIdentity.d.ts +3 -0
- package/azAd/UserAssignedIdentity.js +23 -7
- package/azAd/helpers/index.d.ts +0 -2
- package/azAd/helpers/index.js +26 -22
- package/azAd/helpers/rolesBuiltIn.d.ts +10 -19
- package/azAd/helpers/rolesBuiltIn.js +25868 -18593
- package/azAd/helpers/rsRoleDefinition.d.ts +12 -6
- package/azAd/helpers/rsRoleDefinition.js +48 -32
- package/base/BaseComponent.d.ts +1 -15
- package/base/BaseComponent.js +3 -22
- package/base/BaseResourceComponent.d.ts +24 -17
- package/base/BaseResourceComponent.js +61 -45
- package/base/helpers.d.ts +0 -6
- package/base/helpers.js +1 -18
- package/common/RandomPassword.js +4 -4
- package/common/RandomString.d.ts +1 -1
- package/common/RandomString.js +3 -3
- package/common/ResourceLocker.js +2 -2
- package/common/RsGroup.js +2 -2
- package/database/AzSql.d.ts +5 -5
- package/database/AzSql.js +37 -24
- package/database/MySql.d.ts +1 -1
- package/database/MySql.js +45 -28
- package/database/Postgres.d.ts +2 -1
- package/database/Postgres.js +29 -17
- package/database/Redis.d.ts +25 -4
- package/database/Redis.js +88 -25
- package/helpers/autoTags.js +37 -3
- package/helpers/certHelpers.d.ts +20 -0
- package/helpers/certHelpers.js +85 -0
- package/helpers/rsHelpers.d.ts +19 -1
- package/helpers/rsHelpers.js +27 -4
- package/helpers/stackEnv.d.ts +2 -1
- package/helpers/stackEnv.js +10 -7
- package/index.d.ts +1 -0
- package/index.js +2 -1
- package/package.json +11 -7
- package/services/Automation.d.ts +3 -1
- package/services/Automation.js +8 -8
- package/services/ServiceBus.d.ts +3 -2
- package/services/ServiceBus.js +17 -19
- package/types.d.ts +44 -15
- package/vault/EncryptionKey.d.ts +1 -1
- package/vault/EncryptionKey.js +4 -4
- package/vault/KeyVault.d.ts +3 -8
- package/vault/KeyVault.js +4 -7
- package/vault/VaultSecret.d.ts +1 -1
- package/vault/VaultSecret.js +9 -9
- package/vault/VaultSecrets.d.ts +2 -4
- package/vault/VaultSecrets.js +4 -6
- package/vault/helpers.d.ts +17 -0
- package/vault/helpers.js +56 -3
- package/vm/DiskEncryptionSet.js +2 -2
- package/vm/VirtualMachine.d.ts +2 -1
- package/vm/VirtualMachine.js +37 -25
- package/vnet/Basion.d.ts +4 -3
- package/vnet/Basion.js +17 -4
- package/vnet/DnsZone.d.ts +1 -1
- package/vnet/DnsZone.js +2 -2
- package/vnet/IpAddresses.d.ts +6 -2
- package/vnet/IpAddresses.js +2 -2
- package/vnet/NetworkPeering.d.ts +1 -1
- package/vnet/NetworkPeering.js +1 -1
- package/vnet/PrivateDnsZone.d.ts +1 -1
- package/vnet/PrivateDnsZone.js +4 -4
- package/vnet/PrivateEndpoint.d.ts +7 -10
- package/vnet/PrivateEndpoint.js +11 -10
- package/vnet/RouteTable.d.ts +1 -1
- package/vnet/RouteTable.js +2 -2
- package/vnet/VirtualNetwork.d.ts +30 -43
- package/vnet/VirtualNetwork.js +77 -43
- package/vnet/VpnGateway.js +2 -2
package/common/RsGroup.js
CHANGED
|
@@ -71,7 +71,7 @@ class RsGroup extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
71
71
|
principalType: 'Group',
|
|
72
72
|
roleName: role,
|
|
73
73
|
scope: this.id,
|
|
74
|
-
}, { parent: this }));
|
|
74
|
+
}, { parent: this, deletedWith: this }));
|
|
75
75
|
};
|
|
76
76
|
const roles = roleAssignments ?? [azAd_1.rsRoleDefinitions.rsGroup.getReadOnly()];
|
|
77
77
|
roles.forEach((role) => {
|
|
@@ -82,4 +82,4 @@ class RsGroup extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
exports.RsGroup = RsGroup;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnNHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vUnNHcm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwRUFBNEQ7QUFFNUQsa0NBQWtGO0FBQ2xGLHlFQUFnRjtBQVNoRixNQUFhLE9BQVEsU0FBUSw2Q0FBa0M7SUFDN0MsRUFBRSxDQUF3QjtJQUMxQixRQUFRLENBQXdCO0lBQ2hDLGlCQUFpQixDQUF3QjtJQUV6RCxZQUFZLElBQVksRUFBRSxPQUFvQixFQUFFLEVBQUUsSUFBc0M7UUFDdEYsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRW5DLE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEdBQUcsSUFBSTtZQUNQLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixNQUFNLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBRTVDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBMEIsRUFBRSxPQUE4QixFQUFFLEtBQWUsRUFBRSxFQUFFO1lBQ2xHLEtBQUssQ0FBQyxPQUFPLENBQ1gsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLElBQUkscUJBQWMsQ0FDaEIsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxFQUNqRTtnQkFDRSxXQUFXLEVBQUUsT0FBTztnQkFDcEIsYUFBYSxFQUFFLE9BQU87Z0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTthQUNmLEVBQ0QsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FDcEMsQ0FDSixDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQUcsZUFBZSxJQUFJLENBQUMsd0JBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFM0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLFdBQVcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVELFdBQVcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBMURELDBCQTBEQyJ9
|
package/database/AzSql.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as sql from '@pulumi/azure-native/sql';
|
|
2
1
|
import * as pulumi from '@pulumi/pulumi';
|
|
3
|
-
import
|
|
2
|
+
import * as sql from '@pulumi/azure-native/sql';
|
|
4
3
|
import * as types from '../types';
|
|
4
|
+
import { BaseArgs, BaseResourceComponent } from '../base/BaseResourceComponent';
|
|
5
5
|
export type AzSqlSkuType = {
|
|
6
6
|
/**
|
|
7
7
|
* Capacity of the particular SKU.
|
|
@@ -24,21 +24,21 @@ export type AzSqlSkuType = {
|
|
|
24
24
|
*/
|
|
25
25
|
tier?: 'Standard' | 'Basic';
|
|
26
26
|
};
|
|
27
|
-
export interface AzSqlArgs extends BaseArgs, types.WithEncryptionEnabler, types.WithResourceGroupInputs, types.WithGroupRolesArgs, types.WithUserAssignedIdentity, Pick<sql.ServerArgs, 'administratorLogin' | 'federatedClientId' | 'isIPv6Enabled' | 'restrictOutboundNetworkAccess' | 'version'
|
|
27
|
+
export interface AzSqlArgs extends BaseArgs, types.WithEncryptionEnabler, types.WithResourceGroupInputs, types.WithGroupRolesArgs, types.WithUserAssignedIdentity, Partial<Pick<sql.ServerArgs, 'administratorLogin' | 'federatedClientId' | 'isIPv6Enabled' | 'restrictOutboundNetworkAccess' | 'version'>> {
|
|
28
28
|
administrators?: {
|
|
29
29
|
azureAdOnlyAuthentication?: boolean;
|
|
30
30
|
useDefaultUAssignedIdForConnection?: boolean;
|
|
31
|
+
additionalUAssigneds?: Record<string, pulumi.Input<string>>;
|
|
31
32
|
adminGroup: {
|
|
32
33
|
displayName: pulumi.Input<string>;
|
|
33
34
|
objectId: pulumi.Input<string>;
|
|
34
35
|
};
|
|
35
36
|
};
|
|
36
|
-
|
|
37
|
+
elasticPoolCreate?: Partial<Pick<sql.ElasticPoolArgs, 'autoPauseDelay' | 'availabilityZone' | 'highAvailabilityReplicaCount' | 'licenseType' | 'perDatabaseSettings'>> & {
|
|
37
38
|
maxSizeGB?: number;
|
|
38
39
|
sku: AzSqlSkuType;
|
|
39
40
|
};
|
|
40
41
|
network?: Omit<types.NetworkArgs, 'bypass' | 'defaultAction' | 'vnetRules'> & {
|
|
41
|
-
acceptAllPublicConnection?: boolean;
|
|
42
42
|
subnets?: pulumi.Input<Array<{
|
|
43
43
|
id: string;
|
|
44
44
|
}>>;
|
package/database/AzSql.js
CHANGED
|
@@ -34,14 +34,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.AzSql = void 0;
|
|
37
|
-
const sql = __importStar(require("@pulumi/azure-native/sql"));
|
|
38
37
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
38
|
+
const sql = __importStar(require("@pulumi/azure-native/sql"));
|
|
39
|
+
const vnet = __importStar(require("../vnet"));
|
|
39
40
|
const BaseResourceComponent_1 = require("../base/BaseResourceComponent");
|
|
40
41
|
const helpers_1 = require("../helpers");
|
|
42
|
+
const helpers_2 = require("./helpers");
|
|
43
|
+
const helpers_3 = require("../storage/helpers");
|
|
41
44
|
const storage_1 = require("../storage");
|
|
42
|
-
const helpers_2 = require("../storage/helpers");
|
|
43
|
-
const vnet = __importStar(require("../vnet"));
|
|
44
|
-
const helpers_3 = require("./helpers");
|
|
45
45
|
class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
46
46
|
id;
|
|
47
47
|
resourceName;
|
|
@@ -68,7 +68,9 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
68
68
|
const { rsGroup, enableEncryption, defaultUAssignedId, administrators, network, lock, administratorLogin, ...props } = this.args;
|
|
69
69
|
const adminLogin = administratorLogin ?? pulumi.interpolate `${this.name}-admin-${this.createRandomString().value}`;
|
|
70
70
|
const password = this.createPassword();
|
|
71
|
-
const encryptionKey = enableEncryption
|
|
71
|
+
const encryptionKey = enableEncryption
|
|
72
|
+
? this.getEncryptionKey({ name: `${this.name}-az-sql`, keySize: 3072 })
|
|
73
|
+
: undefined;
|
|
72
74
|
const server = new sql.Server(this.name, {
|
|
73
75
|
...props,
|
|
74
76
|
...rsGroup,
|
|
@@ -88,7 +90,7 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
88
90
|
? sql.AdministratorType.ActiveDirectory
|
|
89
91
|
: undefined,
|
|
90
92
|
azureADOnlyAuthentication: administrators.adminGroup?.objectId
|
|
91
|
-
? administrators.azureAdOnlyAuthentication ?? true
|
|
93
|
+
? (administrators.azureAdOnlyAuthentication ?? true)
|
|
92
94
|
: false,
|
|
93
95
|
principalType: sql.PrincipalType.Group,
|
|
94
96
|
tenantId: helpers_1.azureEnv.tenantId,
|
|
@@ -114,17 +116,16 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
114
116
|
if (!network)
|
|
115
117
|
return;
|
|
116
118
|
//Allows Ip Addresses
|
|
117
|
-
if (network.
|
|
118
|
-
new sql.FirewallRule(`${this.name}-allows-all
|
|
119
|
+
if (network.allowAllInbound) {
|
|
120
|
+
new sql.FirewallRule(`${this.name}-allows-all`, {
|
|
119
121
|
...rsGroup,
|
|
120
|
-
//firewallRuleName: 'allows-all-connection',
|
|
121
122
|
serverName: server.name,
|
|
122
123
|
startIpAddress: '0.0.0.0',
|
|
123
124
|
endIpAddress: '255.255.255.255',
|
|
124
125
|
}, { dependsOn: server, parent: this });
|
|
125
126
|
}
|
|
126
127
|
else if (network.ipRules) {
|
|
127
|
-
pulumi.output(network.ipRules).apply((ips) => (0,
|
|
128
|
+
pulumi.output(network.ipRules).apply((ips) => (0, helpers_2.convertToIpRange)(ips).map((ip, i) => {
|
|
128
129
|
const n = `${this.name}-fwRule-${i}`;
|
|
129
130
|
return new sql.FirewallRule(n, {
|
|
130
131
|
...rsGroup,
|
|
@@ -158,16 +159,16 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
createElasticPool(server) {
|
|
161
|
-
const { rsGroup,
|
|
162
|
-
if (!
|
|
162
|
+
const { rsGroup, elasticPoolCreate } = this.args;
|
|
163
|
+
if (!elasticPoolCreate)
|
|
163
164
|
return undefined;
|
|
164
165
|
return new sql.ElasticPool(`${this.name}-elasticPool`, {
|
|
165
|
-
...
|
|
166
|
+
...elasticPoolCreate,
|
|
166
167
|
...rsGroup,
|
|
167
168
|
//autoPauseDelay: props.autoPauseDelay ?? azureEnv.isPrd ? -1 : 10,
|
|
168
169
|
preferredEnclaveType: sql.AlwaysEncryptedEnclaveType.VBS,
|
|
169
170
|
serverName: server.name,
|
|
170
|
-
maxSizeBytes:
|
|
171
|
+
maxSizeBytes: elasticPoolCreate.maxSizeGB ? elasticPoolCreate.maxSizeGB * 1024 * 1024 * 1024 : undefined,
|
|
171
172
|
}, { dependsOn: server, parent: this });
|
|
172
173
|
}
|
|
173
174
|
createEncryptionProtector(server, key) {
|
|
@@ -205,14 +206,14 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
205
206
|
//this will allows sql server to able to write log into the storage account
|
|
206
207
|
this.addIdentityToRole('contributor', server.identity);
|
|
207
208
|
const stgEndpoints = storage_1.storageHelpers.getStorageEndpointsOutputs(vulnerabilityAssessment.logStorage);
|
|
208
|
-
const storageKey = (0,
|
|
209
|
+
const storageKey = (0, helpers_3.getStorageAccessKeyOutputs)(vulnerabilityAssessment.logStorage, vaultInfo);
|
|
209
210
|
const alert = new sql.ServerSecurityAlertPolicy(`${this.name}-alert`, {
|
|
210
211
|
...rsGroup,
|
|
211
212
|
securityAlertPolicyName: 'default',
|
|
212
213
|
serverName: server.name,
|
|
213
214
|
emailAccountAdmins: true,
|
|
214
215
|
emailAddresses: vulnerabilityAssessment.alertEmails,
|
|
215
|
-
retentionDays: vulnerabilityAssessment.retentionDays ?? helpers_1.azureEnv.isPrd ? 30 : 7,
|
|
216
|
+
retentionDays: (vulnerabilityAssessment.retentionDays ?? helpers_1.azureEnv.isPrd) ? 30 : 7,
|
|
216
217
|
storageAccountAccessKey: storageKey,
|
|
217
218
|
storageEndpoint: stgEndpoints.blob,
|
|
218
219
|
state: 'Enabled',
|
|
@@ -231,7 +232,7 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
231
232
|
isStorageSecondaryKeyInUse: false,
|
|
232
233
|
predicateExpression: "object_name = 'SensitiveData'",
|
|
233
234
|
queueDelayMs: 4000,
|
|
234
|
-
retentionDays: vulnerabilityAssessment.retentionDays ?? helpers_1.azureEnv.isPrd ? 30 : 7,
|
|
235
|
+
retentionDays: (vulnerabilityAssessment.retentionDays ?? helpers_1.azureEnv.isPrd) ? 30 : 7,
|
|
235
236
|
state: 'Enabled',
|
|
236
237
|
isDevopsAuditEnabled: true,
|
|
237
238
|
storageAccountAccessKey: storageKey,
|
|
@@ -269,15 +270,27 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
269
270
|
serverName: server.name,
|
|
270
271
|
databaseName: name,
|
|
271
272
|
}, { dependsOn: elasticPool ? [server, password, elasticPool] : [server, password], parent: this });
|
|
272
|
-
const
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
273
|
+
const secrets = {
|
|
274
|
+
[`${name}-sql-default-sysid-conn`]: pulumi.interpolate `Server=tcp:${server.name}.database.windows.net,1433; Initial Catalog=${db.name}; Authentication="Active Directory Default"; MultipleActiveResultSets=False;Encrypt=True; TrustServerCertificate=True; Connection Timeout=120;`,
|
|
275
|
+
};
|
|
276
|
+
if (defaultUAssignedId && administrators?.useDefaultUAssignedIdForConnection)
|
|
277
|
+
secrets[`${name}-sql-default-uid-conn`] =
|
|
278
|
+
pulumi.interpolate `Server=tcp:${server.name}.database.windows.net,1433; Initial Catalog=${db.name}; Authentication="Active Directory Managed Identity"; User Id=${defaultUAssignedId?.principalId}; MultipleActiveResultSets=False; Encrypt=True; TrustServerCertificate=True; Connection Timeout=120;`;
|
|
279
|
+
if (!administrators?.azureAdOnlyAuthentication) {
|
|
280
|
+
secrets[`${name}-sql-password-conn`] =
|
|
281
|
+
pulumi.interpolate `Server=tcp:${server.name}.database.windows.net,1433; Initial Catalog=${db.name}; User Id=${server.administratorLogin}; Password=${password.value}; MultipleActiveResultSets=False; Encrypt=True; TrustServerCertificate=True; Connection Timeout=120;`;
|
|
282
|
+
}
|
|
283
|
+
const adds = administrators?.additionalUAssigneds;
|
|
284
|
+
if (adds) {
|
|
285
|
+
Object.keys(adds).forEach((k) => {
|
|
286
|
+
const conn = pulumi.interpolate `Server=tcp:${server.name}.database.windows.net,1433; Initial Catalog=${db.name}; Authentication="Active Directory Managed Identity"; User Id=${adds[k]}; MultipleActiveResultSets=False; Encrypt=True; TrustServerCertificate=True; Connection Timeout=120;`;
|
|
287
|
+
secrets[`${name}-sql-${k}-conn`] = conn;
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
this.addSecrets(secrets);
|
|
278
291
|
return db;
|
|
279
292
|
});
|
|
280
293
|
}
|
|
281
294
|
}
|
|
282
295
|
exports.AzSql = AzSql;
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvQXpTcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOERBQWdEO0FBQ2hELHVEQUF5QztBQUN6Qyx5RUFBZ0Y7QUFFaEYsd0NBQXNDO0FBQ3RDLHdDQUE0QztBQUM1QyxnREFBZ0U7QUFHaEUsOENBQWdDO0FBQ2hDLHVDQUE2QztBQTZFN0MsTUFBYSxLQUFNLFNBQVEsNkNBQWdDO0lBQ3pDLEVBQUUsQ0FBd0I7SUFDMUIsWUFBWSxDQUF3QjtJQUVwRCxZQUFZLElBQVksRUFBRSxJQUFlLEVBQUUsSUFBc0M7UUFDL0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWpDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9B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
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvQXpTcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLDhEQUFnRDtBQUdoRCw4Q0FBZ0M7QUFFaEMseUVBQWdGO0FBR2hGLHdDQUFzQztBQUN0Qyx1Q0FBNkM7QUFDN0MsZ0RBQWdFO0FBQ2hFLHdDQUE0QztBQWlGNUMsTUFBYSxLQUFNLFNBQVEsNkNBQWdDO0lBQ3pDLEVBQUUsQ0FBd0I7SUFDMUIsWUFBWSxDQUF3QjtJQUVwRCxZQUFZLElBQVksRUFBRSxJQUFlLEVBQUUsSUFBc0M7UUFDL0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWpDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9B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
|
package/database/MySql.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as mysql from '@pulumi/azure-native/dbformysql';
|
|
|
2
2
|
import * as pulumi from '@pulumi/pulumi';
|
|
3
3
|
import { BaseArgs, BaseResourceComponent } from '../base';
|
|
4
4
|
import * as types from '../types';
|
|
5
|
-
export interface MySqlArgs extends BaseArgs, types.WithEncryptionEnabler, types.WithResourceGroupInputs, types.WithGroupRolesArgs, types.WithUserAssignedIdentity, types.WithNetworkArgs, Pick<mysql.ServerArgs, '
|
|
5
|
+
export interface MySqlArgs extends BaseArgs, types.WithEncryptionEnabler, types.WithResourceGroupInputs, types.WithGroupRolesArgs, types.WithUserAssignedIdentity, types.WithNetworkArgs, Pick<mysql.ServerArgs, 'administratorLogin'>, Partial<Pick<mysql.ServerArgs, 'version' | 'storage' | 'maintenanceWindow' | 'backup' | 'highAvailability' | 'availabilityZone'>> {
|
|
6
6
|
sku: {
|
|
7
7
|
/**
|
|
8
8
|
* The name of the sku, e.g. Standard_D32s_v3.
|
package/database/MySql.js
CHANGED
|
@@ -46,10 +46,11 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
46
46
|
resourceName;
|
|
47
47
|
constructor(name, args, opts) {
|
|
48
48
|
super('MySql', name, args, opts);
|
|
49
|
-
const
|
|
49
|
+
const uAssignedId = this.getUAssignedId();
|
|
50
|
+
const { server, credentials } = this.createMySql(uAssignedId);
|
|
50
51
|
this.createNetwork(server);
|
|
51
|
-
this.enableADAdmin(server);
|
|
52
|
-
this.createDatabases(server);
|
|
52
|
+
this.enableADAdmin(server, uAssignedId);
|
|
53
|
+
this.createDatabases(server, credentials);
|
|
53
54
|
if (args.lock)
|
|
54
55
|
this.lockFromDeleting(server);
|
|
55
56
|
this.id = server.id;
|
|
@@ -62,36 +63,38 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
62
63
|
resourceName: this.resourceName,
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
|
-
createMySql() {
|
|
66
|
+
createMySql(uid) {
|
|
66
67
|
const { rsGroup, enableEncryption, administratorLogin, lock } = this.args;
|
|
67
68
|
const adminLogin = administratorLogin ?? pulumi.interpolate `${this.name}-admin-${this.createRandomString().value}`;
|
|
68
69
|
const password = this.createPassword();
|
|
69
70
|
const encryptionKey = enableEncryption ? this.getEncryptionKey() : undefined;
|
|
70
|
-
const uAssignedId = this.getUAssignedId();
|
|
71
71
|
const server = new mysql.Server(this.name, {
|
|
72
72
|
...this.args,
|
|
73
73
|
...rsGroup,
|
|
74
|
+
//serverName: this.name,
|
|
74
75
|
administratorLogin: adminLogin,
|
|
75
76
|
administratorLoginPassword: password.value,
|
|
76
77
|
version: this.args.version ?? mysql.ServerVersion.ServerVersion_8_0_21,
|
|
77
78
|
storage: this.args.storage ?? { storageSizeGB: 30 },
|
|
78
79
|
identity: {
|
|
79
80
|
type: mysql.ManagedServiceIdentityType.UserAssigned,
|
|
80
|
-
userAssignedIdentities: [
|
|
81
|
+
userAssignedIdentities: [uid.id],
|
|
81
82
|
},
|
|
82
83
|
dataEncryption: encryptionKey
|
|
83
84
|
? {
|
|
84
85
|
type: mysql.DataEncryptionType.AzureKeyVault,
|
|
85
|
-
primaryUserAssignedIdentityId:
|
|
86
|
+
primaryUserAssignedIdentityId: uid.id,
|
|
86
87
|
primaryKeyURI: encryptionKey.id,
|
|
87
88
|
}
|
|
88
89
|
: { type: 'SystemManaged' },
|
|
89
|
-
maintenanceWindow: this.args.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
maintenanceWindow: this.args.sku.tier !== 'Burstable'
|
|
91
|
+
? this.args.maintenanceWindow ?? {
|
|
92
|
+
customWindow: 'Enabled',
|
|
93
|
+
dayOfWeek: 0, //0 is Sunday
|
|
94
|
+
startHour: 0,
|
|
95
|
+
startMinute: 0,
|
|
96
|
+
}
|
|
97
|
+
: undefined,
|
|
95
98
|
backup: this.args.backup ?? {
|
|
96
99
|
geoRedundantBackup: helpers_1.azureEnv.isPrd ? 'Enabled' : 'Disabled',
|
|
97
100
|
backupRetentionDays: helpers_1.azureEnv.isPrd ? 30 : 7,
|
|
@@ -111,18 +114,31 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
111
114
|
protect: lock ?? this.opts?.protect,
|
|
112
115
|
parent: this,
|
|
113
116
|
});
|
|
117
|
+
const credentials = {
|
|
118
|
+
host: pulumi.interpolate `${server.name}.mysql.database.azure.com`,
|
|
119
|
+
port: '3306',
|
|
120
|
+
username: adminLogin,
|
|
121
|
+
password: password.value,
|
|
122
|
+
};
|
|
114
123
|
this.addSecrets({
|
|
115
|
-
[`${this.name}-host`]:
|
|
116
|
-
[`${this.name}-port`]:
|
|
117
|
-
[`${this.name}-login`]:
|
|
118
|
-
[`${this.name}-pass`]: password
|
|
119
|
-
[`${this.name}-username`]: adminLogin,
|
|
124
|
+
[`${this.name}-mysql-host`]: credentials.host,
|
|
125
|
+
[`${this.name}-mysql-port`]: credentials.port,
|
|
126
|
+
[`${this.name}-mysql-login`]: credentials.username,
|
|
127
|
+
[`${this.name}-mysql-pass`]: credentials.password,
|
|
120
128
|
});
|
|
121
|
-
return server;
|
|
129
|
+
return { server, credentials };
|
|
122
130
|
}
|
|
123
131
|
createNetwork(server) {
|
|
124
132
|
const { rsGroup, network } = this.args;
|
|
125
|
-
if (network?.
|
|
133
|
+
if (network?.allowAllInbound) {
|
|
134
|
+
new mysql.FirewallRule(`${this.name}-firewall-allow-all`, {
|
|
135
|
+
...rsGroup,
|
|
136
|
+
serverName: server.name,
|
|
137
|
+
startIpAddress: '0.0.0.0',
|
|
138
|
+
endIpAddress: '255.255.255.255',
|
|
139
|
+
}, { dependsOn: server, parent: this });
|
|
140
|
+
}
|
|
141
|
+
else if (network?.ipRules) {
|
|
126
142
|
pulumi.output(network.ipRules).apply((ips) => (0, helpers_2.convertToIpRange)(ips).map((f, i) => new mysql.FirewallRule(`${this.name}-firewall-${i}`, {
|
|
127
143
|
...rsGroup,
|
|
128
144
|
//firewallRuleName: `${this.name}-firewall-${i}`,
|
|
@@ -140,21 +156,22 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
140
156
|
}, { dependsOn: server, parent: this });
|
|
141
157
|
}
|
|
142
158
|
}
|
|
143
|
-
enableADAdmin(server) {
|
|
159
|
+
enableADAdmin(server, uid) {
|
|
144
160
|
const { rsGroup, groupRoles, enableAzureADAdmin } = this.args;
|
|
145
161
|
if (!enableAzureADAdmin || !groupRoles)
|
|
146
162
|
return undefined;
|
|
147
163
|
return new mysql.AzureADAdministrator(this.name, {
|
|
148
164
|
...rsGroup,
|
|
149
|
-
administratorName:
|
|
165
|
+
administratorName: 'activeDirectory',
|
|
150
166
|
serverName: server.name,
|
|
151
|
-
login:
|
|
167
|
+
login: groupRoles.admin.displayName,
|
|
152
168
|
administratorType: 'ActiveDirectory',
|
|
153
|
-
sid: groupRoles.
|
|
169
|
+
sid: groupRoles.admin.objectId,
|
|
154
170
|
tenantId: helpers_1.azureEnv.tenantId,
|
|
171
|
+
identityResourceId: uid.id,
|
|
155
172
|
}, { dependsOn: server, parent: this });
|
|
156
173
|
}
|
|
157
|
-
createDatabases(server) {
|
|
174
|
+
createDatabases(server, cred) {
|
|
158
175
|
const { rsGroup, databases } = this.args;
|
|
159
176
|
if (!databases)
|
|
160
177
|
return undefined;
|
|
@@ -165,8 +182,8 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
165
182
|
databaseName: d.name,
|
|
166
183
|
}, { dependsOn: server, parent: this });
|
|
167
184
|
//add connection string to vault
|
|
168
|
-
|
|
169
|
-
|
|
185
|
+
const conn = pulumi.interpolate `Server=${cred.host};Database=${d.name};Uid=${cred.username};Pwd=${cred.password};SslMode=Require;Encrypt=True;TrustServerCertificate=true`;
|
|
186
|
+
this.addSecret(`${this.name}-${d.name}-mysql-conn`, conn);
|
|
170
187
|
return db;
|
|
171
188
|
});
|
|
172
189
|
}
|
|
@@ -178,4 +195,4 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
178
195
|
}
|
|
179
196
|
}
|
|
180
197
|
exports.MySql = MySql;
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvTXlTcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUVBQXlEO0FBQ3pELHVEQUF5QztBQUN6QyxrQ0FBK0M7QUFDL0Msa0NBQTBEO0FBQzFELHdDQUFpRDtBQUVqRCw4Q0FBZ0M7QUFDaEMsdUNBQTZDO0FBK0I3QyxNQUFhLEtBQU0sU0FBUSw0QkFBZ0M7SUFDekMsRUFBRSxDQUF3QjtJQUMxQixZQUFZLENBQXdCO0lBRXBELFlBQVksSUFBWSxFQUFFLElBQWUsRUFBRSxJQUFzQztRQUMvRSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFakMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUVoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsRUFBRSxFQUFF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
|
package/database/Postgres.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as postgresql from '@pulumi/azure-native/dbforpostgresql';
|
|
|
2
2
|
import * as pulumi from '@pulumi/pulumi';
|
|
3
3
|
import { BaseArgs, BaseResourceComponent } from '../base';
|
|
4
4
|
import * as types from '../types';
|
|
5
|
-
export interface PostgresArgs extends BaseArgs, types.WithEncryptionEnabler, types.WithResourceGroupInputs, types.WithGroupRolesArgs, types.WithUserAssignedIdentity, types.WithNetworkArgs, Pick<postgresql.ServerArgs, '
|
|
5
|
+
export interface PostgresArgs extends BaseArgs, types.WithEncryptionEnabler, types.WithResourceGroupInputs, types.WithGroupRolesArgs, types.WithUserAssignedIdentity, types.WithNetworkArgs, Pick<postgresql.ServerArgs, 'administratorLogin'>, Partial<Pick<postgresql.ServerArgs, 'version' | 'storage' | 'maintenanceWindow' | 'backup' | 'highAvailability' | 'availabilityZone'>> {
|
|
6
6
|
sku: {
|
|
7
7
|
/** The name of postgres: Standard_B2ms, */
|
|
8
8
|
name: pulumi.Input<string>;
|
|
@@ -12,6 +12,7 @@ export interface PostgresArgs extends BaseArgs, types.WithEncryptionEnabler, typ
|
|
|
12
12
|
tier: postgresql.SkuTier;
|
|
13
13
|
};
|
|
14
14
|
enableAzureADAdmin?: boolean;
|
|
15
|
+
enablePasswordAuth?: boolean;
|
|
15
16
|
databases?: Array<{
|
|
16
17
|
name: string;
|
|
17
18
|
}>;
|
package/database/Postgres.js
CHANGED
|
@@ -46,9 +46,9 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
46
46
|
resourceName;
|
|
47
47
|
constructor(name, args, opts) {
|
|
48
48
|
super('Postgres', name, args, opts);
|
|
49
|
-
const server = this.createPostgres();
|
|
49
|
+
const { server, credentials } = this.createPostgres();
|
|
50
50
|
this.createNetwork(server);
|
|
51
|
-
this.createDatabases(server);
|
|
51
|
+
this.createDatabases(server, credentials);
|
|
52
52
|
if (args.lock)
|
|
53
53
|
this.lockFromDeleting(server);
|
|
54
54
|
this.id = server.id;
|
|
@@ -62,7 +62,7 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
createPostgres() {
|
|
65
|
-
const { rsGroup, enableEncryption, administratorLogin, lock } = this.args;
|
|
65
|
+
const { rsGroup, enableEncryption, administratorLogin, enableAzureADAdmin, enablePasswordAuth, lock } = this.args;
|
|
66
66
|
const adminLogin = administratorLogin ?? pulumi.interpolate `${this.name}-admin-${this.createRandomString().value}`;
|
|
67
67
|
const password = this.createPassword();
|
|
68
68
|
const encryptionKey = enableEncryption ? this.getEncryptionKey() : undefined;
|
|
@@ -92,8 +92,8 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
92
92
|
startMinute: 0,
|
|
93
93
|
},
|
|
94
94
|
authConfig: {
|
|
95
|
-
activeDirectoryAuth:
|
|
96
|
-
passwordAuth: 'Enabled',
|
|
95
|
+
activeDirectoryAuth: enableAzureADAdmin ? 'Enabled' : 'Disabled',
|
|
96
|
+
passwordAuth: enablePasswordAuth ? 'Enabled' : 'Disabled',
|
|
97
97
|
tenantId: helpers_1.azureEnv.tenantId,
|
|
98
98
|
},
|
|
99
99
|
backup: this.args.backup ?? {
|
|
@@ -115,21 +115,33 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
115
115
|
protect: lock ?? this.opts?.protect,
|
|
116
116
|
parent: this,
|
|
117
117
|
});
|
|
118
|
+
const credentials = {
|
|
119
|
+
host: pulumi.interpolate `${server.name}.postgres.database.azure.com`,
|
|
120
|
+
port: '5432',
|
|
121
|
+
username: adminLogin,
|
|
122
|
+
password: password.value,
|
|
123
|
+
};
|
|
118
124
|
this.addSecrets({
|
|
119
|
-
[`${this.name}-host`]:
|
|
120
|
-
[`${this.name}-port`]:
|
|
121
|
-
[`${this.name}-login`]: this.args.administratorLogin,
|
|
122
|
-
[`${this.name}-pass`]: password
|
|
123
|
-
[`${this.name}-username`]: adminLogin,
|
|
125
|
+
[`${this.name}-postgres-host`]: credentials.host,
|
|
126
|
+
[`${this.name}-postgres-port`]: credentials.port,
|
|
127
|
+
[`${this.name}-postgres-login`]: this.args.administratorLogin,
|
|
128
|
+
[`${this.name}-postgres-pass`]: credentials.password,
|
|
124
129
|
});
|
|
125
|
-
return server;
|
|
130
|
+
return { server, credentials };
|
|
126
131
|
}
|
|
127
132
|
createNetwork(server) {
|
|
128
133
|
const { rsGroup, network } = this.args;
|
|
129
|
-
if (network?.
|
|
134
|
+
if (network?.allowAllInbound) {
|
|
135
|
+
new postgresql.FirewallRule(`${this.name}-firewall-allow-all`, {
|
|
136
|
+
...rsGroup,
|
|
137
|
+
serverName: server.name,
|
|
138
|
+
startIpAddress: '0.0.0.0',
|
|
139
|
+
endIpAddress: '255.255.255.255',
|
|
140
|
+
}, { dependsOn: server, parent: this });
|
|
141
|
+
}
|
|
142
|
+
else if (network?.ipRules) {
|
|
130
143
|
pulumi.output(network.ipRules).apply((ips) => (0, helpers_2.convertToIpRange)(ips).map((f, i) => new postgresql.FirewallRule(`${this.name}-firewall-${i}`, {
|
|
131
144
|
...rsGroup,
|
|
132
|
-
//firewallRuleName: `${this.name}-firewall-${i}`,
|
|
133
145
|
serverName: server.name,
|
|
134
146
|
startIpAddress: f.start,
|
|
135
147
|
endIpAddress: f.end,
|
|
@@ -144,7 +156,7 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
144
156
|
}, { dependsOn: server, parent: this });
|
|
145
157
|
}
|
|
146
158
|
}
|
|
147
|
-
createDatabases(server) {
|
|
159
|
+
createDatabases(server, cred) {
|
|
148
160
|
const { rsGroup, databases } = this.args;
|
|
149
161
|
if (!databases)
|
|
150
162
|
return undefined;
|
|
@@ -155,8 +167,8 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
155
167
|
databaseName: d.name,
|
|
156
168
|
}, { dependsOn: server, parent: this });
|
|
157
169
|
//add connection string to vault
|
|
158
|
-
|
|
159
|
-
|
|
170
|
+
const conn = pulumi.interpolate `Host=${cred.host};Database=${d.name};User Id=${cred.username};Password=${cred.password};SslMode=Require;Encrypt=True;TrustServerCertificate=true`;
|
|
171
|
+
this.addSecret(`${this.name}-${d.name}-postgres-conn`, conn);
|
|
160
172
|
return db;
|
|
161
173
|
});
|
|
162
174
|
}
|
|
@@ -168,4 +180,4 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
168
180
|
}
|
|
169
181
|
}
|
|
170
182
|
exports.Postgres = Postgres;
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdGdyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvUG9zdGdyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUZBQW1FO0FBQ25FLHVEQUF5QztBQUN6QyxrQ0FBK0M7QUFDL0Msa0NBQTBEO0FBQzFELHdDQUFzQztBQUV0Qyw4Q0FBZ0M7QUFDaEMsdUNBQTZDO0FBOEI3QyxNQUFhLFFBQVMsU0FBUSw0QkFBbUM7SUFDL0MsRUFBRSxDQUF3QjtJQUMxQixZQUFZLENBQXdCO0lBRXBELFlBQVksSUFBWSxFQUFFLElBQWtCLEVBQUUsSUFBc0M7UUFDbEYsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sRUFBRSxPQUFPLEVB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
|