@drunk-pulumi/azure-components 1.0.4 → 1.0.5
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/ResourceBuilder.d.ts +5 -5
- package/ResourceBuilder.js +9 -8
- package/aks/AzKubernetes.d.ts +35 -12
- package/aks/AzKubernetes.js +216 -124
- package/aks/ContainerRegistry.js +2 -1
- package/aks/helpers.d.ts +6 -0
- package/aks/helpers.js +26 -5
- package/aks/types.d.ts +245 -0
- package/aks/types.js +3 -0
- package/apim/Apim.d.ts +6 -3
- package/apim/Apim.js +18 -16
- package/app/AppContainer.d.ts +91 -0
- package/app/AppContainer.js +141 -0
- package/app/AppContainerEnv.d.ts +68 -0
- package/app/AppContainerEnv.js +142 -0
- package/app/index.d.ts +2 -0
- package/app/index.js +3 -1
- package/azAd/AppRegistration.d.ts +9 -12
- package/azAd/AppRegistration.js +15 -12
- package/azAd/CloudflareAzIdentity.d.ts +10 -0
- package/azAd/CloudflareAzIdentity.js +61 -0
- package/azAd/GroupRole.d.ts +1 -1
- package/azAd/GroupRole.js +4 -5
- package/azAd/UserAssignedIdentity.js +6 -6
- package/azAd/helpers/rsRoleDefinition.js +2 -7
- package/azAd/index.d.ts +1 -0
- package/azAd/index.js +2 -1
- package/base/BaseResourceComponent.d.ts +1 -1
- package/base/BaseResourceComponent.js +5 -5
- package/base/helpers.js +2 -2
- package/database/Redis.d.ts +1 -4
- package/database/Redis.js +12 -4
- package/database/helpers.js +3 -3
- package/helpers/autoTags.js +4 -1
- package/helpers/index.d.ts +1 -0
- package/helpers/index.js +3 -2
- package/helpers/stackEnv.d.ts +2 -1
- package/helpers/stackEnv.js +4 -3
- package/helpers/zoneHelper.d.ts +24 -0
- package/helpers/zoneHelper.js +40 -0
- package/logs/Logs.d.ts +6 -16
- package/logs/Logs.js +4 -5
- package/package.json +7 -6
- package/services/ServiceBus.js +2 -1
- package/storage/StorageAccount.d.ts +4 -7
- package/storage/StorageAccount.js +16 -13
- package/types.d.ts +14 -3
- package/vault/helpers.d.ts +7 -4
- package/vault/helpers.js +11 -4
- package/vm/DiskEncryptionSet.js +3 -1
- package/vm/VirtualMachine.d.ts +5 -0
- package/vm/VirtualMachine.js +156 -41
- package/vnet/Basion.js +3 -1
- package/vnet/Firewall.d.ts +8 -13
- package/vnet/Firewall.js +8 -6
- package/vnet/FirewallPolicies/FirewallPolicyBuilder.js +24 -6
- package/vnet/FirewallPolicies/commonPolicies.d.ts +29 -2
- package/vnet/FirewallPolicies/commonPolicies.js +466 -20
- package/vnet/FirewallPolicies/index.d.ts +2 -0
- package/vnet/FirewallPolicies/index.js +18 -1
- package/vnet/IpAddresses.d.ts +1 -1
- package/vnet/IpAddresses.js +3 -2
- package/vnet/PrivateDnsZone.d.ts +4 -4
- package/vnet/PrivateDnsZone.js +17 -17
- package/vnet/PrivateEndpoint.d.ts +2 -5
- package/vnet/PrivateEndpoint.js +6 -1
- package/vnet/VirtualNetwork.d.ts +11 -5
- package/vnet/VirtualNetwork.js +31 -9
- package/vnet/helpers.d.ts +2 -0
- package/vnet/helpers.js +40 -2
|
@@ -34,11 +34,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.StorageAccount = void 0;
|
|
37
|
-
const storage = __importStar(require("@pulumi/azure-native/storage"));
|
|
38
37
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
39
|
-
const
|
|
38
|
+
const storage = __importStar(require("@pulumi/azure-native/storage"));
|
|
40
39
|
const vault = __importStar(require("../vault"));
|
|
41
40
|
const vnet = __importStar(require("../vnet"));
|
|
41
|
+
const base_1 = require("../base");
|
|
42
42
|
class StorageAccount extends base_1.BaseResourceComponent {
|
|
43
43
|
rsGroup;
|
|
44
44
|
id;
|
|
@@ -117,7 +117,9 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
117
117
|
publicNetworkAccess: network?.privateLink ? 'Disabled' : 'Enabled',
|
|
118
118
|
networkRuleSet: {
|
|
119
119
|
bypass: args.network?.bypass ?? 'None',
|
|
120
|
-
defaultAction: args.network?.
|
|
120
|
+
defaultAction: args.network?.ipRules || args.network?.vnetRules
|
|
121
|
+
? storage.DefaultAction.Deny
|
|
122
|
+
: (args.network?.defaultAction ?? storage.DefaultAction.Allow),
|
|
121
123
|
ipRules: args.network?.ipRules
|
|
122
124
|
? pulumi.output(args.network.ipRules).apply((ips) => ips.map((i) => ({
|
|
123
125
|
iPAddressOrRange: i,
|
|
@@ -134,6 +136,7 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
134
136
|
}, {
|
|
135
137
|
...opts,
|
|
136
138
|
dependsOn: encryptionKey,
|
|
139
|
+
parent: this,
|
|
137
140
|
});
|
|
138
141
|
this.createPrivateLink(stg);
|
|
139
142
|
this.createLifeCycleManagement(stg);
|
|
@@ -164,7 +167,7 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
164
167
|
rsGroup: this.args.rsGroup,
|
|
165
168
|
type: 'storage',
|
|
166
169
|
storageType: t,
|
|
167
|
-
}, { dependsOn: stg, parent: this }));
|
|
170
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this }));
|
|
168
171
|
}
|
|
169
172
|
createLifeCycleManagement(stg) {
|
|
170
173
|
const { rsGroup, policies } = this.args;
|
|
@@ -174,7 +177,7 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
174
177
|
accountName: stg.name,
|
|
175
178
|
blobServicesName: 'default',
|
|
176
179
|
...policies.blob,
|
|
177
|
-
}, { dependsOn: stg, parent: this });
|
|
180
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this });
|
|
178
181
|
}
|
|
179
182
|
if (policies?.defaultManagementPolicyRules) {
|
|
180
183
|
return new storage.ManagementPolicy(`${this.name}-lifecycle`, {
|
|
@@ -184,7 +187,7 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
184
187
|
policy: {
|
|
185
188
|
rules: policies.defaultManagementPolicyRules,
|
|
186
189
|
},
|
|
187
|
-
}, { dependsOn: stg, parent: this });
|
|
190
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this });
|
|
188
191
|
}
|
|
189
192
|
}
|
|
190
193
|
enableStaticWebsite(stg) {
|
|
@@ -196,13 +199,13 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
196
199
|
accountName: stg.name,
|
|
197
200
|
indexDocument: 'index.html',
|
|
198
201
|
error404Document: 'index.html',
|
|
199
|
-
}, { dependsOn: stg, parent: this });
|
|
202
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this });
|
|
200
203
|
if (policies.staticWebsite.endpoint) {
|
|
201
204
|
new vnet.AzCdn(`${this.name}-cdn`, {
|
|
202
205
|
endpoint: policies.staticWebsite.endpoint,
|
|
203
206
|
rsGroup: policies.staticWebsite.existingProfile?.rsGroup ?? this.args.rsGroup,
|
|
204
207
|
existingProfile: policies.staticWebsite.existingProfile,
|
|
205
|
-
}, { dependsOn: [stg, staticWeb], parent: this });
|
|
208
|
+
}, { dependsOn: [stg, staticWeb], deletedWith: stg, parent: this });
|
|
206
209
|
}
|
|
207
210
|
}
|
|
208
211
|
addSecretsToVault(stg) {
|
|
@@ -229,7 +232,7 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
229
232
|
return new vault.VaultSecrets(this.name, {
|
|
230
233
|
vaultInfo,
|
|
231
234
|
secrets,
|
|
232
|
-
}, { dependsOn: stg, parent: this });
|
|
235
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this });
|
|
233
236
|
});
|
|
234
237
|
});
|
|
235
238
|
}
|
|
@@ -242,20 +245,20 @@ class StorageAccount extends base_1.BaseResourceComponent {
|
|
|
242
245
|
...rsGroup,
|
|
243
246
|
accountName: stg.name,
|
|
244
247
|
publicAccess: c.isPublic ? 'Blob' : 'None',
|
|
245
|
-
}, { dependsOn: stg, parent: this }));
|
|
248
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this }));
|
|
246
249
|
//Create Queues
|
|
247
250
|
containers.queues?.map((q) => new storage.Queue(q, {
|
|
248
251
|
queueName: q.toLowerCase(),
|
|
249
252
|
accountName: stg.name,
|
|
250
253
|
...rsGroup,
|
|
251
|
-
}, { dependsOn: stg, parent: this }));
|
|
254
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this }));
|
|
252
255
|
//File Share
|
|
253
256
|
containers.fileShares?.map((s) => new storage.FileShare(s, {
|
|
254
257
|
shareName: s.toLowerCase(),
|
|
255
258
|
accountName: stg.name,
|
|
256
259
|
...rsGroup,
|
|
257
|
-
}, { dependsOn: stg, parent: this }));
|
|
260
|
+
}, { dependsOn: stg, deletedWith: stg, parent: this }));
|
|
258
261
|
}
|
|
259
262
|
}
|
|
260
263
|
exports.StorageAccount = StorageAccount;
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9TdG9yYWdlQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzRUFBd0Q7QUFFeEQsdURBQXlDO0FBQ3pDLGtDQUFnRTtBQUVoRSxnREFBa0M7QUFDbEMsOENBQWdDO0FBNENoQyxNQUFhLGNBQWUsU0FBUSw0QkFBeUM7SUFDM0QsT0FBTyxDQUE0QjtJQUNuQyxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBd0IsRUFBRSxJQUFzQztRQUN4RixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FDOUcsSUFBSSxDQUFDO1FBRVAsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFN0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUNwQyxJQUFJLEVBQ0o7WUFDRSxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsR0FBRyxLQUFLO1lBRVIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUztZQUM1QixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQy9DO1lBRUQsc0JBQXNCLEVBQUUsSUFBSTtZQUM1QiwyQkFBMkIsRUFBRSxLQUFLO1lBQ2xD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
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9TdG9yYWdlQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx1REFBeUM7QUFDekMsc0VBQXdEO0FBRXhELGdEQUFrQztBQUNsQyw4Q0FBZ0M7QUFFaEMsa0NBQWdFO0FBNkNoRSxNQUFhLGNBQWUsU0FBUSw0QkFBeUM7SUFDM0QsT0FBTyxDQUE0QjtJQUNuQyxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBd0IsRUFBRSxJQUFzQztRQUN4RixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FDOUcsSUFBSSxDQUFDO1FBRVAsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFN0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUNwQyxJQUFJLEVBQ0o7WUFDRSxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsR0FBRyxLQUFLO1lBRVIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUztZQUM1QixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQy9DO1lBRUQsc0JBQXNCLEVBQUUsSUFBSTtZQUM1QiwyQkFBMkIsRUFBRSxLQUFLO1lBQ2xD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
|
package/types.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ import { PrivateEndpointType } from './vnet';
|
|
|
3
3
|
export type DnsRecordTypes = 'A' | 'AAAA' | 'CNAME' | 'MX' | 'NS' | 'PTR' | 'SOA' | 'SRV' | 'TXT' | 'CAA';
|
|
4
4
|
export type GroupRoleTypes = 'admin' | 'contributor' | 'readOnly';
|
|
5
5
|
export type CommonProps = 'rsGroup' | 'groupRoles' | 'vaultInfo' | 'resourceGroupName' | 'location' | 'resourceName' | 'tags';
|
|
6
|
-
type AsInput<T> = {
|
|
6
|
+
export type AsInput<T> = {
|
|
7
7
|
[K in keyof T]: T[K] extends object ? T[K] extends Array<any> ? pulumi.Input<NonNullable<T[K]>> : AsInput<NonNullable<T[K]>> : pulumi.Input<NonNullable<T[K]>>;
|
|
8
8
|
};
|
|
9
|
-
type AsOutput<T> = {
|
|
9
|
+
export type AsOutput<T> = {
|
|
10
10
|
[K in keyof T]: T[K] extends object ? T[K] extends Array<any> ? pulumi.Output<NonNullable<T[K]>> : AsOutput<NonNullable<T[K]>> : pulumi.Output<NonNullable<T[K]>>;
|
|
11
11
|
};
|
|
12
12
|
export type WithName = {
|
|
@@ -56,6 +56,13 @@ export type WithMemberOfArgs = {
|
|
|
56
56
|
objectId: string;
|
|
57
57
|
}>[];
|
|
58
58
|
};
|
|
59
|
+
export type IdentityType = {
|
|
60
|
+
id: string;
|
|
61
|
+
clientId: string;
|
|
62
|
+
objectId: string;
|
|
63
|
+
};
|
|
64
|
+
export type IdentityInputs = AsInput<IdentityType>;
|
|
65
|
+
export type IdentityOutputs = AsOutput<IdentityType>;
|
|
59
66
|
export type UserAssignedIdentityType = {
|
|
60
67
|
id: string;
|
|
61
68
|
clientId: string;
|
|
@@ -87,6 +94,11 @@ export interface GroupRoleOutput {
|
|
|
87
94
|
objectId: string;
|
|
88
95
|
displayName: string;
|
|
89
96
|
}
|
|
97
|
+
export type GroupRoleInputTypes = {
|
|
98
|
+
admin: pulumi.Input<GroupRoleOutput>;
|
|
99
|
+
contributor: pulumi.Input<GroupRoleOutput>;
|
|
100
|
+
readOnly: pulumi.Input<GroupRoleOutput>;
|
|
101
|
+
};
|
|
90
102
|
export type GroupRoleOutputTypes = {
|
|
91
103
|
admin: pulumi.Output<GroupRoleOutput>;
|
|
92
104
|
contributor: pulumi.Output<GroupRoleOutput>;
|
|
@@ -151,4 +163,3 @@ export type GrantIdentityRoles = {
|
|
|
151
163
|
} | undefined>;
|
|
152
164
|
resource: ResourceInputs;
|
|
153
165
|
};
|
|
154
|
-
export {};
|
package/vault/helpers.d.ts
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import * as pulumi from '@pulumi/pulumi';
|
|
2
|
-
import
|
|
2
|
+
import * as types from '../types';
|
|
3
3
|
import { KeyVaultCertificateWithPolicy } from '@azure/keyvault-certificates';
|
|
4
|
+
import { KeyVaultKey } from '@azure/keyvault-keys';
|
|
4
5
|
import { KeyVaultSecret } from '@azure/keyvault-secrets';
|
|
5
|
-
import { ResourceType } from '../types';
|
|
6
6
|
export declare function getSecretName(name: string): string;
|
|
7
7
|
export type GetVaultItemArgs = {
|
|
8
8
|
name: string;
|
|
9
9
|
version?: string;
|
|
10
|
-
vaultInfo: ResourceType;
|
|
10
|
+
vaultInfo: types.ResourceType;
|
|
11
11
|
};
|
|
12
|
-
export type GetVaultItemArgsInputs =
|
|
12
|
+
export type GetVaultItemArgsInputs = types.AsInput<GetVaultItemArgs>;
|
|
13
13
|
export declare const getKey: ({ name, version, vaultInfo }: GetVaultItemArgs) => Promise<KeyVaultKey | undefined>;
|
|
14
14
|
export declare const getKeyOutput: (args: GetVaultItemArgsInputs) => pulumi.Output<KeyVaultKey | undefined>;
|
|
15
15
|
export declare const getCert: ({ name, vaultInfo }: GetVaultItemArgs) => Promise<KeyVaultCertificateWithPolicy | undefined>;
|
|
16
16
|
export declare const getCertOutput: (args: GetVaultItemArgsInputs) => pulumi.Output<KeyVaultCertificateWithPolicy | undefined>;
|
|
17
17
|
export declare const getSecret: ({ name, version, vaultInfo }: GetVaultItemArgs) => Promise<KeyVaultSecret | undefined>;
|
|
18
18
|
export declare const getSecretOutput: (args: GetVaultItemArgsInputs) => pulumi.Output<KeyVaultSecret | undefined>;
|
|
19
|
+
export declare const getVaultId: ({ name, version, vaultInfo, type, }: types.AsInput<GetVaultItemArgs> & {
|
|
20
|
+
type: "secrets" | "keys" | "certificates";
|
|
21
|
+
}) => pulumi.Output<string>;
|
package/vault/helpers.js
CHANGED
|
@@ -36,12 +36,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.getSecretOutput = exports.getSecret = exports.getCertOutput = exports.getCert = exports.getKeyOutput = exports.getKey = void 0;
|
|
39
|
+
exports.getVaultId = exports.getSecretOutput = exports.getSecret = exports.getCertOutput = exports.getCert = exports.getKeyOutput = exports.getKey = void 0;
|
|
40
40
|
exports.getSecretName = getSecretName;
|
|
41
|
-
const helpers_1 = require("../helpers");
|
|
42
41
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
43
|
-
const
|
|
42
|
+
const helpers_1 = require("../helpers");
|
|
44
43
|
const lodash_1 = __importDefault(require("lodash"));
|
|
44
|
+
const KeyVaultBase_1 = __importDefault(require("@drunk-pulumi/azure-providers/AzBase/KeyVaultBase"));
|
|
45
45
|
function getSecretName(name) {
|
|
46
46
|
const sanitizedStack = lodash_1.default.escapeRegExp(helpers_1.stackInfo.stack);
|
|
47
47
|
const n = name.replace(new RegExp(sanitizedStack, 'g'), ''); // Replace occurrences of "stack" variable with "-"
|
|
@@ -59,4 +59,11 @@ const getSecret = ({ name, version, vaultInfo }) => (0, KeyVaultBase_1.default)(
|
|
|
59
59
|
exports.getSecret = getSecret;
|
|
60
60
|
const getSecretOutput = (args) => pulumi.output(args).apply(exports.getSecret);
|
|
61
61
|
exports.getSecretOutput = getSecretOutput;
|
|
62
|
-
|
|
62
|
+
const getVaultId = ({ name, version, vaultInfo, type, }) => {
|
|
63
|
+
const vaultUrl = pulumi.interpolate `https://${vaultInfo.resourceName}.vault.azure.net`;
|
|
64
|
+
return version
|
|
65
|
+
? pulumi.interpolate `${vaultUrl}/${type}/${name}/${version}`
|
|
66
|
+
: pulumi.interpolate `${vaultUrl}/${type}/${name}`;
|
|
67
|
+
};
|
|
68
|
+
exports.getVaultId = getVaultId;
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YXVsdC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVdBLHNDQUtDO0FBaEJELHVEQUF5QztBQUd6Qyx3Q0FBa0Q7QUFLbEQsb0RBQXVCO0FBQ3ZCLHFHQUFnRjtBQUVoRixTQUFnQixhQUFhLENBQUMsSUFBWTtJQUN4QyxNQUFNLGNBQWMsR0FBRyxnQkFBQyxDQUFDLFlBQVksQ0FBQyxtQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EO0lBRWhILE9BQU8sbUJBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBS00sTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFvQixFQUFvQyxFQUFFLENBQ3pHLElBQUEsc0JBQWUsRUFBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQURuRCxRQUFBLE1BQU0sVUFDNkM7QUFFekQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUE0QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFNLENBQUMsQ0FBQztBQUFuRixRQUFBLFlBQVksZ0JBQXVFO0FBRXpGLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFvQixFQUFzRCxFQUFFLENBQ25ILElBQUEsc0JBQWUsRUFBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRDNDLFFBQUEsT0FBTyxXQUNvQztBQUVqRCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQTRCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQU8sQ0FBQyxDQUFDO0FBQXJGLFFBQUEsYUFBYSxpQkFBd0U7QUFFM0YsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFvQixFQUF1QyxFQUFFLENBQy9HLElBQUEsc0JBQWUsRUFBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUR0RCxRQUFBLFNBQVMsYUFDNkM7QUFFNUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUE0QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxpQkFBUyxDQUFDLENBQUM7QUFBekYsUUFBQSxlQUFlLG1CQUEwRTtBQUUvRixNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQ3pCLElBQUksRUFDSixPQUFPLEVBQ1AsU0FBUyxFQUNULElBQUksR0FDNEUsRUFBRSxFQUFFO0lBQ3BGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUEsV0FBVyxTQUFTLENBQUMsWUFBWSxrQkFBa0IsQ0FBQztJQUN2RixPQUFPLE9BQU87UUFDWixDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQSxHQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLE9BQU8sRUFBRTtRQUM1RCxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQSxHQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7QUFDdEQsQ0FBQyxDQUFDO0FBVlcsUUFBQSxVQUFVLGNBVXJCIn0=
|
package/vm/DiskEncryptionSet.js
CHANGED
|
@@ -56,6 +56,8 @@ class DiskEncryptionSet extends base_1.BaseResourceComponent {
|
|
|
56
56
|
activeKey: { keyUrl: encryptionKey.id },
|
|
57
57
|
}, {
|
|
58
58
|
...opts,
|
|
59
|
+
deleteBeforeReplace: true,
|
|
60
|
+
replaceOnChanges: ['encryptionType'],
|
|
59
61
|
parent: this,
|
|
60
62
|
});
|
|
61
63
|
this.addIdentityToRole('readOnly', diskEncrypt.identity);
|
|
@@ -71,4 +73,4 @@ class DiskEncryptionSet extends base_1.BaseResourceComponent {
|
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
exports.DiskEncryptionSet = DiskEncryptionSet;
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlza0VuY3J5cHRpb25TZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdm0vRGlza0VuY3J5cHRpb25TZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQXdEO0FBRXhELGtDQUFnRTtBQVFoRSxNQUFhLGlCQUFrQixTQUFRLDRCQUE0QztJQUNqRSxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBMkIsRUFBRSxJQUFzQztRQUMzRixLQUFLLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3QyxNQUFNLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUU3RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FDL0MsSUFBSSxFQUNKO1lBQ0UsR0FBRyxPQUFPO1lBQ1YsaUNBQWlDLEVBQy9CLGNBQWMsS0FBSyxPQUFPLENBQUMscUJBQXFCLENBQUMsc0NBQXNDO1lBQ3pGLGNBQWMsRUFBRSxjQUFjLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLDJDQUEyQztZQUMzRyxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLGtCQUFrQjtvQkFDdEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQywyQkFBMkI7b0JBQzFELENBQUMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsY0FBYztnQkFDL0Msc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDakY7WUFDRCxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRTtTQUN4QyxFQUNEO1lBQ0UsR0FBRyxJQUFJO1lBQ1AsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixnQkFBZ0IsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1lBQ3BDLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLEVBQUUsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUVyQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEvQ0QsOENBK0NDIn0=
|
package/vm/VirtualMachine.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as compute from '@pulumi/azure-native/compute';
|
|
2
|
+
import * as mnc from '@pulumi/azure-native/maintenance';
|
|
2
3
|
import * as nw from '@pulumi/azure-native/network';
|
|
3
4
|
import * as inputs from '@pulumi/azure-native/types/input';
|
|
4
5
|
import * as pulumi from '@pulumi/pulumi';
|
|
@@ -10,6 +11,7 @@ export type VmScheduleType = {
|
|
|
10
11
|
/** The format is ISO 8601 Standard ex: 2200 */
|
|
11
12
|
autoShutdownTime: pulumi.Input<string>;
|
|
12
13
|
/** The format is ISO 8601 Standard ex: 0900 */
|
|
14
|
+
autoStartTime?: pulumi.Input<string>;
|
|
13
15
|
emailNotification?: string[];
|
|
14
16
|
webHook?: pulumi.Input<string>;
|
|
15
17
|
};
|
|
@@ -30,6 +32,7 @@ export interface VirtualMachineArgs extends CommonBaseArgs, types.WithUserAssign
|
|
|
30
32
|
name: string;
|
|
31
33
|
}>;
|
|
32
34
|
lock?: boolean;
|
|
35
|
+
maintenance?: Partial<Pick<mnc.MaintenanceConfigurationArgs, 'recurEvery' | 'maintenanceScope'>> | false;
|
|
33
36
|
}
|
|
34
37
|
export declare class VirtualMachine extends BaseResourceComponent<VirtualMachineArgs> {
|
|
35
38
|
readonly id: pulumi.Output<string>;
|
|
@@ -39,8 +42,10 @@ export declare class VirtualMachine extends BaseResourceComponent<VirtualMachine
|
|
|
39
42
|
id: pulumi.Output<string>;
|
|
40
43
|
resourceName: pulumi.Output<string>;
|
|
41
44
|
};
|
|
45
|
+
private createVM;
|
|
42
46
|
private createCredentials;
|
|
43
47
|
private createNetworkInterface;
|
|
44
48
|
private createSchedule;
|
|
45
49
|
private createExtensions;
|
|
50
|
+
private createMaintenance;
|
|
46
51
|
}
|
package/vm/VirtualMachine.js
CHANGED
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.VirtualMachine = void 0;
|
|
37
37
|
const compute = __importStar(require("@pulumi/azure-native/compute"));
|
|
38
|
+
const mnc = __importStar(require("@pulumi/azure-native/maintenance"));
|
|
38
39
|
const devtestlab = __importStar(require("@pulumi/azure-native/devtestlab"));
|
|
39
40
|
const nw = __importStar(require("@pulumi/azure-native/network"));
|
|
40
41
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
@@ -45,14 +46,33 @@ class VirtualMachine extends base_1.BaseResourceComponent {
|
|
|
45
46
|
resourceName;
|
|
46
47
|
constructor(name, args, opts) {
|
|
47
48
|
super('VirtualMachine', name, args, opts);
|
|
48
|
-
const
|
|
49
|
+
const vm = this.createVM();
|
|
50
|
+
this.createSchedule(vm);
|
|
51
|
+
this.createExtensions(vm);
|
|
52
|
+
this.createMaintenance(vm);
|
|
53
|
+
if (args.lock)
|
|
54
|
+
this.lockFromDeleting(vm);
|
|
55
|
+
this.id = vm.id;
|
|
56
|
+
this.resourceName = vm.name;
|
|
57
|
+
this.registerOutputs();
|
|
58
|
+
}
|
|
59
|
+
getOutputs() {
|
|
60
|
+
return {
|
|
61
|
+
id: this.id,
|
|
62
|
+
resourceName: this.resourceName,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
createVM() {
|
|
66
|
+
const { rsGroup, defaultUAssignedId, enableEncryption, osProfile, storageProfile, vaultInfo, diskEncryptionSet, lock, ...props } = this.args;
|
|
49
67
|
const keyEncryption = enableEncryption && !diskEncryptionSet ? this.getEncryptionKey({ name: 'key' }) : undefined;
|
|
50
68
|
const diskEncryption = enableEncryption && !diskEncryptionSet ? this.getEncryptionKey({ name: 'disk' }) : undefined;
|
|
51
69
|
const nic = this.createNetworkInterface();
|
|
52
70
|
const credential = this.createCredentials();
|
|
53
|
-
|
|
71
|
+
return new compute.VirtualMachine(this.name, {
|
|
54
72
|
...props,
|
|
55
73
|
...rsGroup,
|
|
74
|
+
//VM is not supported in all zones
|
|
75
|
+
//zones: zoneHelper.getDefaultZones(props.zones),
|
|
56
76
|
identity: {
|
|
57
77
|
type: defaultUAssignedId
|
|
58
78
|
? compute.ResourceIdentityType.SystemAssigned_UserAssigned
|
|
@@ -63,13 +83,39 @@ class VirtualMachine extends base_1.BaseResourceComponent {
|
|
|
63
83
|
networkInterfaces: [{ id: nic.id, primary: true }],
|
|
64
84
|
},
|
|
65
85
|
//az feature register --name EncryptionAtHost --namespace Microsoft.Compute
|
|
66
|
-
securityProfile:
|
|
67
|
-
|
|
68
|
-
|
|
86
|
+
securityProfile: enableEncryption
|
|
87
|
+
? (props.securityProfile ?? {
|
|
88
|
+
encryptionAtHost: true,
|
|
89
|
+
})
|
|
90
|
+
: undefined,
|
|
69
91
|
osProfile: {
|
|
70
92
|
...osProfile,
|
|
71
93
|
adminUsername: credential.login,
|
|
72
94
|
adminPassword: credential.pass,
|
|
95
|
+
windowsConfiguration: osProfile?.windowsConfiguration
|
|
96
|
+
? {
|
|
97
|
+
enableAutomaticUpdates: true,
|
|
98
|
+
patchSettings: {
|
|
99
|
+
assessmentMode: compute.WindowsPatchAssessmentMode.AutomaticByPlatform,
|
|
100
|
+
enableHotpatching: true,
|
|
101
|
+
automaticByPlatformSettings: {
|
|
102
|
+
bypassPlatformSafetyChecksOnUserSchedule: false,
|
|
103
|
+
rebootSetting: 'IfRequired',
|
|
104
|
+
},
|
|
105
|
+
patchMode: compute.WindowsVMGuestPatchMode.AutomaticByPlatform,
|
|
106
|
+
},
|
|
107
|
+
...osProfile.windowsConfiguration,
|
|
108
|
+
}
|
|
109
|
+
: undefined,
|
|
110
|
+
linuxConfiguration: osProfile?.linuxConfiguration
|
|
111
|
+
? {
|
|
112
|
+
patchSettings: {
|
|
113
|
+
patchMode: compute.LinuxVMGuestPatchMode.AutomaticByPlatform,
|
|
114
|
+
assessmentMode: compute.LinuxPatchAssessmentMode.AutomaticByPlatform,
|
|
115
|
+
},
|
|
116
|
+
...osProfile.linuxConfiguration,
|
|
117
|
+
}
|
|
118
|
+
: undefined,
|
|
73
119
|
},
|
|
74
120
|
storageProfile: {
|
|
75
121
|
...storageProfile,
|
|
@@ -97,14 +143,14 @@ class VirtualMachine extends base_1.BaseResourceComponent {
|
|
|
97
143
|
}
|
|
98
144
|
: undefined,
|
|
99
145
|
managedDisk: {
|
|
100
|
-
diskEncryptionSet: diskEncryptionSet
|
|
146
|
+
diskEncryptionSet: enableEncryption && diskEncryptionSet
|
|
101
147
|
? {
|
|
102
148
|
id: diskEncryptionSet.id,
|
|
103
149
|
}
|
|
104
150
|
: undefined,
|
|
105
151
|
securityProfile: storageProfile.securityEncryptionType
|
|
106
152
|
? {
|
|
107
|
-
diskEncryptionSet: diskEncryptionSet ? { id: diskEncryptionSet.id } : undefined,
|
|
153
|
+
diskEncryptionSet: enableEncryption && diskEncryptionSet ? { id: diskEncryptionSet.id } : undefined,
|
|
108
154
|
securityEncryptionType: storageProfile.securityEncryptionType,
|
|
109
155
|
}
|
|
110
156
|
: undefined,
|
|
@@ -115,14 +161,14 @@ class VirtualMachine extends base_1.BaseResourceComponent {
|
|
|
115
161
|
? storageProfile.dataDisks.map((d) => ({
|
|
116
162
|
...d,
|
|
117
163
|
managedDisk: {
|
|
118
|
-
diskEncryptionSet: diskEncryptionSet
|
|
164
|
+
diskEncryptionSet: enableEncryption && diskEncryptionSet
|
|
119
165
|
? {
|
|
120
166
|
id: diskEncryptionSet.id,
|
|
121
167
|
}
|
|
122
168
|
: undefined,
|
|
123
169
|
securityProfile: storageProfile.securityEncryptionType
|
|
124
170
|
? {
|
|
125
|
-
diskEncryptionSet: diskEncryptionSet ? { id: diskEncryptionSet.id } : undefined,
|
|
171
|
+
diskEncryptionSet: enableEncryption && diskEncryptionSet ? { id: diskEncryptionSet.id } : undefined,
|
|
126
172
|
securityEncryptionType: storageProfile.securityEncryptionType,
|
|
127
173
|
}
|
|
128
174
|
: undefined,
|
|
@@ -132,23 +178,10 @@ class VirtualMachine extends base_1.BaseResourceComponent {
|
|
|
132
178
|
: [],
|
|
133
179
|
},
|
|
134
180
|
}, {
|
|
135
|
-
...opts,
|
|
181
|
+
...this.opts,
|
|
136
182
|
protect: lock,
|
|
137
183
|
parent: this,
|
|
138
184
|
});
|
|
139
|
-
this.createSchedule(vm);
|
|
140
|
-
this.createExtensions(vm);
|
|
141
|
-
if (lock)
|
|
142
|
-
this.lockFromDeleting(vm);
|
|
143
|
-
this.id = vm.id;
|
|
144
|
-
this.resourceName = vm.name;
|
|
145
|
-
this.registerOutputs();
|
|
146
|
-
}
|
|
147
|
-
getOutputs() {
|
|
148
|
-
return {
|
|
149
|
-
id: this.id,
|
|
150
|
-
resourceName: this.resourceName,
|
|
151
|
-
};
|
|
152
185
|
}
|
|
153
186
|
createCredentials() {
|
|
154
187
|
const adminLogin = pulumi.interpolate `${this.name}-admin-${this.createRandomString({ type: 'string', length: 6 }).value}`.apply((s) => helpers_1.rsHelpers.removeDashes(s.substring(0, 20)));
|
|
@@ -170,23 +203,45 @@ class VirtualMachine extends base_1.BaseResourceComponent {
|
|
|
170
203
|
createSchedule(vm) {
|
|
171
204
|
const { rsGroup, schedule } = this.args;
|
|
172
205
|
if (!schedule)
|
|
173
|
-
return
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
206
|
+
return;
|
|
207
|
+
vm.name.apply((n) => {
|
|
208
|
+
if (schedule.autoShutdownTime) {
|
|
209
|
+
new devtestlab.GlobalSchedule(`shutdown-computevm-${n}`, {
|
|
210
|
+
...rsGroup,
|
|
211
|
+
name: `shutdown-computevm-${n}`,
|
|
212
|
+
dailyRecurrence: { time: schedule.autoShutdownTime },
|
|
213
|
+
timeZoneId: schedule.timeZone,
|
|
214
|
+
status: 'Enabled',
|
|
215
|
+
targetResourceId: vm.id,
|
|
216
|
+
taskType: 'ComputeVmShutdownTask',
|
|
217
|
+
notificationSettings: {
|
|
218
|
+
status: schedule.webHook || schedule.emailNotification ? 'Enabled' : 'Disabled',
|
|
219
|
+
emailRecipient: schedule.emailNotification?.join(';'),
|
|
220
|
+
notificationLocale: 'en',
|
|
221
|
+
timeInMinutes: 30,
|
|
222
|
+
webhookUrl: schedule.webHook,
|
|
223
|
+
},
|
|
224
|
+
}, { dependsOn: vm, parent: this, deleteBeforeReplace: true, deletedWith: vm });
|
|
225
|
+
}
|
|
226
|
+
if (schedule.autoStartTime) {
|
|
227
|
+
new devtestlab.GlobalSchedule(`startup-computevm-${n}`, {
|
|
228
|
+
...rsGroup,
|
|
229
|
+
name: `startup-computevm-${n}`,
|
|
230
|
+
dailyRecurrence: { time: schedule.autoStartTime },
|
|
231
|
+
timeZoneId: schedule.timeZone,
|
|
232
|
+
status: 'Enabled',
|
|
233
|
+
targetResourceId: vm.id,
|
|
234
|
+
taskType: 'ComputeVmStartupTask',
|
|
235
|
+
notificationSettings: {
|
|
236
|
+
status: schedule.webHook || schedule.emailNotification ? 'Enabled' : 'Disabled',
|
|
237
|
+
emailRecipient: schedule.emailNotification?.join(';'),
|
|
238
|
+
notificationLocale: 'en',
|
|
239
|
+
timeInMinutes: 30,
|
|
240
|
+
webhookUrl: schedule.webHook,
|
|
241
|
+
},
|
|
242
|
+
}, { dependsOn: vm, parent: this, deleteBeforeReplace: true, deletedWith: vm });
|
|
243
|
+
}
|
|
244
|
+
});
|
|
190
245
|
}
|
|
191
246
|
createExtensions(vm) {
|
|
192
247
|
const { rsGroup, extensions } = this.args;
|
|
@@ -199,6 +254,66 @@ class VirtualMachine extends base_1.BaseResourceComponent {
|
|
|
199
254
|
vmName: vm.name,
|
|
200
255
|
}, { dependsOn: vm, parent: this }));
|
|
201
256
|
}
|
|
257
|
+
createMaintenance(vm) {
|
|
258
|
+
const { rsGroup, maintenance, osProfile, schedule } = this.args;
|
|
259
|
+
if (maintenance === false)
|
|
260
|
+
return;
|
|
261
|
+
const tomorrow = new Date();
|
|
262
|
+
tomorrow.setDate(tomorrow.getDate() + 1);
|
|
263
|
+
const startDate = tomorrow.toISOString().split('T')[0];
|
|
264
|
+
const scope = maintenance?.maintenanceScope ?? mnc.MaintenanceScope.OSImage;
|
|
265
|
+
let duration = '04:00';
|
|
266
|
+
if (scope === mnc.MaintenanceScope.InGuestPatch) {
|
|
267
|
+
duration = '04:00';
|
|
268
|
+
}
|
|
269
|
+
else if (scope === mnc.MaintenanceScope.OSImage) {
|
|
270
|
+
duration = '08:00';
|
|
271
|
+
}
|
|
272
|
+
else if (scope === mnc.MaintenanceScope.Resource) {
|
|
273
|
+
duration = '05:00';
|
|
274
|
+
}
|
|
275
|
+
const config = new mnc.MaintenanceConfiguration(`${this.name}-maintenance`, {
|
|
276
|
+
...rsGroup,
|
|
277
|
+
maintenanceScope: scope,
|
|
278
|
+
installPatches: scope == mnc.MaintenanceScope.InGuestPatch
|
|
279
|
+
? {
|
|
280
|
+
windowsParameters: osProfile?.windowsConfiguration
|
|
281
|
+
? {
|
|
282
|
+
classificationsToInclude: ['Critical', 'Security', 'UpdateRollup', 'FeaturePack', 'ServicePack'],
|
|
283
|
+
excludeKbsRequiringReboot: false,
|
|
284
|
+
}
|
|
285
|
+
: undefined,
|
|
286
|
+
linuxParameters: osProfile?.linuxConfiguration
|
|
287
|
+
? {
|
|
288
|
+
classificationsToInclude: ['Critical', 'Security', 'UpdateRollup', 'FeaturePack', 'ServicePack'],
|
|
289
|
+
}
|
|
290
|
+
: undefined,
|
|
291
|
+
}
|
|
292
|
+
: undefined,
|
|
293
|
+
timeZone: schedule?.timeZone ?? 'Singapore Standard Time',
|
|
294
|
+
visibility: 'Custom',
|
|
295
|
+
startDateTime: `${startDate} 00:00`,
|
|
296
|
+
duration,
|
|
297
|
+
recurEvery: maintenance?.recurEvery ?? '1Week Saturday,Sunday',
|
|
298
|
+
extensionProperties: {
|
|
299
|
+
InGuestPatchMode: 'User',
|
|
300
|
+
},
|
|
301
|
+
}, {
|
|
302
|
+
dependsOn: vm,
|
|
303
|
+
parent: this,
|
|
304
|
+
deletedWith: vm,
|
|
305
|
+
deleteBeforeReplace: true,
|
|
306
|
+
replaceOnChanges: ['maintenanceScope'],
|
|
307
|
+
});
|
|
308
|
+
return new mnc.ConfigurationAssignment(`${this.name}-maintenance-assignment`, {
|
|
309
|
+
...rsGroup,
|
|
310
|
+
resourceName: vm.name,
|
|
311
|
+
maintenanceConfigurationId: config.id,
|
|
312
|
+
resourceId: vm.id,
|
|
313
|
+
resourceType: 'virtualMachines',
|
|
314
|
+
providerName: 'Microsoft.Compute',
|
|
315
|
+
}, { dependsOn: [vm, config], parent: this, deletedWith: config, deleteBeforeReplace: true });
|
|
316
|
+
}
|
|
202
317
|
}
|
|
203
318
|
exports.VirtualMachine = VirtualMachine;
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlydHVhbE1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdm0vVmlydHVhbE1hY2hpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQXdEO0FBQ3hELDRFQUE4RDtBQUM5RCxpRUFBbUQ7QUFFbkQsdURBQXlDO0FBQ3pDLGtDQUFnRTtBQUVoRSx3Q0FBdUM7QUE0Q3ZDLE1BQWEsY0FBZSxTQUFRLDRCQUF5QztJQUMzRCxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBd0IsRUFBRSxJQUFzQztRQUN4RixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxQyxNQUFNLEVBQ0osT0FBTyxFQUNQLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULGNBQWMsRUFDZCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLElBQUksRUFDSixHQUFHLEtBQUssRUFDVCxHQUFHLElBQUksQ0FBQztRQUVULE1BQU0sYUFBYSxHQUFHLGdCQUFnQixJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDbEgsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUU1QyxNQUFNLEVBQUUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQ25DLElBQUksQ0FBQyxJQUFJLEVBQ1Q7WUFDRSxHQUFHLEtBQUs7WUFDUixHQUFHLE9BQU87WUFFVixRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLGtCQUFrQjtvQkFDdEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQywyQkFBMkI7b0JBQzFELENBQUMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsY0FBYztnQkFDL0Msc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDakY7WUFFRCxjQUFjLEVBQUU7Z0JBQ2QsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNuRDtZQUNELDRFQUE0RTtZQUM1RSxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWUsSUFBSTtnQkFDeEMsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxHQUFHLFNBQVM7Z0JBQ1osYUFBYSxFQUFFLFVBQVUsQ0FBQyxLQUFLO2dCQUMvQixhQUFhLEVBQUUsVUFBVSxDQUFDLElBQUk7YUFDL0I7WUFDRCxjQUFjLEVBQUU7Z0JBQ2QsR0FBRyxjQUFjO2dCQUNqQixNQUFNLEVBQUU7b0JBQ04sR0FBRyxjQUFjLENBQUMsTUFBTTtvQkFFeEIsa0JBQWtCLEVBQ2hCLGNBQWMsSUFBSSxhQUFhO3dCQUM3QixDQUFDLENBQUM7NEJBQ0UsaUJBQWlCLEVBQUUsY0FBYztnQ0FDL0IsQ0FBQyxDQUFDO29DQUNFLFNBQVMsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFBLEdBQUcsY0FBYyxDQUFDLFFBQVEsWUFBWSxjQUFjLENBQUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUU7b0NBQ3JILFdBQVcsRUFBRTt3Q0FDWCxFQUFFLEVBQUUsU0FBVSxDQUFDLEVBQUU7cUNBQ2xCO2lDQUNGO2dDQUNILENBQUMsQ0FBQyxTQUFTOzRCQUNiLGdCQUFnQixFQUFFLGFBQWE7Z0NBQzdCLENBQUMsQ0FBQztvQ0FDRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQSxHQUFHLGFBQWEsQ0FBQyxRQUFRLFNBQVMsYUFBYSxDQUFDLE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFFO29DQUM1RyxXQUFXLEVBQUU7d0NBQ1gsRUFBRSxFQUFFLFNBQVUsQ0FBQyxFQUFFO3FDQUNsQjtpQ0FDRjtnQ0FDSCxDQUFDLENBQUMsU0FBUzs0QkFDYixPQUFPLEVBQUUsZ0JBQWdCO3lCQUMxQjt3QkFDSCxDQUFDLENBQUMsU0FBUztvQkFFZixXQUFXLEVBQUU7d0JBQ1gsaUJBQWlCLEVBQUUsaUJBQWlCOzRCQUNsQyxDQUFDLENBQUM7Z0NBQ0UsRUFBRSxFQUFFLGlCQUFpQixDQUFDLEVBQUU7NkJBQ3pCOzRCQUNILENBQUMsQ0FBQyxTQUFTO3dCQUViLGVBQWUsRUFBRSxjQUFjLENBQUMsc0JBQXNCOzRCQUNwRCxDQUFDLENBQUM7Z0NBQ0UsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dDQUMvRSxzQkFBc0IsRUFBRSxjQUFjLENBQUMsc0JBQXNCOzZCQUM5RDs0QkFDSCxDQUFDLENBQUMsU0FBUzt3QkFDYixrQkFBa0IsRUFBRSxjQUFjLENBQUMsa0JBQWtCLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLFlBQVk7cUJBQ2xHO2lCQUNGO2dCQUVELFNBQVMsRUFBRSxjQUFjLENBQUMsU0FBUztvQkFDakMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUNuQyxHQUFHLENBQUM7d0JBQ0osV0FBVyxFQUFFOzRCQUNYLGlCQUFpQixFQUFFLGlCQUFpQjtnQ0FDbEMsQ0FBQyxDQUFDO29DQUNFLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFO2lDQUN6QjtnQ0FDSCxDQUFDLENBQUMsU0FBUzs0QkFDYixlQUFlLEVBQUUsY0FBYyxDQUFDLHNCQUFzQjtnQ0FDcEQsQ0FBQyxDQUFDO29DQUNFLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQ0FDL0Usc0JBQXNCLEVBQUUsY0FBYyxDQUFDLHNCQUFzQjtpQ0FDOUQ7Z0NBQ0gsQ0FBQyxDQUFDLFNBQVM7NEJBQ2Isa0JBQWtCLEVBQUUsY0FBYyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZO3lCQUNsRztxQkFDRixDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLEVBQUU7YUFDUDtTQUNGLEVBQ0Q7WUFDRSxHQUFHLElBQUk7WUFDUCxPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFBLEdBQUcsSUFBSSxDQUFDLElBQUksVUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUN6RCxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxtQkFBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxLQUFLLEVBQUUsVUFBVTtZQUNqQixJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUs7U0FDckIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QyxPQUFPLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUM1QixJQUFJLENBQUMsSUFBSSxFQUNUO1lBQ0UsR0FBRyxPQUFPO1lBQ1YsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDekYsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLHVCQUF1QixDQUFDLFFBQVE7U0FDaEUsRUFDRCxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLEVBQTBCO1FBQy9DLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRWhDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQ2xCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQzNCLHNCQUFzQixDQUFDLEVBQUUsRUFDekI7WUFDRSxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsc0JBQXNCLENBQUMsRUFBRTtZQUMvQixlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1lBRXBELFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUTtZQUM3QixNQUFNLEVBQUUsU0FBUztZQUNqQixnQkFBZ0IsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN2QixRQUFRLEVBQUUsdUJBQXVCO1lBRWpDLG9CQUFvQixFQUFFO2dCQUNwQixNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVTtnQkFDL0UsY0FBYyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNyRCxrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixhQUFhLEVBQUUsRUFBRTtnQkFDakIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxPQUFPO2FBQzdCO1NBQ0YsRUFDRCxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUM1RSxDQUNKLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBMEI7UUFDakQsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxVQUFVLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsQ0FDWixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ0wsSUFBSSxPQUFPLENBQUMsdUJBQXVCLENBQ2pDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQ3pCO1lBQ0UsR0FBRyxFQUFFO1lBQ0wsR0FBRyxPQUFPO1lBQ1YsZUFBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJO1lBQ3hCLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSTtTQUNoQixFQUNELEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ2hDLENBQ0osQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZORCx3Q0F1TkMifQ==
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlydHVhbE1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdm0vVmlydHVhbE1hY2hpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQXdEO0FBQ3hELHNFQUF3RDtBQUN4RCw0RUFBOEQ7QUFDOUQsaUVBQW1EO0FBRW5ELHVEQUF5QztBQUN6QyxrQ0FBZ0U7QUFFaEUsd0NBQXVDO0FBOEN2QyxNQUFhLGNBQWUsU0FBUSw0QkFBeUM7SUFDM0QsRUFBRSxDQUF3QjtJQUMxQixZQUFZLENBQXdCO0lBRXBELFlBQVksSUFBWSxFQUFFLElBQXdCLEVBQUUsSUFBc0M7UUFDeEYsS0FBSyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFMUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUzQixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVE7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
|