@drunk-pulumi/azure-components 1.1.5 → 1.1.7
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/AppResources.d.ts +123 -0
- package/AppResources.js +146 -0
- package/aks/AzKubernetes.d.ts +2 -1
- package/aks/AzKubernetes.js +46 -11
- package/aks/ContainerRegistry.js +14 -12
- package/aks/helpers.d.ts +7 -3
- package/aks/helpers.js +19 -6
- package/apim/Apim.d.ts +1 -1
- package/apim/Apim.js +12 -10
- package/app/AppConfig.d.ts +1 -1
- package/app/AppConfig.js +12 -10
- package/app/AppContainer.d.ts +1 -2
- package/app/AppContainer.js +10 -8
- package/app/AppContainerEnv.d.ts +1 -1
- package/app/AppContainerEnv.js +10 -8
- package/app/IoTHub.d.ts +1 -2
- package/app/IoTHub.js +10 -8
- package/app/LogicApp.d.ts +1 -2
- package/app/LogicApp.js +10 -8
- package/app/SignalR.d.ts +1 -1
- package/app/SignalR.js +3 -3
- package/azAd/AppRegistration.d.ts +8 -0
- package/azAd/AppRegistration.js +19 -2
- package/azAd/UserAssignedIdentity.d.ts +4 -6
- package/azAd/UserAssignedIdentity.js +7 -1
- package/base/BaseResourceComponent.d.ts +12 -12
- package/base/BaseResourceComponent.js +19 -19
- package/database/AzSql.d.ts +2 -2
- package/database/AzSql.js +10 -8
- package/database/MySql.d.ts +2 -2
- package/database/MySql.js +14 -12
- package/database/Postgres.d.ts +2 -2
- package/database/Postgres.js +12 -10
- package/database/Redis.d.ts +3 -4
- package/database/Redis.js +10 -8
- package/index.d.ts +3 -2
- package/index.js +6 -5
- package/package.json +2 -2
- package/services/Automation.js +8 -6
- package/services/AzSearch.d.ts +1 -1
- package/services/AzSearch.js +9 -7
- package/services/ServiceBus.d.ts +1 -1
- package/services/ServiceBus.js +11 -9
- package/storage/StorageAccount.d.ts +1 -1
- package/storage/StorageAccount.js +10 -8
- package/types.d.ts +5 -0
- package/vault/KeyVault.d.ts +2 -2
- package/vault/KeyVault.js +1 -1
- package/vm/DiskEncryptionSet.d.ts +1 -2
- package/vm/DiskEncryptionSet.js +10 -8
- package/vm/VirtualMachine.d.ts +1 -1
- package/vm/VirtualMachine.js +10 -8
- package/vnet/AzCdn.d.ts +1 -1
- package/vnet/AzCdn.js +7 -6
- package/vnet/Basion.d.ts +1 -1
- package/vnet/Basion.js +3 -3
- package/vnet/DnsZone.d.ts +3 -3
- package/vnet/DnsZone.js +26 -26
- package/vnet/PrivateEndpoint.d.ts +1 -1
- package/vnet/PrivateEndpoint.js +3 -3
- package/vnet/RouteTable.d.ts +2 -2
- package/vnet/RouteTable.js +3 -3
- package/vnet/VpnGateway.d.ts +1 -1
- package/vnet/VpnGateway.js +3 -3
package/azAd/AppRegistration.js
CHANGED
|
@@ -55,6 +55,7 @@ class AppRegistration extends base_1.BaseComponent {
|
|
|
55
55
|
clientSecret;
|
|
56
56
|
servicePrincipalId;
|
|
57
57
|
servicePrincipalPassword;
|
|
58
|
+
applicationId;
|
|
58
59
|
vaultSecrets = {};
|
|
59
60
|
constructor(name, args = { appType: 'native' }, opts) {
|
|
60
61
|
super((0, helpers_1.getComponentResourceType)('AppRegistration'), name, args, opts);
|
|
@@ -66,6 +67,7 @@ class AppRegistration extends base_1.BaseComponent {
|
|
|
66
67
|
this.clientId = app.clientId;
|
|
67
68
|
this.clientSecret = clientSecret;
|
|
68
69
|
this.tenantId = helpers_2.azureEnv.tenantId;
|
|
70
|
+
this.applicationId = app.id;
|
|
69
71
|
this.addSecrets({
|
|
70
72
|
clientId: app.clientId,
|
|
71
73
|
clientSecret: clientSecret,
|
|
@@ -80,10 +82,11 @@ class AppRegistration extends base_1.BaseComponent {
|
|
|
80
82
|
clientId: this.clientId,
|
|
81
83
|
servicePrincipalId: this.servicePrincipalId,
|
|
82
84
|
vaultSecrets: this.vaultSecrets,
|
|
85
|
+
applicationId: this.applicationId,
|
|
83
86
|
};
|
|
84
87
|
}
|
|
85
88
|
createAppRegistration() {
|
|
86
|
-
const { info } = this.args;
|
|
89
|
+
const { info, federatedCredentials } = this.args;
|
|
87
90
|
const app = new azAd.Application(`${helpers_2.stackInfo.stack}-${this.name}`, {
|
|
88
91
|
...this.args,
|
|
89
92
|
...info,
|
|
@@ -106,6 +109,20 @@ class AppRegistration extends base_1.BaseComponent {
|
|
|
106
109
|
displayName: this.name,
|
|
107
110
|
applicationId: app.id,
|
|
108
111
|
}, { dependsOn: app, parent: this });
|
|
112
|
+
if (federatedCredentials) {
|
|
113
|
+
federatedCredentials.map((f) => new azAd.ApplicationFederatedIdentityCredential(`${this.name}-federated-${f.name}`, {
|
|
114
|
+
applicationId: app.id,
|
|
115
|
+
displayName: f.name,
|
|
116
|
+
description: f.name,
|
|
117
|
+
issuer: f.issuer,
|
|
118
|
+
subject: f.subject,
|
|
119
|
+
audiences: f.audiences ?? ['api://AzureADTokenExchange'],
|
|
120
|
+
}, {
|
|
121
|
+
dependsOn: app,
|
|
122
|
+
retainOnDelete: true,
|
|
123
|
+
parent: this,
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
109
126
|
return { app, clientSecret: clientSecret.value };
|
|
110
127
|
}
|
|
111
128
|
createServicePrincipal(app) {
|
|
@@ -172,4 +189,4 @@ class AppRegistration extends base_1.BaseComponent {
|
|
|
172
189
|
}
|
|
173
190
|
}
|
|
174
191
|
exports.AppRegistration = AppRegistration;
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwUmVnaXN0cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6QWQvQXBwUmVnaXN0cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF3QztBQUN4Qyx1REFBeUM7QUFFekMscURBQXNFO0FBR3RFLGtDQUF3QztBQUN4QyxvQ0FBd0M7QUFDeEMsNkNBQTJEO0FBQzNELHdDQUFpRDtBQUVqRCxJQUFZLDBCQU1YO0FBTkQsV0FBWSwwQkFBMEI7SUFDcEMsMkNBQWEsQ0FBQTtJQUNiLDZEQUErQixDQUFBO0lBQy9CLDZEQUErQixDQUFBO0lBQy9CLG1FQUFxQyxDQUFBO0lBQ3JDLHlDQUFXLENBQUE7QUFDYixDQUFDLEVBTlcsMEJBQTBCLDBDQUExQiwwQkFBMEIsUUFNckM7QUF1REQsTUFBYSxlQUFnQixTQUFRLG9CQUFrQztJQUNyRCxRQUFRLENBQXdCO0lBQ2hDLFFBQVEsQ0FBd0I7SUFDaEMsWUFBWSxDQUF3QjtJQUNwQyxrQkFBa0IsQ0FBd0I7SUFDMUMsd0JBQXdCLENBQXdCO0lBQ2hELGFBQWEsQ0FBd0I7SUFDN0MsWUFBWSxHQUEyQyxFQUFFLENBQUM7SUFFbEUsWUFBWSxJQUFZLEVBQUUsT0FBNEIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBc0M7UUFDakgsS0FBSyxDQUFDLElBQUEsa0NBQXdCLEVBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJFLGFBQWE7UUFDYixNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFD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
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import * as mid from '@pulumi/azure-native/managedidentity';
|
|
2
2
|
import * as pulumi from '@pulumi/pulumi';
|
|
3
3
|
import { BaseArgs, BaseResourceComponent } from '../base';
|
|
4
|
-
import { WithMemberOfArgs, WithResourceGroupInputs } from '../types';
|
|
4
|
+
import { UserAssignedIdentityOutputs, WithMemberOfArgs, WithResourceGroupInputs } from '../types';
|
|
5
5
|
export interface UserAssignedIdentityArgs extends Omit<BaseArgs, 'groupRoles'>, WithMemberOfArgs, WithResourceGroupInputs {
|
|
6
6
|
federations?: Record<string, Partial<Pick<mid.FederatedIdentityCredentialArgs, 'issuer'>> & Pick<mid.FederatedIdentityCredentialArgs, 'subject'>>;
|
|
7
7
|
}
|
|
8
8
|
export declare class UserAssignedIdentity extends BaseResourceComponent<UserAssignedIdentityArgs> {
|
|
9
|
+
readonly resourceName: pulumi.Output<string>;
|
|
10
|
+
readonly resourceGroupName: pulumi.Output<string>;
|
|
9
11
|
readonly id: pulumi.Output<string>;
|
|
10
12
|
readonly clientId: pulumi.Output<string>;
|
|
11
13
|
readonly principalId: pulumi.Output<string>;
|
|
12
14
|
constructor(name: string, args: UserAssignedIdentityArgs, opts?: pulumi.ComponentResourceOptions);
|
|
13
|
-
getOutputs():
|
|
14
|
-
id: pulumi.Output<string>;
|
|
15
|
-
clientId: pulumi.Output<string>;
|
|
16
|
-
principalId: pulumi.Output<string>;
|
|
17
|
-
};
|
|
15
|
+
getOutputs(): UserAssignedIdentityOutputs;
|
|
18
16
|
private createFederations;
|
|
19
17
|
private addMemberOf;
|
|
20
18
|
}
|
|
@@ -40,6 +40,8 @@ const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
|
40
40
|
const base_1 = require("../base");
|
|
41
41
|
const helpers_1 = require("../helpers");
|
|
42
42
|
class UserAssignedIdentity extends base_1.BaseResourceComponent {
|
|
43
|
+
resourceName;
|
|
44
|
+
resourceGroupName;
|
|
43
45
|
id;
|
|
44
46
|
clientId;
|
|
45
47
|
principalId;
|
|
@@ -54,6 +56,8 @@ class UserAssignedIdentity extends base_1.BaseResourceComponent {
|
|
|
54
56
|
['uid-principalId']: managedIdentity.principalId,
|
|
55
57
|
});
|
|
56
58
|
this.id = managedIdentity.id;
|
|
59
|
+
this.resourceName = managedIdentity.name;
|
|
60
|
+
this.resourceGroupName = pulumi.output(args.rsGroup.resourceGroupName);
|
|
57
61
|
this.clientId = managedIdentity.clientId;
|
|
58
62
|
this.principalId = managedIdentity.principalId;
|
|
59
63
|
this.addMemberOf(managedIdentity);
|
|
@@ -62,6 +66,8 @@ class UserAssignedIdentity extends base_1.BaseResourceComponent {
|
|
|
62
66
|
getOutputs() {
|
|
63
67
|
return {
|
|
64
68
|
id: this.id,
|
|
69
|
+
resourceName: this.resourceName,
|
|
70
|
+
resourceGroupName: this.resourceGroupName,
|
|
65
71
|
clientId: this.clientId,
|
|
66
72
|
principalId: this.principalId,
|
|
67
73
|
};
|
|
@@ -89,4 +95,4 @@ class UserAssignedIdentity extends base_1.BaseResourceComponent {
|
|
|
89
95
|
}
|
|
90
96
|
}
|
|
91
97
|
exports.UserAssignedIdentity = UserAssignedIdentity;
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckFzc2lnbmVkSWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXpBZC9Vc2VyQXNzaWduZWRJZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBd0M7QUFDeEMsMEVBQTREO0FBQzVELHVEQUF5QztBQUV6QyxrQ0FBMEQ7QUFFMUQsd0NBQWlEO0FBVWpELE1BQWEsb0JBQXFCLFNBQVEsNEJBQStDO0lBQ3ZFLFlBQVksQ0FBd0I7SUFDcEMsaUJBQWlCLENBQXdCO0lBQ3pDLEVBQUUsQ0FBd0I7SUFDMUIsUUFBUSxDQUF3QjtJQUNoQyxXQUFXLENBQXdCO0lBRW5ELFlBQVksSUFBWSxFQUFFLElBQThCLEVBQUUsSUFBc0M7UUFDOUYsS0FBSyxDQUFDLHNCQUFzQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUV6QixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFdEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxDQUFDLFFBQVEsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxFQUFFO1lBQzlCLENBQUMsY0FBYyxDQUFDLEVBQUUsZUFBZSxDQUFDLFFBQVE7WUFDMUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxXQUFXO1NBQ2pELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxFQUFFLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMs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
|
|
@@ -22,7 +22,7 @@ export interface BaseArgs extends types.WithVaultInfo, types.WithGroupRolesArgs
|
|
|
22
22
|
* Extended interface that includes resource group input parameters
|
|
23
23
|
* alongside base vault and role requirements
|
|
24
24
|
*/
|
|
25
|
-
export interface CommonBaseArgs extends BaseArgs, types.WithResourceGroupInputs {
|
|
25
|
+
export interface CommonBaseArgs extends BaseArgs, types.WithResourceGroupInputs, types.WithResourceIdentityFlag, types.WithUserAssignedIdentity {
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* BaseResourceComponent serves as a foundational abstract class for Azure resource management
|
|
@@ -69,6 +69,17 @@ export declare abstract class BaseResourceComponent<TArgs extends BaseArgs> exte
|
|
|
69
69
|
principalId: pulumi.Input<string>;
|
|
70
70
|
} | undefined>): pulumi.OutputInstance<import("@pulumi/azuread/groupMember").GroupMember | undefined> | undefined;
|
|
71
71
|
getOutputs(): pulumi.Inputs | pulumi.Output<pulumi.Inputs>;
|
|
72
|
+
/** Assigns a role to a principal at the scope of this resource.
|
|
73
|
+
* @param roleName The name of the role to assign (e.g., "Contributor", "Reader").
|
|
74
|
+
* @param principalType The type of the principal (e.g., "User", "Group", "ServicePrincipal").
|
|
75
|
+
* @param principalId The ID of the principal to whom the role is assigned.
|
|
76
|
+
* @returns A RoleAssignment resource representing the role assignment.
|
|
77
|
+
* */
|
|
78
|
+
roleAssignment({ roleName, principalType, principalId, }: {
|
|
79
|
+
roleName: pulumi.Input<string>;
|
|
80
|
+
principalId: pulumi.Input<string>;
|
|
81
|
+
principalType: enums.authorization.PrincipalType;
|
|
82
|
+
}): pulumi.Output<RoleAssignment>;
|
|
72
83
|
protected grantPermissionsToIdentity({ identity, resource, roleNames }: types.GrantIdentityRoles): pulumi.Output<pulumi.Output<pulumi.Output<RoleAssignment>[]> | undefined>;
|
|
73
84
|
/**
|
|
74
85
|
* Adds a single secret to the component
|
|
@@ -113,15 +124,4 @@ export declare abstract class BaseResourceComponent<TArgs extends BaseArgs> exte
|
|
|
113
124
|
* Creates vault secrets if any secrets were added during component creation
|
|
114
125
|
*/
|
|
115
126
|
private postCreated;
|
|
116
|
-
/** Assigns a role to a principal at the scope of this resource.
|
|
117
|
-
* @param roleName The name of the role to assign (e.g., "Contributor", "Reader").
|
|
118
|
-
* @param principalType The type of the principal (e.g., "User", "Group", "ServicePrincipal").
|
|
119
|
-
* @param principalId The ID of the principal to whom the role is assigned.
|
|
120
|
-
* @returns A RoleAssignment resource representing the role assignment.
|
|
121
|
-
* */
|
|
122
|
-
roleAssignment({ roleName, principalType, principalId }: {
|
|
123
|
-
roleName: pulumi.Input<string>;
|
|
124
|
-
principalId: pulumi.Input<string>;
|
|
125
|
-
principalType: enums.authorization.PrincipalType;
|
|
126
|
-
}): pulumi.Output<RoleAssignment>;
|
|
127
127
|
}
|
|
@@ -105,6 +105,24 @@ class BaseResourceComponent extends BaseComponent_1.BaseComponent {
|
|
|
105
105
|
getOutputs() {
|
|
106
106
|
return { vaultSecrets: this.vaultSecrets };
|
|
107
107
|
}
|
|
108
|
+
/** Assigns a role to a principal at the scope of this resource.
|
|
109
|
+
* @param roleName The name of the role to assign (e.g., "Contributor", "Reader").
|
|
110
|
+
* @param principalType The type of the principal (e.g., "User", "Group", "ServicePrincipal").
|
|
111
|
+
* @param principalId The ID of the principal to whom the role is assigned.
|
|
112
|
+
* @returns A RoleAssignment resource representing the role assignment.
|
|
113
|
+
* */
|
|
114
|
+
roleAssignment({ roleName, principalType, principalId, }) {
|
|
115
|
+
const resourceId = this.getOutputs()?.id;
|
|
116
|
+
if (!resourceId) {
|
|
117
|
+
throw new Error(`Resource ID is not available for role assignment in component "${this.type}:${this.name}"`);
|
|
118
|
+
}
|
|
119
|
+
return pulumi.output([roleName, principalId]).apply(([role, id]) => new RoleAssignment_1.RoleAssignment(`${this.name}-${role}-${id}`, {
|
|
120
|
+
principalId: id,
|
|
121
|
+
principalType,
|
|
122
|
+
roleName: role,
|
|
123
|
+
scope: resourceId,
|
|
124
|
+
}, { parent: this, deletedWith: this }));
|
|
125
|
+
}
|
|
108
126
|
grantPermissionsToIdentity({ identity, resource, roleNames }) {
|
|
109
127
|
return pulumi.output(identity).apply((id) => {
|
|
110
128
|
if (!id?.principalId)
|
|
@@ -191,24 +209,6 @@ class BaseResourceComponent extends BaseComponent_1.BaseComponent {
|
|
|
191
209
|
}, { dependsOn: this.opts?.dependsOn, parent: this });
|
|
192
210
|
this.vaultSecrets = rs.results;
|
|
193
211
|
}
|
|
194
|
-
/** Assigns a role to a principal at the scope of this resource.
|
|
195
|
-
* @param roleName The name of the role to assign (e.g., "Contributor", "Reader").
|
|
196
|
-
* @param principalType The type of the principal (e.g., "User", "Group", "ServicePrincipal").
|
|
197
|
-
* @param principalId The ID of the principal to whom the role is assigned.
|
|
198
|
-
* @returns A RoleAssignment resource representing the role assignment.
|
|
199
|
-
* */
|
|
200
|
-
roleAssignment({ roleName, principalType, principalId }) {
|
|
201
|
-
const resourceId = this.getOutputs()?.id;
|
|
202
|
-
if (!resourceId) {
|
|
203
|
-
throw new Error(`Resource ID is not available for role assignment in component "${this.type}:${this.name}"`);
|
|
204
|
-
}
|
|
205
|
-
return pulumi.output([roleName, principalId]).apply(([role, id]) => new RoleAssignment_1.RoleAssignment(`${this.name}-${role}-${id}`, {
|
|
206
|
-
principalId: id,
|
|
207
|
-
principalType,
|
|
208
|
-
roleName: role,
|
|
209
|
-
scope: resourceId,
|
|
210
|
-
}, { parent: this, deletedWith: this }));
|
|
211
|
-
}
|
|
212
212
|
}
|
|
213
213
|
exports.BaseResourceComponent = BaseResourceComponent;
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVJlc291cmNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvQmFzZVJlc291cmNlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF3QztBQUN4Qyx1REFBeUM7QUFHekMsNkRBQThFO0FBQzlFLHlEQUF3RTtBQUN4RSx3REFBd0U7QUFFeEUsbURBQWdEO0FBQ2hELDBEQUF1RDtBQUN2RCw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBRXhELHVDQUFxRDtBQW9CckQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFzQixxQkFBOEMsU0FBUSw2QkFBb0I7SUFhM0U7SUFDRDtJQUNHO0lBQ0E7SUFmZCxZQUFZLENBQXdDO0lBQ25ELFFBQVEsR0FBNEMsRUFBRSxDQUFDO0lBQ3ZELG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUU5Qzs7Ozs7O09BTUc7SUFDSCxZQUNtQixJQUFZLEVBQ2IsSUFBWSxFQUNULElBQVcsRUFDWCxJQUFzQztRQUV6RCxLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBTHZDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1QsU0FBSSxHQUFKLElBQUksQ0FBTztRQUNYLFNBQUksR0FBSixJQUFJLENBQWtDO0lBRzNELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGlCQUFpQixDQUN0QixJQUEwQixFQUMxQixRQUF5RTtRQUV6RSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFFeEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FB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
|
package/database/AzSql.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as pulumi from '@pulumi/pulumi';
|
|
2
2
|
import * as sql from '@pulumi/azure-native/sql';
|
|
3
3
|
import * as types from '../types';
|
|
4
|
-
import {
|
|
4
|
+
import { BaseResourceComponent, CommonBaseArgs } from '../base';
|
|
5
5
|
export type AzSqlSkuType = {
|
|
6
6
|
/**
|
|
7
7
|
* Capacity of the particular SKU.
|
|
@@ -28,7 +28,7 @@ export type AzSqlDbType = Omit<sql.DatabaseArgs, 'resourceGroupName' | 'serverNa
|
|
|
28
28
|
/** sample: sku: { name: 'Basic', tier: 'Basic', capacity: 0 } */
|
|
29
29
|
sku?: AzSqlSkuType;
|
|
30
30
|
};
|
|
31
|
-
export interface AzSqlArgs extends
|
|
31
|
+
export interface AzSqlArgs extends CommonBaseArgs, types.WithEncryptionEnabler, Partial<Pick<sql.ServerArgs, 'administratorLogin' | 'federatedClientId' | 'isIPv6Enabled' | 'restrictOutboundNetworkAccess' | 'version'>> {
|
|
32
32
|
administrators?: {
|
|
33
33
|
azureAdOnlyAuthentication?: boolean;
|
|
34
34
|
useDefaultUAssignedIdForConnection?: boolean;
|
package/database/AzSql.js
CHANGED
|
@@ -37,12 +37,12 @@ exports.AzSql = void 0;
|
|
|
37
37
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
38
38
|
const sql = __importStar(require("@pulumi/azure-native/sql"));
|
|
39
39
|
const vnet = __importStar(require("../vnet"));
|
|
40
|
-
const
|
|
40
|
+
const base_1 = require("../base");
|
|
41
41
|
const helpers_1 = require("../helpers");
|
|
42
42
|
const helpers_2 = require("./helpers");
|
|
43
43
|
const helpers_3 = require("../storage/helpers");
|
|
44
44
|
const storage_1 = require("../storage");
|
|
45
|
-
class AzSql extends
|
|
45
|
+
class AzSql extends base_1.BaseResourceComponent {
|
|
46
46
|
id;
|
|
47
47
|
resourceName;
|
|
48
48
|
constructor(name, args, opts) {
|
|
@@ -65,7 +65,7 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
createSql() {
|
|
68
|
-
const { rsGroup, enableEncryption, defaultUAssignedId, administrators, network, lock, administratorLogin, ...props } = this.args;
|
|
68
|
+
const { rsGroup, enableResourceIdentity, 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
71
|
const encryptionKey = enableEncryption
|
|
@@ -76,10 +76,12 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
76
76
|
...rsGroup,
|
|
77
77
|
version: this.args.version ?? '12.0',
|
|
78
78
|
minimalTlsVersion: '1.2',
|
|
79
|
-
identity:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
identity: enableResourceIdentity
|
|
80
|
+
? {
|
|
81
|
+
type: defaultUAssignedId ? sql.IdentityType.SystemAssigned_UserAssigned : sql.IdentityType.SystemAssigned,
|
|
82
|
+
userAssignedIdentities: defaultUAssignedId ? [defaultUAssignedId.id] : undefined,
|
|
83
|
+
}
|
|
84
|
+
: undefined,
|
|
83
85
|
primaryUserAssignedIdentityId: defaultUAssignedId?.id,
|
|
84
86
|
administratorLogin: adminLogin,
|
|
85
87
|
administratorLoginPassword: password.value,
|
|
@@ -294,4 +296,4 @@ class AzSql extends BaseResourceComponent_1.BaseResourceComponent {
|
|
|
294
296
|
}
|
|
295
297
|
}
|
|
296
298
|
exports.AzSql = AzSql;
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvQXpTcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLDhEQUFnRDtBQUdoRCw4Q0FBZ0M7QUFFaEMseUVBQWdGO0FBR2hGLHdDQUFzQztBQUN0Qyx1Q0FBNkM7QUFDN0MsZ0RBQWdFO0FBQ2hFLHdDQUE0QztBQStFNUMsTUFBYSxLQUFNLFNBQVEsNkNBQWdDO0lBQ3pDLEVBQUUsQ0FBd0I7SUFDMUIsWUFBWSxDQUF3QjtJQUVwRCxZQUFZLElBQVksRUFBRSxJQUFlLEVBQUUsSUFBc0M7UUFDL0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWpDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9B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
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvQXpTcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLDhEQUFnRDtBQUdoRCw4Q0FBZ0M7QUFFaEMsa0NBQWdFO0FBR2hFLHdDQUFzQztBQUN0Qyx1Q0FBNkM7QUFDN0MsZ0RBQWdFO0FBQ2hFLHdDQUE0QztBQTZFNUMsTUFBYSxLQUFNLFNBQVEsNEJBQWdDO0lBQ3pDLEVBQUUsQ0FBd0I7SUFDMUIsWUFBWSxDQUF3QjtJQUVwRCxZQUFZLElBQVksRUFBRSxJQUFlLEVBQUUsSUFBc0M7UUFDL0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWpDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUNKLE9BQU8sRUFDUCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsT0FBTyxFQUNQLElBQUksRUFDSixrQkFBa0IsRUFDbEIsR0FBRyxLQUFLLEVBQ1QsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRWQsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQSxHQUFHLElBQUksQ0FBQyxJQUFJLFVBQVUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkgsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQjtZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN2RSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUMzQixJQUFJLENBQUMsSUFBSSxFQUNUO1lBQ0UsR0FBRyxLQUFLO1lBQ1IsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU07WUFDcEMsaUJBQWlCLEVBQUUsS0FBSztZQUV4QixRQUFRLEVBQUUsc0JBQXNCO2dCQUM5QixDQUFDLENBQUM7b0JBQ0UsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLGNBQWM7b0JBQ3pHLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2lCQUNqRjtnQkFDSCxDQUFDLENBQUMsU0FBUztZQUViLDZCQUE2QixFQUFFLGtCQUFrQixFQUFFLEVBQUU7WUFDckQsa0JBQWtCLEVBQUUsVUFBVTtZQUM5QiwwQkFBMEIsRUFBRSxRQUFRLENBQUMsS0FBSztZQUMxQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFFeEIsY0FBYyxFQUFFLGNBQWM7Z0JBQzVCLENBQUMsQ0FBQztvQkFDRSxpQkFBaUIsRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFLFFBQVE7d0JBQ3BELENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsZUFBZTt3QkFDdkMsQ0FBQyxDQUFDLFNBQVM7b0JBRWIseUJBQXlCLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxRQUFRO3dCQUM1RCxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMseUJBQXlCLElBQUksSUFBSSxDQUFDO3dCQUNwRCxDQUFDLENBQUMsS0FBSztvQkFFVCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLO29CQUN0QyxRQUFRLEVBQUUsa0JBQVEsQ0FBQyxRQUFRO29CQUMzQixHQUFHLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxRQUFRO29CQUN4QyxLQUFLLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxXQUFXO2lCQUM5QztnQkFDSCxDQUFDLENBQUMsU0FBUztZQUViLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxXQUFXO2dCQUN2QyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLFFBQVE7Z0JBQ3RDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsT0FBTztTQUN4QyxFQUNEO1lBQ0UsR0FBRyxJQUFJLENBQUMsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPO1lBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFDaEUsYUFBYSxFQUFFLENBQUMsMENBQTBDLENBQUM7WUFDM0QsTUFBTSxFQUFFLElBQUk7U0FDYixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFrQjtRQUN0QyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLHFCQUFxQjtRQUNyQixJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQ2xCLEdBQUcsSUFBSSxDQUFDLElBQUksYUFBYSxFQUN6QjtnQkFDRSxHQUFHLE9BQU87Z0JBQ1YsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUN2QixjQUFjLEVBQUUsU0FBUztnQkFDekIsWUFBWSxFQUFFLGlCQUFpQjthQUNoQyxFQUNELEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ3BDLENBQUM7UUFDSixDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDM0MsSUFBQSwwQkFBZ0IsRUFBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2xDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDckMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQ3pCLENBQUMsRUFDRDtvQkFDRSxHQUFHLE9BQU87b0JBQ1Ysc0JBQXNCO29CQUN0QixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ3ZCLGNBQWMsRUFBRSxFQUFFLENBQUMsS0FBSztvQkFDeEIsWUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHO2lCQUNyQixFQUNELEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ3BDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELGdCQUFnQjtRQUNoQixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUM5QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNELElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUN4QixHQUFHLElBQUksQ0FBQyxJQUFJLFFBQVEsT0FBTyxFQUFFLEVBQzdCO29CQUNFLEdBQUcsT0FBTztvQkFDVixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ3ZCLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxFQUFFO29CQUM1QixnQ0FBZ0MsRUFBRSxLQUFLO2lCQUN4QyxFQUNELEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ3BDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELGNBQWM7UUFDZCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQ1Q7Z0JBQ0UsR0FBRyxPQUFPLENBQUMsV0FBVztnQkFDdEIsT0FBTztnQkFDUCxJQUFJLEVBQUUsV0FBVztnQkFDakIsWUFBWSxFQUFFLE1BQU07YUFDckIsRUFDRCxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUNwQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFrQjtRQUMxQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFFekMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQ3hCLEdBQUcsSUFBSSxDQUFDLElBQUksY0FBYyxFQUMxQjtZQUNFLEdBQUcsaUJBQWlCO1lBQ3BCLEdBQUcsT0FBTztZQUNWLG1FQUFtRTtZQUNuRSxvQkFBb0IsRUFBRSxHQUFHLENBQUMsMEJBQTBCLENBQUMsR0FBRztZQUV4RCxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDdkIsWUFBWSxFQUFFLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3pHLEVBQ0QsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxNQUFrQixFQUFFLEdBQW9DO1FBQ3hGLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDM0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3pDLDRFQUE0RTtRQUM1RSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFBLEdBQUcsU0FBVSxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3Rix3Q0FBd0M7UUFDeEMsdUNBQXVDO1FBQ3ZDLDRCQUE0QjtRQUM1QixNQUFNO1FBQ04sa0RBQWtEO1FBQ2xELDJCQUEyQjtRQUMzQixzREFBc0Q7UUFDdEQsZUFBZTtRQUNmLDJCQUEyQjtRQUMzQixPQUFPO1FBQ1Asb0RBQW9EO1FBQ3BELEtBQUs7UUFFTCxnQ0FBZ0M7UUFDaEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsQ0FDaEMsR0FBRyxJQUFJLENBQUMsSUFBSSxzQkFBc0IsRUFDbEM7WUFDRSx1QkFBdUIsRUFBRSxTQUFTO1lBQ2xDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7WUFDNUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ3ZCLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWE7WUFDOUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxpQkFBaUI7WUFDekMsbUJBQW1CLEVBQUUsSUFBSTtTQUMxQixFQUNELEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRU8sNkJBQTZCLENBQUMsTUFBa0I7UUFDdEQsTUFBTSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2xFLElBQUksQ0FBQyx1QkFBdUI7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMvQywyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdkQsTUFBTSxZQUFZLEdBQUcsd0JBQWMsQ0FBQywwQkFBMEIsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRyxNQUFNLFVBQVUsR0FBRyxJQUFBLG9DQUEwQixFQUFDLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU3RixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyx5QkFBeUIsQ0FDN0MsR0FBRyxJQUFJLENBQUMsSUFBSSxRQUFRLEVBQ3BCO1lBQ0UsR0FBRyxPQUFPO1lBQ1YsdUJBQXVCLEVBQUUsU0FBUztZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDdkIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsdUJBQXVCLENBQUMsV0FBVztZQUNuRCxhQUFhLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLElBQUksa0JBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpGLHVCQUF1QixFQUFFLFVBQVU7WUFDbkMsZUFBZSxFQUFFLFlBQVksQ0FBQyxJQUFJO1lBQ2xDLEtBQUssRUFBRSxTQUFTO1NBQ2pCLEVBQ0QsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDcEMsQ0FBQztRQUVGLGNBQWM7UUFDZCxJQUFJLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FDdEMsR0FBRyxJQUFJLENBQUMsSUFBSSxRQUFRLEVBQ3BCO1lBQ0UsR0FBRyxPQUFPO1lBQ1YscUJBQXFCLEVBQUU7Z0JBQ3JCLDBDQUEwQztnQkFDMUMsc0NBQXNDO2dCQUN0Qyx1QkFBdUI7YUFDeEI7WUFDRCxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDdkIsc0JBQXNCLEVBQUUsU0FBUztZQUNqQywyQkFBMkIsRUFBRSxJQUFJO1lBQ2pDLDBCQUEwQixFQUFFLEtBQUs7WUFDakMsbUJBQW1CLEVBQUUsK0JBQStCO1lBQ3BELFlBQVksRUFBRSxJQUFJO1lBQ2xCLGFBQWEsRUFBRSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsSUFBSSxrQkFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsS0FBSyxFQUFFLFNBQVM7WUFDaEIsb0JBQW9CLEVBQUUsSUFBSTtZQUUxQix1QkFBdUIsRUFBRSxVQUFVO1lBQ25DLDRCQUE0QixFQUFFLGtCQUFRLENBQUMsY0FBYztZQUNyRCxlQUFlLEVBQUUsWUFBWSxDQUFDLElBQUk7U0FDbkMsRUFDRCxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUNuQyxDQUFDO1FBRUYsK0JBQStCO1FBQy9CLElBQUksR0FBRyxDQUFDLDZCQUE2QixDQUNuQyxHQUFHLElBQUksQ0FBQyxJQUFJLGFBQWEsRUFDekI7WUFDRSxHQUFHLE9BQU87WUFDViwyQkFBMkIsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUN0QyxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFFdkIsY0FBYyxFQUFFO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLHVCQUF1QixFQUFFLElBQUk7Z0JBQzdCLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxXQUFXO2FBQzVDO1lBRUQsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQSxHQUFHLFlBQVksQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtZQUM3RSx1QkFBdUIsRUFBRSxVQUFVO1NBQ3BDLEVBQ0QsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsTUFBa0IsRUFBRSxRQUF3QixFQUFFLFdBQTZCO1FBQ2pHLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0UsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUVqQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDO1lBRXJDLE1BQU0sRUFBRSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FDekIsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxFQUN0QjtnQkFDRSxHQUFHLEtBQUs7Z0JBQ1IsR0FBRyxPQUFPO2dCQUNWLG1FQUFtRTtnQkFDbkUsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLDBCQUEwQixDQUFDLEdBQUc7Z0JBRXhELGFBQWEsRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDOUIsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7Z0JBQzVDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDdkIsWUFBWSxFQUFFLElBQUk7YUFDbkIsRUFDRCxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUNoRyxDQUFDO1lBRUYsTUFBTSxPQUFPLEdBQXlDO2dCQUNwRCxDQUFDLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUEsY0FBYyxNQUFNLENBQUMsSUFBSSwrQ0FBK0MsRUFBRSxDQUFDLElBQUksZ0pBQWdKO2FBQ3RSLENBQUM7WUFFRixJQUFJLGtCQUFrQixJQUFJLGNBQWMsRUFBRSxrQ0FBa0M7Z0JBQzFFLE9BQU8sQ0FBQyxHQUFHLElBQUksdUJBQXVCLENBQUM7b0JBQ3JDLE1BQU0sQ0FBQyxXQUFXLENBQUEsY0FBYyxNQUFNLENBQUMsSUFBSSwrQ0FBK0MsRUFBRSxDQUFDLElBQUksaUVBQWlFLGtCQUFrQixFQUFFLFdBQVcsc0dBQXNHLENBQUM7WUFFNVMsSUFBSSxDQUFDLGNBQWMsRUFBRSx5QkFBeUIsRUFBRSxDQUFDO2dCQUMvQyxPQUFPLENBQUMsR0FBRyxJQUFJLG9CQUFvQixDQUFDO29CQUNsQyxNQUFNLENBQUMsV0FBVyxDQUFBLGNBQWMsTUFBTSxDQUFDLElBQUksK0NBQStDLEVBQUUsQ0FBQyxJQUFJLGFBQWEsTUFBTSxDQUFDLGtCQUFrQixjQUFjLFFBQVEsQ0FBQyxLQUFLLHNHQUFzRyxDQUFDO1lBQzlRLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxjQUFjLEVBQUUsb0JBQW9CLENBQUM7WUFDbEQsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUM5QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFBLGNBQWMsTUFBTSxDQUFDLElBQUksK0NBQStDLEVBQUUsQ0FBQyxJQUFJLGlFQUFpRSxJQUFJLENBQUMsQ0FBQyxDQUFDLHNHQUFzRyxDQUFDO29CQUM3UixPQUFPLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTFWRCxzQkEwVkMifQ==
|
package/database/MySql.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as mysql from '@pulumi/azure-native/dbformysql';
|
|
2
2
|
import * as pulumi from '@pulumi/pulumi';
|
|
3
|
-
import {
|
|
3
|
+
import { BaseResourceComponent, CommonBaseArgs } from '../base';
|
|
4
4
|
import * as types from '../types';
|
|
5
|
-
export interface MySqlArgs extends
|
|
5
|
+
export interface MySqlArgs extends CommonBaseArgs, types.WithEncryptionEnabler, 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
|
@@ -64,7 +64,7 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
createMySql(uid) {
|
|
67
|
-
const { rsGroup, enableEncryption, administratorLogin, lock } = this.args;
|
|
67
|
+
const { rsGroup, enableResourceIdentity, enableEncryption, administratorLogin, lock } = this.args;
|
|
68
68
|
const adminLogin = administratorLogin ?? pulumi.interpolate `${this.name}-admin-${this.createRandomString().value}`;
|
|
69
69
|
const password = this.createPassword();
|
|
70
70
|
const encryptionKey = enableEncryption ? this.getEncryptionKey() : undefined;
|
|
@@ -76,10 +76,12 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
76
76
|
administratorLoginPassword: password.value,
|
|
77
77
|
version: this.args.version ?? mysql.ServerVersion.ServerVersion_8_0_21,
|
|
78
78
|
storage: this.args.storage ?? { storageSizeGB: 30 },
|
|
79
|
-
identity:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
identity: enableResourceIdentity
|
|
80
|
+
? {
|
|
81
|
+
type: mysql.ManagedServiceIdentityType.UserAssigned,
|
|
82
|
+
userAssignedIdentities: [uid.id],
|
|
83
|
+
}
|
|
84
|
+
: undefined,
|
|
83
85
|
dataEncryption: encryptionKey
|
|
84
86
|
? {
|
|
85
87
|
type: mysql.DataEncryptionType.AzureKeyVault,
|
|
@@ -88,26 +90,26 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
88
90
|
}
|
|
89
91
|
: { type: 'SystemManaged' },
|
|
90
92
|
maintenanceWindow: this.args.sku.tier !== 'Burstable'
|
|
91
|
-
? this.args.maintenanceWindow ?? {
|
|
93
|
+
? (this.args.maintenanceWindow ?? {
|
|
92
94
|
customWindow: 'Enabled',
|
|
93
95
|
dayOfWeek: 0, //0 is Sunday
|
|
94
96
|
startHour: 0,
|
|
95
97
|
startMinute: 0,
|
|
96
|
-
}
|
|
98
|
+
})
|
|
97
99
|
: undefined,
|
|
98
100
|
backup: this.args.backup ?? {
|
|
99
101
|
geoRedundantBackup: helpers_1.azureEnv.isPrd ? 'Enabled' : 'Disabled',
|
|
100
102
|
backupRetentionDays: helpers_1.azureEnv.isPrd ? 30 : 7,
|
|
101
103
|
},
|
|
102
104
|
highAvailability: this.args.sku.tier !== 'Burstable'
|
|
103
|
-
? this.args.highAvailability ?? {
|
|
105
|
+
? (this.args.highAvailability ?? {
|
|
104
106
|
mode: helpers_1.azureEnv.isPrd ? 'ZoneRedundant' : 'SameZone',
|
|
105
107
|
standbyAvailabilityZone: helpers_1.azureEnv.isPrd ? '3' : '1',
|
|
106
|
-
}
|
|
108
|
+
})
|
|
107
109
|
: undefined,
|
|
108
|
-
availabilityZone: this.args.availabilityZone ?? helpers_1.azureEnv.isPrd ? '3' : '1',
|
|
110
|
+
availabilityZone: (this.args.availabilityZone ?? helpers_1.azureEnv.isPrd) ? '3' : '1',
|
|
109
111
|
network: {
|
|
110
|
-
publicNetworkAccess: this.args.network?.publicNetworkAccess ?? this.args.network?.privateLink ? 'Disabled' : 'Enabled',
|
|
112
|
+
publicNetworkAccess: (this.args.network?.publicNetworkAccess ?? this.args.network?.privateLink) ? 'Disabled' : 'Enabled',
|
|
111
113
|
},
|
|
112
114
|
}, {
|
|
113
115
|
...this.opts,
|
|
@@ -195,4 +197,4 @@ class MySql extends base_1.BaseResourceComponent {
|
|
|
195
197
|
}
|
|
196
198
|
}
|
|
197
199
|
exports.MySql = MySql;
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvTXlTcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUVBQXlEO0FBQ3pELHVEQUF5QztBQUN6QyxrQ0FBK0M7QUFDL0Msa0NBQWdFO0FBQ2hFLHdDQUFzQztBQUV0Qyw4Q0FBZ0M7QUFDaEMsdUNBQTZDO0FBNkI3QyxNQUFhLEtBQU0sU0FBUSw0QkFBZ0M7SUFDekMsRUFBRSxDQUF3QjtJQUMxQixZQUFZLENBQXdCO0lBRXBELFlBQVksSUFBWSxFQUFFLElBQWUsRUFBRSxJQUFzQztRQUMvRSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFakMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUVoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsRUFBRSxFQUFF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
|
package/database/Postgres.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as postgresql from '@pulumi/azure-native/dbforpostgresql';
|
|
2
2
|
import * as pulumi from '@pulumi/pulumi';
|
|
3
|
-
import {
|
|
3
|
+
import { BaseResourceComponent, CommonBaseArgs } from '../base';
|
|
4
4
|
import * as types from '../types';
|
|
5
|
-
export interface PostgresArgs extends
|
|
5
|
+
export interface PostgresArgs extends CommonBaseArgs, types.WithEncryptionEnabler, 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>;
|
package/database/Postgres.js
CHANGED
|
@@ -62,7 +62,7 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
createPostgres() {
|
|
65
|
-
const { rsGroup, enableEncryption, administratorLogin, enableAzureADAdmin, enablePasswordAuth, lock } = this.args;
|
|
65
|
+
const { rsGroup, enableResourceIdentity, 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;
|
|
@@ -74,10 +74,12 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
74
74
|
administratorLogin: adminLogin,
|
|
75
75
|
administratorLoginPassword: password.value,
|
|
76
76
|
storage: this.args.storage ?? { storageSizeGB: 32 },
|
|
77
|
-
identity:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
identity: enableResourceIdentity
|
|
78
|
+
? {
|
|
79
|
+
type: postgresql.IdentityType.UserAssigned,
|
|
80
|
+
userAssignedIdentities: pulumi.output(uAssignedId.id).apply((id) => ({ [id]: {} })),
|
|
81
|
+
}
|
|
82
|
+
: undefined,
|
|
81
83
|
dataEncryption: encryptionKey?.id
|
|
82
84
|
? {
|
|
83
85
|
type: postgresql.DataEncryptionType.AzureKeyVault,
|
|
@@ -101,14 +103,14 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
101
103
|
backupRetentionDays: helpers_1.azureEnv.isPrd ? 30 : 7,
|
|
102
104
|
},
|
|
103
105
|
highAvailability: this.args.sku?.tier !== 'Burstable'
|
|
104
|
-
? this.args.highAvailability ?? {
|
|
106
|
+
? (this.args.highAvailability ?? {
|
|
105
107
|
mode: helpers_1.azureEnv.isPrd ? 'ZoneRedundant' : 'SameZone',
|
|
106
108
|
standbyAvailabilityZone: helpers_1.azureEnv.isPrd ? '3' : '1',
|
|
107
|
-
}
|
|
109
|
+
})
|
|
108
110
|
: undefined,
|
|
109
|
-
availabilityZone: this.args.availabilityZone ?? helpers_1.azureEnv.isPrd ? '3' : '1',
|
|
111
|
+
availabilityZone: (this.args.availabilityZone ?? helpers_1.azureEnv.isPrd) ? '3' : '1',
|
|
110
112
|
network: {
|
|
111
|
-
publicNetworkAccess: this.args.network?.publicNetworkAccess ?? this.args.network?.privateLink ? 'Disabled' : 'Enabled',
|
|
113
|
+
publicNetworkAccess: (this.args.network?.publicNetworkAccess ?? this.args.network?.privateLink) ? 'Disabled' : 'Enabled',
|
|
112
114
|
},
|
|
113
115
|
}, {
|
|
114
116
|
...this.opts,
|
|
@@ -180,4 +182,4 @@ class Postgres extends base_1.BaseResourceComponent {
|
|
|
180
182
|
}
|
|
181
183
|
}
|
|
182
184
|
exports.Postgres = Postgres;
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdGdyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvUG9zdGdyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUZBQW1FO0FBQ25FLHVEQUF5QztBQUN6QyxrQ0FBK0M7QUFDL0Msa0NBQWdFO0FBQ2hFLHdDQUFzQztBQUV0Qyw4Q0FBZ0M7QUFDaEMsdUNBQTZDO0FBNEI3QyxNQUFhLFFBQVMsU0FBUSw0QkFBbUM7SUFDL0MsRUFBRSxDQUF3QjtJQUMxQixZQUFZLENBQXdCO0lBRXBELFlBQVksSUFBWSxFQUFFLElBQWtCLEVBQUUsSUFBc0M7UUFDbEYsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sRUFDSixPQUFPLEVB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
|