@microsoft/terraform-cdk-constructs 1.8.0 → 1.10.0
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/.jsii +60376 -32133
- package/API.md +72290 -37038
- package/lib/azure-actiongroup/lib/action-group.js +1 -1
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
- package/lib/azure-aks/lib/aks-cluster.js +1 -1
- package/lib/azure-applicationinsights/index.d.ts +7 -0
- package/lib/azure-applicationinsights/index.js +24 -0
- package/lib/azure-applicationinsights/lib/application-insights-schemas.d.ts +29 -0
- package/lib/azure-applicationinsights/lib/application-insights-schemas.js +162 -0
- package/lib/azure-applicationinsights/lib/application-insights.d.ts +206 -0
- package/lib/azure-applicationinsights/lib/application-insights.js +209 -0
- package/lib/azure-applicationinsights/lib/index.d.ts +5 -0
- package/lib/azure-applicationinsights/lib/index.js +22 -0
- package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +9 -0
- package/lib/azure-applicationinsights/test/application-insights.integ.js +84 -0
- package/lib/azure-applicationinsights/test/application-insights.spec.d.ts +8 -0
- package/lib/azure-applicationinsights/test/application-insights.spec.js +209 -0
- package/lib/azure-containerapps/index.d.ts +1 -0
- package/lib/azure-containerapps/index.js +18 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
- package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
- package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
- package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
- package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
- package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
- package/lib/azure-containerapps/lib/container-app.js +320 -0
- package/lib/azure-containerapps/lib/index.d.ts +4 -0
- package/lib/azure-containerapps/lib/index.js +21 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
- package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app.integ.js +119 -0
- package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app.spec.js +839 -0
- package/lib/azure-containerregistry/index.d.ts +1 -0
- package/lib/azure-containerregistry/index.js +18 -0
- package/lib/azure-containerregistry/lib/container-registry-schemas.d.ts +32 -0
- package/lib/azure-containerregistry/lib/container-registry-schemas.js +316 -0
- package/lib/azure-containerregistry/lib/container-registry.d.ts +330 -0
- package/lib/azure-containerregistry/lib/container-registry.js +217 -0
- package/lib/azure-containerregistry/lib/index.d.ts +2 -0
- package/lib/azure-containerregistry/lib/index.js +19 -0
- package/lib/azure-containerregistry/test/container-registry.integ.d.ts +9 -0
- package/lib/azure-containerregistry/test/container-registry.integ.js +101 -0
- package/lib/azure-containerregistry/test/container-registry.spec.d.ts +4 -0
- package/lib/azure-containerregistry/test/container-registry.spec.js +425 -0
- package/lib/azure-cosmosdb/index.d.ts +1 -0
- package/lib/azure-cosmosdb/index.js +18 -0
- package/lib/azure-cosmosdb/lib/cosmos-db-schemas.d.ts +40 -0
- package/lib/azure-cosmosdb/lib/cosmos-db-schemas.js +330 -0
- package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +290 -0
- package/lib/azure-cosmosdb/lib/cosmos-db.js +222 -0
- package/lib/azure-cosmosdb/lib/index.d.ts +2 -0
- package/lib/azure-cosmosdb/lib/index.js +19 -0
- package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +9 -0
- package/lib/azure-cosmosdb/test/cosmos-db.integ.js +98 -0
- package/lib/azure-cosmosdb/test/cosmos-db.spec.d.ts +4 -0
- package/lib/azure-cosmosdb/test/cosmos-db.spec.js +339 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
- package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
- package/lib/azure-dnszone/lib/dns-zone.js +1 -1
- package/lib/azure-dnszone/lib/records/dns-records.js +10 -10
- package/lib/azure-functionapp/index.d.ts +1 -0
- package/lib/azure-functionapp/index.js +18 -0
- package/lib/azure-functionapp/lib/function-app-schemas.d.ts +32 -0
- package/lib/azure-functionapp/lib/function-app-schemas.js +303 -0
- package/lib/azure-functionapp/lib/function-app.d.ts +367 -0
- package/lib/azure-functionapp/lib/function-app.js +223 -0
- package/lib/azure-functionapp/lib/index.d.ts +2 -0
- package/lib/azure-functionapp/lib/index.js +19 -0
- package/lib/azure-functionapp/test/function-app.integ.d.ts +12 -0
- package/lib/azure-functionapp/test/function-app.integ.js +134 -0
- package/lib/azure-functionapp/test/function-app.spec.d.ts +4 -0
- package/lib/azure-functionapp/test/function-app.spec.js +566 -0
- package/lib/azure-keyvault/index.d.ts +1 -0
- package/lib/azure-keyvault/index.js +18 -0
- package/lib/azure-keyvault/lib/index.d.ts +2 -0
- package/lib/azure-keyvault/lib/index.js +19 -0
- package/lib/azure-keyvault/lib/key-vault-schemas.d.ts +40 -0
- package/lib/azure-keyvault/lib/key-vault-schemas.js +312 -0
- package/lib/azure-keyvault/lib/key-vault.d.ts +344 -0
- package/lib/azure-keyvault/lib/key-vault.js +243 -0
- package/lib/azure-keyvault/test/key-vault.integ.d.ts +9 -0
- package/lib/azure-keyvault/test/key-vault.integ.js +108 -0
- package/lib/azure-keyvault/test/key-vault.spec.d.ts +4 -0
- package/lib/azure-keyvault/test/key-vault.spec.js +264 -0
- package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
- package/lib/azure-loganalyticsworkspace/index.js +23 -0
- package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
- package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
- package/lib/azure-metricalert/lib/metric-alert.js +1 -1
- package/lib/azure-networkinterface/lib/network-interface.js +1 -1
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
- package/lib/azure-networkwatcher/index.d.ts +14 -0
- package/lib/azure-networkwatcher/index.js +31 -0
- package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
- package/lib/azure-networkwatcher/lib/index.js +22 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
- package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
- package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
- package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
- package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
- package/lib/azure-policysetdefinition/index.d.ts +10 -0
- package/lib/azure-policysetdefinition/index.js +27 -0
- package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
- package/lib/azure-policysetdefinition/lib/index.js +22 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
- package/lib/azure-privatednszone/lib/records/private-dns-records.js +8 -8
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
- package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
- package/lib/azure-roledefinition/lib/role-definition.js +1 -1
- package/lib/azure-sreagent/index.d.ts +1 -0
- package/lib/azure-sreagent/index.js +18 -0
- package/lib/azure-sreagent/lib/index.d.ts +2 -0
- package/lib/azure-sreagent/lib/index.js +19 -0
- package/lib/azure-sreagent/lib/sre-agent-schemas.d.ts +29 -0
- package/lib/azure-sreagent/lib/sre-agent-schemas.js +296 -0
- package/lib/azure-sreagent/lib/sre-agent.d.ts +208 -0
- package/lib/azure-sreagent/lib/sre-agent.js +217 -0
- package/lib/azure-sreagent/test/sre-agent.integ.d.ts +9 -0
- package/lib/azure-sreagent/test/sre-agent.integ.js +78 -0
- package/lib/azure-sreagent/test/sre-agent.spec.d.ts +4 -0
- package/lib/azure-sreagent/test/sre-agent.spec.js +216 -0
- package/lib/azure-staticwebapp/index.d.ts +1 -0
- package/lib/azure-staticwebapp/index.js +18 -0
- package/lib/azure-staticwebapp/lib/index.d.ts +2 -0
- package/lib/azure-staticwebapp/lib/index.js +19 -0
- package/lib/azure-staticwebapp/lib/static-web-app-schemas.d.ts +40 -0
- package/lib/azure-staticwebapp/lib/static-web-app-schemas.js +236 -0
- package/lib/azure-staticwebapp/lib/static-web-app.d.ts +242 -0
- package/lib/azure-staticwebapp/lib/static-web-app.js +232 -0
- package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +9 -0
- package/lib/azure-staticwebapp/test/static-web-app.integ.js +76 -0
- package/lib/azure-staticwebapp/test/static-web-app.spec.d.ts +15 -0
- package/lib/azure-staticwebapp/test/static-web-app.spec.js +293 -0
- package/lib/azure-storageaccount/lib/storage-account.js +1 -1
- package/lib/azure-subnet/lib/subnet.js +1 -1
- package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
- package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +4 -2
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +8 -5
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +109 -1
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
- package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
- package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
- package/lib/index.d.ts +25 -0
- package/lib/index.js +27 -2
- package/lib/testing/index.js +2 -2
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./lib";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./lib"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUta2V5dmF1bHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xpYlwiO1xuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./key-vault-schemas"), exports);
|
|
18
|
+
__exportStar(require("./key-vault"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUta2V5dmF1bHQvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBb0M7QUFDcEMsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4va2V5LXZhdWx0LXNjaGVtYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2tleS12YXVsdFwiO1xuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API schemas for Azure Key Vault across all supported versions
|
|
3
|
+
*
|
|
4
|
+
* This file defines the complete API schemas for Microsoft.KeyVault/vaults
|
|
5
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
6
|
+
* framework for validation, transformation, and version management.
|
|
7
|
+
*/
|
|
8
|
+
import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
9
|
+
/**
|
|
10
|
+
* API Schema for Key Vault version 2023-02-01
|
|
11
|
+
*/
|
|
12
|
+
export declare const KEY_VAULT_SCHEMA_2023_02_01: ApiSchema;
|
|
13
|
+
/**
|
|
14
|
+
* API Schema for Key Vault version 2023-07-01
|
|
15
|
+
*/
|
|
16
|
+
export declare const KEY_VAULT_SCHEMA_2023_07_01: ApiSchema;
|
|
17
|
+
/**
|
|
18
|
+
* API Schema for Key Vault version 2024-11-01
|
|
19
|
+
*/
|
|
20
|
+
export declare const KEY_VAULT_SCHEMA_2024_11_01: ApiSchema;
|
|
21
|
+
/**
|
|
22
|
+
* Version configuration for Key Vault 2023-02-01
|
|
23
|
+
*/
|
|
24
|
+
export declare const KEY_VAULT_VERSION_2023_02_01: VersionConfig;
|
|
25
|
+
/**
|
|
26
|
+
* Version configuration for Key Vault 2023-07-01
|
|
27
|
+
*/
|
|
28
|
+
export declare const KEY_VAULT_VERSION_2023_07_01: VersionConfig;
|
|
29
|
+
/**
|
|
30
|
+
* Version configuration for Key Vault 2024-11-01
|
|
31
|
+
*/
|
|
32
|
+
export declare const KEY_VAULT_VERSION_2024_11_01: VersionConfig;
|
|
33
|
+
/**
|
|
34
|
+
* All supported Key Vault versions for registration
|
|
35
|
+
*/
|
|
36
|
+
export declare const ALL_KEY_VAULT_VERSIONS: VersionConfig[];
|
|
37
|
+
/**
|
|
38
|
+
* Resource type constant
|
|
39
|
+
*/
|
|
40
|
+
export declare const KEY_VAULT_TYPE = "Microsoft.KeyVault/vaults";
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Key Vault across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.KeyVault/vaults
|
|
6
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
7
|
+
* framework for validation, transformation, and version management.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.KEY_VAULT_TYPE = exports.ALL_KEY_VAULT_VERSIONS = exports.KEY_VAULT_VERSION_2024_11_01 = exports.KEY_VAULT_VERSION_2023_07_01 = exports.KEY_VAULT_VERSION_2023_02_01 = exports.KEY_VAULT_SCHEMA_2024_11_01 = exports.KEY_VAULT_SCHEMA_2023_07_01 = exports.KEY_VAULT_SCHEMA_2023_02_01 = void 0;
|
|
11
|
+
const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// COMMON PROPERTY DEFINITIONS
|
|
14
|
+
// =============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Common property definitions shared across all Key Vault versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_PROPERTIES = {
|
|
19
|
+
location: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: true,
|
|
22
|
+
description: "The Azure region where the Key Vault will be created",
|
|
23
|
+
validation: [
|
|
24
|
+
{
|
|
25
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
26
|
+
message: "Location is required for Key Vaults",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
30
|
+
value: "^[a-z0-9]+$",
|
|
31
|
+
message: "Location must contain only lowercase letters and numbers",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
tags: {
|
|
36
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
37
|
+
required: false,
|
|
38
|
+
defaultValue: {},
|
|
39
|
+
description: "A dictionary of tags to apply to the Key Vault",
|
|
40
|
+
validation: [
|
|
41
|
+
{
|
|
42
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
43
|
+
value: version_interfaces_1.PropertyType.OBJECT,
|
|
44
|
+
message: "Tags must be an object with string key-value pairs",
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
name: {
|
|
49
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
50
|
+
required: true,
|
|
51
|
+
description: "The name of the Key Vault. Must be globally unique across Azure",
|
|
52
|
+
validation: [
|
|
53
|
+
{
|
|
54
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
55
|
+
message: "Key Vault name is required",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
59
|
+
value: "^[a-zA-Z][a-zA-Z0-9-]{1,22}[a-zA-Z0-9]$",
|
|
60
|
+
message: "Key Vault name must be 3-24 alphanumeric characters or hyphens, start with a letter, and end with a letter or digit",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
sku: {
|
|
65
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
66
|
+
required: false,
|
|
67
|
+
defaultValue: { name: "standard", family: "A" },
|
|
68
|
+
description: "The SKU (pricing tier) for the Key Vault",
|
|
69
|
+
},
|
|
70
|
+
tenantId: {
|
|
71
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
72
|
+
required: true,
|
|
73
|
+
description: "The Azure Active Directory tenant ID that should be used for authenticating requests to the Key Vault",
|
|
74
|
+
},
|
|
75
|
+
accessPolicies: {
|
|
76
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
77
|
+
required: false,
|
|
78
|
+
description: "Array of access policies for the Key Vault",
|
|
79
|
+
},
|
|
80
|
+
networkAcls: {
|
|
81
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
82
|
+
required: false,
|
|
83
|
+
description: "Network ACL rules for the Key Vault",
|
|
84
|
+
},
|
|
85
|
+
enabledForDeployment: {
|
|
86
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
87
|
+
required: false,
|
|
88
|
+
defaultValue: false,
|
|
89
|
+
description: "Whether Azure Virtual Machines are permitted to retrieve certificates from the vault",
|
|
90
|
+
},
|
|
91
|
+
enabledForDiskEncryption: {
|
|
92
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
93
|
+
required: false,
|
|
94
|
+
defaultValue: false,
|
|
95
|
+
description: "Whether Azure Disk Encryption is permitted to retrieve secrets from the vault",
|
|
96
|
+
},
|
|
97
|
+
enabledForTemplateDeployment: {
|
|
98
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
99
|
+
required: false,
|
|
100
|
+
defaultValue: false,
|
|
101
|
+
description: "Whether Azure Resource Manager is permitted to retrieve secrets from the vault",
|
|
102
|
+
},
|
|
103
|
+
enableRbacAuthorization: {
|
|
104
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
105
|
+
required: false,
|
|
106
|
+
defaultValue: true,
|
|
107
|
+
description: "Whether Azure RBAC is used to authorize data actions instead of access policies",
|
|
108
|
+
},
|
|
109
|
+
enableSoftDelete: {
|
|
110
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
111
|
+
required: false,
|
|
112
|
+
defaultValue: true,
|
|
113
|
+
description: "Whether soft-delete is enabled on the Key Vault",
|
|
114
|
+
},
|
|
115
|
+
softDeleteRetentionInDays: {
|
|
116
|
+
dataType: version_interfaces_1.PropertyType.NUMBER,
|
|
117
|
+
required: false,
|
|
118
|
+
defaultValue: 90,
|
|
119
|
+
description: "Number of days that items should be retained after soft-delete (7-90)",
|
|
120
|
+
validation: [
|
|
121
|
+
{
|
|
122
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
123
|
+
value: { min: 7, max: 90 },
|
|
124
|
+
message: "softDeleteRetentionInDays must be between 7 and 90",
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
enablePurgeProtection: {
|
|
129
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
130
|
+
required: false,
|
|
131
|
+
description: "Whether purge protection is enabled. Once enabled, this property cannot be disabled",
|
|
132
|
+
},
|
|
133
|
+
publicNetworkAccess: {
|
|
134
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
135
|
+
required: false,
|
|
136
|
+
defaultValue: "Enabled",
|
|
137
|
+
description: "Whether the Key Vault accepts traffic from public networks (Enabled/Disabled)",
|
|
138
|
+
validation: [
|
|
139
|
+
{
|
|
140
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
141
|
+
value: "^(Enabled|Disabled)$",
|
|
142
|
+
message: "publicNetworkAccess must be either 'Enabled' or 'Disabled'",
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
ignoreChanges: {
|
|
147
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
148
|
+
required: false,
|
|
149
|
+
description: "Array of property names to ignore during updates",
|
|
150
|
+
validation: [
|
|
151
|
+
{
|
|
152
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
153
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
154
|
+
message: "IgnoreChanges must be an array of strings",
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
const COMMON_REQUIRED = ["location", "name", "tenantId"];
|
|
160
|
+
const COMMON_OPTIONAL = [
|
|
161
|
+
"sku",
|
|
162
|
+
"tags",
|
|
163
|
+
"accessPolicies",
|
|
164
|
+
"networkAcls",
|
|
165
|
+
"enabledForDeployment",
|
|
166
|
+
"enabledForDiskEncryption",
|
|
167
|
+
"enabledForTemplateDeployment",
|
|
168
|
+
"enableRbacAuthorization",
|
|
169
|
+
"enableSoftDelete",
|
|
170
|
+
"softDeleteRetentionInDays",
|
|
171
|
+
"enablePurgeProtection",
|
|
172
|
+
"publicNetworkAccess",
|
|
173
|
+
"ignoreChanges",
|
|
174
|
+
];
|
|
175
|
+
const COMMON_VALIDATION_RULES = [
|
|
176
|
+
{
|
|
177
|
+
property: "location",
|
|
178
|
+
rules: [
|
|
179
|
+
{
|
|
180
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
181
|
+
message: "Location is required for Key Vaults",
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
property: "name",
|
|
187
|
+
rules: [
|
|
188
|
+
{
|
|
189
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
190
|
+
message: "Name is required for Key Vaults",
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
},
|
|
194
|
+
];
|
|
195
|
+
// =============================================================================
|
|
196
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
197
|
+
// =============================================================================
|
|
198
|
+
/**
|
|
199
|
+
* API Schema for Key Vault version 2023-02-01
|
|
200
|
+
*/
|
|
201
|
+
exports.KEY_VAULT_SCHEMA_2023_02_01 = {
|
|
202
|
+
resourceType: "Microsoft.KeyVault/vaults",
|
|
203
|
+
version: "2023-02-01",
|
|
204
|
+
properties: { ...COMMON_PROPERTIES },
|
|
205
|
+
required: [...COMMON_REQUIRED],
|
|
206
|
+
optional: [...COMMON_OPTIONAL],
|
|
207
|
+
deprecated: [],
|
|
208
|
+
transformationRules: {},
|
|
209
|
+
validationRules: [...COMMON_VALIDATION_RULES],
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* API Schema for Key Vault version 2023-07-01
|
|
213
|
+
*/
|
|
214
|
+
exports.KEY_VAULT_SCHEMA_2023_07_01 = {
|
|
215
|
+
resourceType: "Microsoft.KeyVault/vaults",
|
|
216
|
+
version: "2023-07-01",
|
|
217
|
+
properties: { ...COMMON_PROPERTIES },
|
|
218
|
+
required: [...COMMON_REQUIRED],
|
|
219
|
+
optional: [...COMMON_OPTIONAL],
|
|
220
|
+
deprecated: [],
|
|
221
|
+
transformationRules: {},
|
|
222
|
+
validationRules: [...COMMON_VALIDATION_RULES],
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* API Schema for Key Vault version 2024-11-01
|
|
226
|
+
*/
|
|
227
|
+
exports.KEY_VAULT_SCHEMA_2024_11_01 = {
|
|
228
|
+
resourceType: "Microsoft.KeyVault/vaults",
|
|
229
|
+
version: "2024-11-01",
|
|
230
|
+
properties: { ...COMMON_PROPERTIES },
|
|
231
|
+
required: [...COMMON_REQUIRED],
|
|
232
|
+
optional: [...COMMON_OPTIONAL],
|
|
233
|
+
deprecated: [],
|
|
234
|
+
transformationRules: {},
|
|
235
|
+
validationRules: [...COMMON_VALIDATION_RULES],
|
|
236
|
+
};
|
|
237
|
+
// =============================================================================
|
|
238
|
+
// VERSION CONFIGURATIONS
|
|
239
|
+
// =============================================================================
|
|
240
|
+
/**
|
|
241
|
+
* Version configuration for Key Vault 2023-02-01
|
|
242
|
+
*/
|
|
243
|
+
exports.KEY_VAULT_VERSION_2023_02_01 = {
|
|
244
|
+
version: "2023-02-01",
|
|
245
|
+
schema: exports.KEY_VAULT_SCHEMA_2023_02_01,
|
|
246
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
247
|
+
releaseDate: "2023-02-01",
|
|
248
|
+
deprecationDate: undefined,
|
|
249
|
+
sunsetDate: undefined,
|
|
250
|
+
breakingChanges: [],
|
|
251
|
+
migrationGuide: "/docs/key-vault/migration-2023-02-01",
|
|
252
|
+
changeLog: [
|
|
253
|
+
{
|
|
254
|
+
changeType: "added",
|
|
255
|
+
description: "Stable release of Key Vault API",
|
|
256
|
+
breaking: false,
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Version configuration for Key Vault 2023-07-01
|
|
262
|
+
*/
|
|
263
|
+
exports.KEY_VAULT_VERSION_2023_07_01 = {
|
|
264
|
+
version: "2023-07-01",
|
|
265
|
+
schema: exports.KEY_VAULT_SCHEMA_2023_07_01,
|
|
266
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
267
|
+
releaseDate: "2023-07-01",
|
|
268
|
+
deprecationDate: undefined,
|
|
269
|
+
sunsetDate: undefined,
|
|
270
|
+
breakingChanges: [],
|
|
271
|
+
migrationGuide: "/docs/key-vault/migration-2023-07-01",
|
|
272
|
+
changeLog: [
|
|
273
|
+
{
|
|
274
|
+
changeType: "updated",
|
|
275
|
+
description: "Enhanced security features and minor API improvements",
|
|
276
|
+
breaking: false,
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
};
|
|
280
|
+
/**
|
|
281
|
+
* Version configuration for Key Vault 2024-11-01
|
|
282
|
+
*/
|
|
283
|
+
exports.KEY_VAULT_VERSION_2024_11_01 = {
|
|
284
|
+
version: "2024-11-01",
|
|
285
|
+
schema: exports.KEY_VAULT_SCHEMA_2024_11_01,
|
|
286
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
287
|
+
releaseDate: "2024-11-01",
|
|
288
|
+
deprecationDate: undefined,
|
|
289
|
+
sunsetDate: undefined,
|
|
290
|
+
breakingChanges: [],
|
|
291
|
+
migrationGuide: "/docs/key-vault/migration-2024-11-01",
|
|
292
|
+
changeLog: [
|
|
293
|
+
{
|
|
294
|
+
changeType: "updated",
|
|
295
|
+
description: "Latest API version with improved performance and features",
|
|
296
|
+
breaking: false,
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* All supported Key Vault versions for registration
|
|
302
|
+
*/
|
|
303
|
+
exports.ALL_KEY_VAULT_VERSIONS = [
|
|
304
|
+
exports.KEY_VAULT_VERSION_2023_02_01,
|
|
305
|
+
exports.KEY_VAULT_VERSION_2023_07_01,
|
|
306
|
+
exports.KEY_VAULT_VERSION_2024_11_01,
|
|
307
|
+
];
|
|
308
|
+
/**
|
|
309
|
+
* Resource type constant
|
|
310
|
+
*/
|
|
311
|
+
exports.KEY_VAULT_TYPE = "Microsoft.KeyVault/vaults";
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXZhdWx0LXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUta2V5dmF1bHQvbGliL2tleS12YXVsdC1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQTBDO0lBQy9ELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUscUNBQXFDO2FBQy9DO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSxhQUFhO2dCQUNwQixPQUFPLEVBQUUsMERBQTBEO2FBQ3BFO1NBQ0Y7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixZQUFZLEVBQUUsRUFBRTtRQUNoQixXQUFXLEVBQUUsZ0RBQWdEO1FBQzdELFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxVQUFVO2dCQUN2QyxLQUFLLEVBQUUsaUNBQVksQ0FBQyxNQUFNO2dCQUMxQixPQUFPLEVBQUUsb0RBQW9EO2FBQzlEO1NBQ0Y7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQ1QsaUVBQWlFO1FBQ25FLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FB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RztBQUNVLFFBQUEsY0FBYyxHQUFHLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgS2V5IFZhdWx0IGFjcm9zcyBhbGwgc3VwcG9ydGVkIHZlcnNpb25zXG4gKlxuICogVGhpcyBmaWxlIGRlZmluZXMgdGhlIGNvbXBsZXRlIEFQSSBzY2hlbWFzIGZvciBNaWNyb3NvZnQuS2V5VmF1bHQvdmF1bHRzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBLZXkgVmF1bHQgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIGxvY2F0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgS2V5IFZhdWx0IHdpbGwgYmUgY3JlYXRlZFwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgS2V5IFZhdWx0c1wiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtejAtOV0rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIG11c3QgY29udGFpbiBvbmx5IGxvd2VyY2FzZSBsZXR0ZXJzIGFuZCBudW1iZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHRhZ3M6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICBkZXNjcmlwdGlvbjogXCJBIGRpY3Rpb25hcnkgb2YgdGFncyB0byBhcHBseSB0byB0aGUgS2V5IFZhdWx0XCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIlRhZ3MgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG5hbWUgb2YgdGhlIEtleSBWYXVsdC4gTXVzdCBiZSBnbG9iYWxseSB1bmlxdWUgYWNyb3NzIEF6dXJlXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIktleSBWYXVsdCBuYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aXVthLXpBLVowLTktXXsxLDIyfVthLXpBLVowLTldJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiS2V5IFZhdWx0IG5hbWUgbXVzdCBiZSAzLTI0IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIG9yIGh5cGhlbnMsIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGFuZCBlbmQgd2l0aCBhIGxldHRlciBvciBkaWdpdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBza3U6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiB7IG5hbWU6IFwic3RhbmRhcmRcIiwgZmFtaWx5OiBcIkFcIiB9LFxuICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBTS1UgKHByaWNpbmcgdGllcikgZm9yIHRoZSBLZXkgVmF1bHRcIixcbiAgfSxcbiAgdGVuYW50SWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIEF6dXJlIEFjdGl2ZSBEaXJlY3RvcnkgdGVuYW50IElEIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW5nIHJlcXVlc3RzIHRvIHRoZSBLZXkgVmF1bHRcIixcbiAgfSxcbiAgYWNjZXNzUG9saWNpZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBcnJheSBvZiBhY2Nlc3MgcG9saWNpZXMgZm9yIHRoZSBLZXkgVmF1bHRcIixcbiAgfSxcbiAgbmV0d29ya0FjbHM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiTmV0d29yayBBQ0wgcnVsZXMgZm9yIHRoZSBLZXkgVmF1bHRcIixcbiAgfSxcbiAgZW5hYmxlZEZvckRlcGxveW1lbnQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIldoZXRoZXIgQXp1cmUgVmlydHVhbCBNYWNoaW5lcyBhcmUgcGVybWl0dGVkIHRvIHJldHJpZXZlIGNlcnRpZmljYXRlcyBmcm9tIHRoZSB2YXVsdFwiLFxuICB9LFxuICBlbmFibGVkRm9yRGlza0VuY3J5cHRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIldoZXRoZXIgQXp1cmUgRGlzayBFbmNyeXB0aW9uIGlzIHBlcm1pdHRlZCB0byByZXRyaWV2ZSBzZWNyZXRzIGZyb20gdGhlIHZhdWx0XCIsXG4gIH0sXG4gIGVuYWJsZWRGb3JUZW1wbGF0ZURlcGxveW1lbnQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIldoZXRoZXIgQXp1cmUgUmVzb3VyY2UgTWFuYWdlciBpcyBwZXJtaXR0ZWQgdG8gcmV0cmlldmUgc2VjcmV0cyBmcm9tIHRoZSB2YXVsdFwiLFxuICB9LFxuICBlbmFibGVSYmFjQXV0aG9yaXphdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJXaGV0aGVyIEF6dXJlIFJCQUMgaXMgdXNlZCB0byBhdXRob3JpemUgZGF0YSBhY3Rpb25zIGluc3RlYWQgb2YgYWNjZXNzIHBvbGljaWVzXCIsXG4gIH0sXG4gIGVuYWJsZVNvZnREZWxldGU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHNvZnQtZGVsZXRlIGlzIGVuYWJsZWQgb24gdGhlIEtleSBWYXVsdFwiLFxuICB9LFxuICBzb2Z0RGVsZXRlUmV0ZW50aW9uSW5EYXlzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogOTAsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIk51bWJlciBvZiBkYXlzIHRoYXQgaXRlbXMgc2hvdWxkIGJlIHJldGFpbmVkIGFmdGVyIHNvZnQtZGVsZXRlICg3LTkwKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5WQUxVRV9SQU5HRSxcbiAgICAgICAgdmFsdWU6IHsgbWluOiA3LCBtYXg6IDkwIH0sXG4gICAgICAgIG1lc3NhZ2U6IFwic29mdERlbGV0ZVJldGVudGlvbkluRGF5cyBtdXN0IGJlIGJldHdlZW4gNyBhbmQgOTBcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgZW5hYmxlUHVyZ2VQcm90ZWN0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5CT09MRUFOLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiV2hldGhlciBwdXJnZSBwcm90ZWN0aW9uIGlzIGVuYWJsZWQuIE9uY2UgZW5hYmxlZCwgdGhpcyBwcm9wZXJ0eSBjYW5ub3QgYmUgZGlzYWJsZWRcIixcbiAgfSxcbiAgcHVibGljTmV0d29ya0FjY2Vzczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IFwiRW5hYmxlZFwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJXaGV0aGVyIHRoZSBLZXkgVmF1bHQgYWNjZXB0cyB0cmFmZmljIGZyb20gcHVibGljIG5ldHdvcmtzIChFbmFibGVkL0Rpc2FibGVkKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeKEVuYWJsZWR8RGlzYWJsZWQpJFwiLFxuICAgICAgICBtZXNzYWdlOiBcInB1YmxpY05ldHdvcmtBY2Nlc3MgbXVzdCBiZSBlaXRoZXIgJ0VuYWJsZWQnIG9yICdEaXNhYmxlZCdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaWdub3JlQ2hhbmdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFycmF5IG9mIHByb3BlcnR5IG5hbWVzIHRvIGlnbm9yZSBkdXJpbmcgdXBkYXRlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklnbm9yZUNoYW5nZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG5jb25zdCBDT01NT05fUkVRVUlSRUQgPSBbXCJsb2NhdGlvblwiLCBcIm5hbWVcIiwgXCJ0ZW5hbnRJZFwiXTtcbmNvbnN0IENPTU1PTl9PUFRJT05BTCA9IFtcbiAgXCJza3VcIixcbiAgXCJ0YWdzXCIsXG4gIFwiYWNjZXNzUG9saWNpZXNcIixcbiAgXCJuZXR3b3JrQWNsc1wiLFxuICBcImVuYWJsZWRGb3JEZXBsb3ltZW50XCIsXG4gIFwiZW5hYmxlZEZvckRpc2tFbmNyeXB0aW9uXCIsXG4gIFwiZW5hYmxlZEZvclRlbXBsYXRlRGVwbG95bWVudFwiLFxuICBcImVuYWJsZVJiYWNBdXRob3JpemF0aW9uXCIsXG4gIFwiZW5hYmxlU29mdERlbGV0ZVwiLFxuICBcInNvZnREZWxldGVSZXRlbnRpb25JbkRheXNcIixcbiAgXCJlbmFibGVQdXJnZVByb3RlY3Rpb25cIixcbiAgXCJwdWJsaWNOZXR3b3JrQWNjZXNzXCIsXG4gIFwiaWdub3JlQ2hhbmdlc1wiLFxuXTtcblxuY29uc3QgQ09NTU9OX1ZBTElEQVRJT05fUlVMRVMgPSBbXG4gIHtcbiAgICBwcm9wZXJ0eTogXCJsb2NhdGlvblwiLFxuICAgIHJ1bGVzOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEtleSBWYXVsdHNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICBydWxlczogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIk5hbWUgaXMgcmVxdWlyZWQgZm9yIEtleSBWYXVsdHNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgS2V5IFZhdWx0IHZlcnNpb24gMjAyMy0wMi0wMVxuICovXG5leHBvcnQgY29uc3QgS0VZX1ZBVUxUX1NDSEVNQV8yMDIzXzAyXzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuS2V5VmF1bHQvdmF1bHRzXCIsXG4gIHZlcnNpb246IFwiMjAyMy0wMi0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7IC4uLkNPTU1PTl9QUk9QRVJUSUVTIH0sXG4gIHJlcXVpcmVkOiBbLi4uQ09NTU9OX1JFUVVJUkVEXSxcbiAgb3B0aW9uYWw6IFsuLi5DT01NT05fT1BUSU9OQUxdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogWy4uLkNPTU1PTl9WQUxJREFUSU9OX1JVTEVTXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgS2V5IFZhdWx0IHZlcnNpb24gMjAyMy0wNy0wMVxuICovXG5leHBvcnQgY29uc3QgS0VZX1ZBVUxUX1NDSEVNQV8yMDIzXzA3XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuS2V5VmF1bHQvdmF1bHRzXCIsXG4gIHZlcnNpb246IFwiMjAyMy0wNy0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7IC4uLkNPTU1PTl9QUk9QRVJUSUVTIH0sXG4gIHJlcXVpcmVkOiBbLi4uQ09NTU9OX1JFUVVJUkVEXSxcbiAgb3B0aW9uYWw6IFsuLi5DT01NT05fT1BUSU9OQUxdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogWy4uLkNPTU1PTl9WQUxJREFUSU9OX1JVTEVTXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgS2V5IFZhdWx0IHZlcnNpb24gMjAyNC0xMS0wMVxuICovXG5leHBvcnQgY29uc3QgS0VZX1ZBVUxUX1NDSEVNQV8yMDI0XzExXzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuS2V5VmF1bHQvdmF1bHRzXCIsXG4gIHZlcnNpb246IFwiMjAyNC0xMS0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7IC4uLkNPTU1PTl9QUk9QRVJUSUVTIH0sXG4gIHJlcXVpcmVkOiBbLi4uQ09NTU9OX1JFUVVJUkVEXSxcbiAgb3B0aW9uYWw6IFsuLi5DT01NT05fT1BUSU9OQUxdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogWy4uLkNPTU1PTl9WQUxJREFUSU9OX1JVTEVTXSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OIENPTkZJR1VSQVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgS2V5IFZhdWx0IDIwMjMtMDItMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEtFWV9WQVVMVF9WRVJTSU9OXzIwMjNfMDJfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMy0wMi0wMVwiLFxuICBzY2hlbWE6IEtFWV9WQVVMVF9TQ0hFTUFfMjAyM18wMl8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyMy0wMi0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9rZXktdmF1bHQvbWlncmF0aW9uLTIwMjMtMDItMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU3RhYmxlIHJlbGVhc2Ugb2YgS2V5IFZhdWx0IEFQSVwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgS2V5IFZhdWx0IDIwMjMtMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEtFWV9WQVVMVF9WRVJTSU9OXzIwMjNfMDdfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMy0wNy0wMVwiLFxuICBzY2hlbWE6IEtFWV9WQVVMVF9TQ0hFTUFfMjAyM18wN18wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyMy0wNy0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9rZXktdmF1bHQvbWlncmF0aW9uLTIwMjMtMDctMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJ1cGRhdGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFbmhhbmNlZCBzZWN1cml0eSBmZWF0dXJlcyBhbmQgbWlub3IgQVBJIGltcHJvdmVtZW50c1wiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgS2V5IFZhdWx0IDIwMjQtMTEtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEtFWV9WQVVMVF9WRVJTSU9OXzIwMjRfMTFfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNC0xMS0wMVwiLFxuICBzY2hlbWE6IEtFWV9WQVVMVF9TQ0hFTUFfMjAyNF8xMV8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNC0xMS0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9rZXktdmF1bHQvbWlncmF0aW9uLTIwMjQtMTEtMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJ1cGRhdGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJMYXRlc3QgQVBJIHZlcnNpb24gd2l0aCBpbXByb3ZlZCBwZXJmb3JtYW5jZSBhbmQgZmVhdHVyZXNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIEtleSBWYXVsdCB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfS0VZX1ZBVUxUX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIEtFWV9WQVVMVF9WRVJTSU9OXzIwMjNfMDJfMDEsXG4gIEtFWV9WQVVMVF9WRVJTSU9OXzIwMjNfMDdfMDEsXG4gIEtFWV9WQVVMVF9WRVJTSU9OXzIwMjRfMTFfMDEsXG5dO1xuXG4vKipcbiAqIFJlc291cmNlIHR5cGUgY29uc3RhbnRcbiAqL1xuZXhwb3J0IGNvbnN0IEtFWV9WQVVMVF9UWVBFID0gXCJNaWNyb3NvZnQuS2V5VmF1bHQvdmF1bHRzXCI7XG4iXX0=
|