@microsoft/terraform-cdk-constructs 0.0.3-pre.11 → 0.0.3-pre.12
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 +334 -211
- package/API.md +166 -76
- package/README.md +4 -5
- package/docs/testing.md +39 -137
- package/lib/azure-actiongroup/test/AzureActionGroup.integ.js +66 -0
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +5 -22
- package/lib/azure-applicationgateway/lib/gateway.js +1 -1
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.integ.d.ts +1 -0
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.integ.js +272 -0
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +3 -20
- package/lib/azure-applicationinsights/lib/appinsights.js +1 -1
- package/lib/azure-applicationinsights/test/AzureAppInsights.integ.d.ts +1 -0
- package/lib/azure-applicationinsights/test/AzureAppInsights.integ.js +101 -0
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +4 -21
- package/lib/azure-containerregistry/lib/registry.js +1 -1
- package/lib/azure-containerregistry/test/AzureContainerRegistry.integ.d.ts +1 -0
- package/lib/azure-containerregistry/test/AzureContainerRegistry.integ.js +68 -0
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +4 -17
- package/lib/azure-datalake/lib/datalake.d.ts +1 -0
- package/lib/azure-datalake/lib/datalake.js +2 -1
- package/lib/azure-datalake/test/AzureDatalake.spec.d.ts +1 -0
- package/lib/azure-datalake/test/AzureDatalake.spec.js +32 -0
- package/lib/azure-datalake/test/AzureStorageAccount.integ.d.ts +1 -0
- package/lib/azure-datalake/test/AzureStorageAccount.integ.js +60 -0
- package/lib/azure-eventhub/lib/authorization.js +1 -1
- package/lib/azure-eventhub/lib/consumer.js +1 -1
- package/lib/azure-eventhub/lib/eventhubcluster.js +1 -1
- package/lib/azure-eventhub/lib/instance.d.ts +1 -0
- package/lib/azure-eventhub/lib/instance.js +5 -4
- package/lib/azure-eventhub/lib/kusto-connection.js +1 -1
- package/lib/azure-eventhub/lib/namespace.js +8 -8
- package/lib/azure-eventhub/test/AzureEventhub.integ.d.ts +1 -0
- package/lib/azure-eventhub/test/AzureEventhub.integ.js +72 -0
- package/lib/azure-eventhub/test/AzureEventhub.spec.js +4 -21
- package/lib/azure-functionapp/lib/functionapplinux.js +1 -1
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.integ.d.ts +1 -0
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.integ.js +117 -0
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +4 -21
- package/lib/azure-keyvault/lib/certificate.js +2 -2
- package/lib/azure-keyvault/lib/key.js +1 -1
- package/lib/azure-keyvault/lib/policy.js +1 -1
- package/lib/azure-keyvault/lib/secret.js +1 -1
- package/lib/azure-keyvault/lib/vault.js +1 -1
- package/lib/azure-keyvault/test/AzureKeyVault.integ.d.ts +1 -0
- package/lib/azure-keyvault/test/AzureKeyVault.integ.js +119 -0
- package/lib/azure-keyvault/test/AzureKeyVault.spec.js +4 -29
- package/lib/azure-kubernetes/lib/cluster.js +1 -1
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.integ.d.ts +1 -0
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.integ.js +75 -0
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +4 -21
- package/lib/azure-kusto/lib/cluster.d.ts +3 -0
- package/lib/azure-kusto/lib/cluster.js +45 -21
- package/lib/azure-kusto/lib/compute-specification.js +1 -1
- package/lib/azure-kusto/lib/database.d.ts +7 -8
- package/lib/azure-kusto/lib/database.js +23 -25
- package/lib/azure-kusto/test/AzureKusto.integ.d.ts +1 -0
- package/lib/azure-kusto/test/AzureKusto.integ.js +74 -0
- package/lib/azure-kusto/test/AzureKusto.spec.js +3 -16
- package/lib/azure-loganalytics/lib/workspace.d.ts +2 -0
- package/lib/azure-loganalytics/lib/workspace.js +3 -2
- package/lib/azure-loganalytics/test/AzureLogAnalytics.integ.d.ts +1 -0
- package/lib/azure-loganalytics/test/AzureLogAnalytics.integ.js +117 -0
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +4 -17
- package/lib/azure-metricalert/lib/metric-alert.js +1 -1
- package/lib/azure-metricalert/test/AzureMetricAlert.integ.d.ts +1 -0
- package/lib/azure-metricalert/test/AzureMetricAlert.integ.js +85 -0
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +4 -21
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +1 -1
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +2 -2
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.integ.d.ts +1 -0
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.integ.js +85 -0
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +4 -17
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +1 -1
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.integ.d.ts +1 -0
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.integ.js +63 -0
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +4 -21
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-resourcegroup/test/AzureResourceGroup.integ.d.ts +1 -0
- package/lib/azure-resourcegroup/test/AzureResourceGroup.integ.js +41 -0
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +4 -17
- package/lib/azure-storageaccount/lib/account.d.ts +5 -0
- package/lib/azure-storageaccount/lib/account.js +3 -2
- package/lib/azure-storageaccount/lib/container.js +2 -2
- package/lib/azure-storageaccount/lib/fileshare.js +2 -2
- package/lib/azure-storageaccount/lib/queue.js +1 -1
- package/lib/azure-storageaccount/lib/table.js +1 -1
- package/lib/azure-storageaccount/test/AzureStorageAccount.integ.d.ts +1 -0
- package/lib/azure-storageaccount/test/AzureStorageAccount.integ.js +84 -0
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +4 -17
- package/lib/azure-virtualmachine/lib/image-references.js +2 -2
- package/lib/azure-virtualmachine/lib/vm.d.ts +21 -0
- package/lib/azure-virtualmachine/lib/vm.js +5 -3
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.integ.d.ts +1 -0
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.integ.js +109 -0
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +4 -17
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.integ.d.ts +1 -0
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.integ.js +105 -0
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +4 -17
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +20 -0
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +5 -3
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.integ.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.integ.js +113 -0
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +4 -17
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.integ.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.integ.js +109 -0
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +4 -17
- package/lib/azure-virtualnetwork/lib/network.js +1 -1
- package/lib/azure-virtualnetwork/lib/peering.js +1 -1
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.integ.d.ts +1 -0
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.integ.js +92 -0
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +4 -17
- package/lib/core-azure/lib/diagsettings.d.ts +3 -2
- package/lib/core-azure/lib/diagsettings.js +15 -21
- package/lib/core-azure/lib/rbac.js +1 -1
- package/lib/core-azure/lib/resource.js +5 -3
- package/lib/core-azure/test/AzureResource.integ.d.ts +1 -0
- package/lib/core-azure/test/AzureResource.integ.js +75 -0
- package/lib/testing/index.d.ts +34 -0
- package/lib/testing/index.js +235 -2
- package/package.json +6 -4
- package/cdktf.out/manifest.json +0 -13
- package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +0 -111
- package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +0 -588
- package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +0 -245
- package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +0 -179
- package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +0 -236
- package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +0 -436
- package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +0 -152
- package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +0 -209
- package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +0 -439
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +0 -283
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +0 -261
- package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +0 -309
- package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +0 -161
- package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +0 -271
- package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +0 -122
- package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +0 -88
- package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +0 -339
- package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +0 -264
- package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +0 -261
- package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +0 -280
- package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +0 -167
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +0 -5
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +0 -66
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +0 -5
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +0 -267
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +0 -5
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +0 -87
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +0 -5
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +0 -57
- package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +0 -5
- package/lib/azure-eventhub/test/ExampleAzureEventhub.js +0 -72
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +0 -5
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +0 -123
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +0 -5
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +0 -112
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +0 -5
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +0 -65
- package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +0 -5
- package/lib/azure-kusto/test/ExampleAzureKusto.js +0 -71
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +0 -5
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +0 -115
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +0 -5
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +0 -81
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +0 -5
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +0 -97
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +0 -5
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +0 -67
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +0 -5
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +0 -29
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +0 -5
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +0 -102
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +0 -5
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +0 -106
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +0 -5
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +0 -102
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +0 -5
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +0 -107
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +0 -5
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +0 -103
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +0 -5
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +0 -88
- package/lib/core-azure/test/AzureResource.spec.js +0 -19
- package/lib/core-azure/test/ExampleAzureResource.d.ts +0 -5
- package/lib/core-azure/test/ExampleAzureResource.js +0 -67
- package/tfsec.json +0 -4
- /package/lib/{core-azure/test/AzureResource.spec.d.ts → azure-actiongroup/test/AzureActionGroup.integ.d.ts} +0 -0
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureStorageAccount = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analytics-workspace");
|
|
6
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
7
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
8
|
-
const cdktf_1 = require("cdktf");
|
|
9
|
-
const cdktf = require("cdktf");
|
|
10
|
-
const storage = require("..");
|
|
11
|
-
const testing_1 = require("../../testing");
|
|
12
|
-
const app = new cdktf_1.App();
|
|
13
|
-
class exampleAzureStorageAccount extends testing_1.BaseTestStack {
|
|
14
|
-
constructor(scope, id) {
|
|
15
|
-
super(scope, id);
|
|
16
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
17
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
18
|
-
features: {},
|
|
19
|
-
});
|
|
20
|
-
// Create a resource group
|
|
21
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
22
|
-
name: `rg-${this.name}`,
|
|
23
|
-
location: "eastus",
|
|
24
|
-
});
|
|
25
|
-
const storageAccount = new storage.Account(this, "storageaccount", {
|
|
26
|
-
name: `sta${this.name}8898`,
|
|
27
|
-
resourceGroup: resourceGroup,
|
|
28
|
-
location: "eastus",
|
|
29
|
-
accountReplicationType: "LRS",
|
|
30
|
-
accountTier: "Standard",
|
|
31
|
-
enableHttpsTrafficOnly: true,
|
|
32
|
-
accessTier: "Hot",
|
|
33
|
-
isHnsEnabled: true,
|
|
34
|
-
minTlsVersion: "TLS1_2",
|
|
35
|
-
publicNetworkAccessEnabled: false,
|
|
36
|
-
});
|
|
37
|
-
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
38
|
-
location: "eastus",
|
|
39
|
-
name: `la-${this.name}`,
|
|
40
|
-
resourceGroupName: resourceGroup.name,
|
|
41
|
-
});
|
|
42
|
-
//Diag Settings
|
|
43
|
-
storageAccount.addDiagSettings({
|
|
44
|
-
name: "diagsettings",
|
|
45
|
-
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
46
|
-
metricCategories: ["AllMetrics"],
|
|
47
|
-
});
|
|
48
|
-
//RBAC
|
|
49
|
-
storageAccount.addAccess(clientConfig.objectId, "Contributor");
|
|
50
|
-
// Metric Alert
|
|
51
|
-
storageAccount.addMetricAlert({
|
|
52
|
-
name: "testalert",
|
|
53
|
-
criteria: [
|
|
54
|
-
{
|
|
55
|
-
metricName: "Availability",
|
|
56
|
-
metricNamespace: "Microsoft.Storage/storageAccounts",
|
|
57
|
-
aggregation: "Average",
|
|
58
|
-
operator: "LessThan",
|
|
59
|
-
threshold: 0,
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
});
|
|
63
|
-
// Storage Methods
|
|
64
|
-
const storageContainer = storageAccount.addContainer("testcontainer");
|
|
65
|
-
storageContainer.addBlob("testblob.txt", "../../../test.txt");
|
|
66
|
-
storageAccount.addContainer("testcontainer2");
|
|
67
|
-
const storageFileShare = storageAccount.addFileShare("testshare");
|
|
68
|
-
storageFileShare.addFile("testfile.txt", "../../../test.txt");
|
|
69
|
-
storageAccount.addTable("testtable");
|
|
70
|
-
storageAccount.addQueue("testqueue");
|
|
71
|
-
storageAccount.addNetworkRules({
|
|
72
|
-
bypass: ["AzureServices"],
|
|
73
|
-
defaultAction: "Deny",
|
|
74
|
-
ipRules: ["0.0.0.0/0"],
|
|
75
|
-
});
|
|
76
|
-
// Outputs to use for End to End Test
|
|
77
|
-
const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
78
|
-
value: resourceGroup.name,
|
|
79
|
-
});
|
|
80
|
-
const cdktfTerraformOutputSAName = new cdktf.TerraformOutput(this, "storage_account_name", {
|
|
81
|
-
value: storageAccount.name,
|
|
82
|
-
});
|
|
83
|
-
const cdktfTerraformOutputSAtier = new cdktf.TerraformOutput(this, "storage_account_account_tier", {
|
|
84
|
-
value: storageAccount.accountTier,
|
|
85
|
-
});
|
|
86
|
-
const cdktfTerraformOutputSAkind = new cdktf.TerraformOutput(this, "storage_account_account_kind", {
|
|
87
|
-
value: storageAccount.accountKind,
|
|
88
|
-
});
|
|
89
|
-
const cdktfTerraformOutputSAcontainer = new cdktf.TerraformOutput(this, "storage_container_name", {
|
|
90
|
-
value: storageContainer.name,
|
|
91
|
-
});
|
|
92
|
-
cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
|
|
93
|
-
cdktfTerraformOutputSAName.overrideLogicalId("storage_account_name");
|
|
94
|
-
cdktfTerraformOutputSAtier.overrideLogicalId("storage_account_account_tier");
|
|
95
|
-
cdktfTerraformOutputSAkind.overrideLogicalId("storage_account_account_kind");
|
|
96
|
-
cdktfTerraformOutputSAcontainer.overrideLogicalId("storage_container_name");
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
exports.exampleAzureStorageAccount = exampleAzureStorageAccount;
|
|
100
|
-
new exampleAzureStorageAccount(app, "testAzureStorageAccount");
|
|
101
|
-
app.synth();
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlU3RvcmFnZUFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtc3RvcmFnZWFjY291bnQvdGVzdC9FeGFtcGxlQXp1cmVTdG9yYWdlQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsaUNBQTRCO0FBQzVCLCtCQUErQjtBQUUvQiw4QkFBOEI7QUFDOUIsMkNBQThDO0FBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSwwQkFBMkIsU0FBUSx1QkFBYTtJQUMzRCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLElBQUksb0RBQXVCLENBQzlDLElBQUksRUFDSixxQkFBcUIsRUFDckIsRUFBRSxDQUNILENBQUM7UUFFRixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQztRQUVILDBCQUEwQjtRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDakUsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksTUFBTTtZQUMzQixhQUFhLEVBQUUsYUFBYTtZQUM1QixRQUFRLEVBQUUsUUFBUTtZQUNsQixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLFdB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LElBQUk7U0FDN0IsQ0FDRixDQUFDO1FBRUYsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3JFLDBCQUEwQixDQUFDLGlCQUFpQixDQUMxQyw4QkFBOEIsQ0FDL0IsQ0FBQztRQUNGLDBCQUEwQixDQUFDLGlCQUFpQixDQUMxQyw4QkFBOEIsQ0FDL0IsQ0FBQztRQUNGLCtCQUErQixDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGO0FBeElELGdFQXdJQztBQUVELElBQUksMEJBQTBCLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFFL0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBzdG9yYWdlIGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQmFzZVRlc3RTdGFjayB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuZXhwb3J0IGNsYXNzIGV4YW1wbGVBenVyZVN0b3JhZ2VBY2NvdW50IGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ3VycmVudENsaWVudENvbmZpZ1wiLFxuICAgICAge30sXG4gICAgKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGEgcmVzb3VyY2UgZ3JvdXBcbiAgICBjb25zdCByZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RvcmFnZUFjY291bnQgPSBuZXcgc3RvcmFnZS5BY2NvdW50KHRoaXMsIFwic3RvcmFnZWFjY291bnRcIiwge1xuICAgICAgbmFtZTogYHN0YSR7dGhpcy5uYW1lfTg4OThgLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgYWNjb3VudFJlcGxpY2F0aW9uVHlwZTogXCJMUlNcIixcbiAgICAgIGFjY291bnRUaWVyOiBcIlN0YW5kYXJkXCIsXG4gICAgICBlbmFibGVIdHRwc1RyYWZmaWNPbmx5OiB0cnVlLFxuICAgICAgYWNjZXNzVGllcjogXCJIb3RcIixcbiAgICAgIGlzSG5zRW5hYmxlZDogdHJ1ZSxcbiAgICAgIG1pblRsc1ZlcnNpb246IFwiVExTMV8yXCIsXG4gICAgICBwdWJsaWNOZXR3b3JrQWNjZXNzRW5hYmxlZDogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBsb2dBbmFseXRpY3NXb3Jrc3BhY2UgPSBuZXcgTG9nQW5hbHl0aWNzV29ya3NwYWNlKFxuICAgICAgdGhpcyxcbiAgICAgIFwibG9nX2FuYWx5dGljc1wiLFxuICAgICAge1xuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgbmFtZTogYGxhLSR7dGhpcy5uYW1lfWAsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvL0RpYWcgU2V0dGluZ3NcbiAgICBzdG9yYWdlQWNjb3VudC5hZGREaWFnU2V0dGluZ3Moe1xuICAgICAgbmFtZTogXCJkaWFnc2V0dGluZ3NcIixcbiAgICAgIGxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gICAgICBtZXRyaWNDYXRlZ29yaWVzOiBbXCJBbGxNZXRyaWNzXCJdLFxuICAgIH0pO1xuXG4gICAgLy9SQkFDXG4gICAgc3RvcmFnZUFjY291bnQuYWRkQWNjZXNzKGNsaWVudENvbmZpZy5vYmplY3RJZCwgXCJDb250cmlidXRvclwiKTtcblxuICAgIC8vIE1ldHJpYyBBbGVydFxuICAgIHN0b3JhZ2VBY2NvdW50LmFkZE1ldHJpY0FsZXJ0KHtcbiAgICAgIG5hbWU6IFwidGVzdGFsZXJ0XCIsXG4gICAgICBjcml0ZXJpYTogW1xuICAgICAgICB7XG4gICAgICAgICAgbWV0cmljTmFtZTogXCJBdmFpbGFiaWxpdHlcIixcbiAgICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IFwiTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzXCIsXG4gICAgICAgICAgYWdncmVnYXRpb246IFwiQXZlcmFnZVwiLFxuICAgICAgICAgIG9wZXJhdG9yOiBcIkxlc3NUaGFuXCIsXG4gICAgICAgICAgdGhyZXNob2xkOiAwLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIFN0b3JhZ2UgTWV0aG9kc1xuICAgIGNvbnN0IHN0b3JhZ2VDb250YWluZXIgPSBzdG9yYWdlQWNjb3VudC5hZGRDb250YWluZXIoXCJ0ZXN0Y29udGFpbmVyXCIpO1xuICAgIHN0b3JhZ2VDb250YWluZXIuYWRkQmxvYihcInRlc3RibG9iLnR4dFwiLCBcIi4uLy4uLy4uL3Rlc3QudHh0XCIpO1xuICAgIHN0b3JhZ2VBY2NvdW50LmFkZENvbnRhaW5lcihcInRlc3Rjb250YWluZXIyXCIpO1xuXG4gICAgY29uc3Qgc3RvcmFnZUZpbGVTaGFyZSA9IHN0b3JhZ2VBY2NvdW50LmFkZEZpbGVTaGFyZShcInRlc3RzaGFyZVwiKTtcbiAgICBzdG9yYWdlRmlsZVNoYXJlLmFkZEZpbGUoXCJ0ZXN0ZmlsZS50eHRcIiwgXCIuLi8uLi8uLi90ZXN0LnR4dFwiKTtcblxuICAgIHN0b3JhZ2VBY2NvdW50LmFkZFRhYmxlKFwidGVzdHRhYmxlXCIpO1xuXG4gICAgc3RvcmFnZUFjY291bnQuYWRkUXVldWUoXCJ0ZXN0cXVldWVcIik7XG5cbiAgICBzdG9yYWdlQWNjb3VudC5hZGROZXR3b3JrUnVsZXMoe1xuICAgICAgYnlwYXNzOiBbXCJBenVyZVNlcnZpY2VzXCJdLFxuICAgICAgZGVmYXVsdEFjdGlvbjogXCJEZW55XCIsXG4gICAgICBpcFJ1bGVzOiBbXCIwLjAuMC4wLzBcIl0sXG4gICAgfSk7XG5cbiAgICAvLyBPdXRwdXRzIHRvIHVzZSBmb3IgRW5kIHRvIEVuZCBUZXN0XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRSR05hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRTQU5hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwic3RvcmFnZV9hY2NvdW50X25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHN0b3JhZ2VBY2NvdW50Lm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFNBdGllciA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJzdG9yYWdlX2FjY291bnRfYWNjb3VudF90aWVyXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBzdG9yYWdlQWNjb3VudC5hY2NvdW50VGllcixcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0U0FraW5kID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInN0b3JhZ2VfYWNjb3VudF9hY2NvdW50X2tpbmRcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHN0b3JhZ2VBY2NvdW50LmFjY291bnRLaW5kLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRTQWNvbnRhaW5lciA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJzdG9yYWdlX2NvbnRhaW5lcl9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBzdG9yYWdlQ29udGFpbmVyLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFJHTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2dyb3VwX25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRTQU5hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJzdG9yYWdlX2FjY291bnRfbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFNBdGllci5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgIFwic3RvcmFnZV9hY2NvdW50X2FjY291bnRfdGllclwiLFxuICAgICk7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRTQWtpbmQub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICBcInN0b3JhZ2VfYWNjb3VudF9hY2NvdW50X2tpbmRcIixcbiAgICApO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0U0Fjb250YWluZXIub3ZlcnJpZGVMb2dpY2FsSWQoXCJzdG9yYWdlX2NvbnRhaW5lcl9uYW1lXCIpO1xuICB9XG59XG5cbm5ldyBleGFtcGxlQXp1cmVTdG9yYWdlQWNjb3VudChhcHAsIFwidGVzdEF6dXJlU3RvcmFnZUFjY291bnRcIik7XG5cbmFwcC5zeW50aCgpO1xuIl19
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureLinuxVirtualMachine = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
6
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
7
|
-
const storage_account_1 = require("@cdktf/provider-azurerm/lib/storage-account");
|
|
8
|
-
const subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
|
|
9
|
-
const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
|
|
10
|
-
const cdktf = require("cdktf");
|
|
11
|
-
const cdktf_1 = require("cdktf");
|
|
12
|
-
const vm = require("..");
|
|
13
|
-
const testing_1 = require("../../testing");
|
|
14
|
-
const app = new cdktf_1.App();
|
|
15
|
-
class exampleAzureLinuxVirtualMachine extends testing_1.BaseTestStack {
|
|
16
|
-
constructor(scope, id) {
|
|
17
|
-
super(scope, id);
|
|
18
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
19
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
20
|
-
features: {},
|
|
21
|
-
});
|
|
22
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
23
|
-
location: "eastus",
|
|
24
|
-
name: `rg-${this.name}`,
|
|
25
|
-
});
|
|
26
|
-
const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
|
|
27
|
-
name: `vnet-${this.name}`,
|
|
28
|
-
location: resourceGroup.location,
|
|
29
|
-
resourceGroupName: resourceGroup.name,
|
|
30
|
-
addressSpace: ["10.0.0.0/16"],
|
|
31
|
-
});
|
|
32
|
-
const subnet = new subnet_1.Subnet(this, "subnet1", {
|
|
33
|
-
name: "subnet1",
|
|
34
|
-
resourceGroupName: resourceGroup.name,
|
|
35
|
-
virtualNetworkName: vnet.name,
|
|
36
|
-
addressPrefixes: ["10.0.1.0/24"],
|
|
37
|
-
});
|
|
38
|
-
const storage = new storage_account_1.StorageAccount(this, "storage", {
|
|
39
|
-
name: `sta${this.name}08l98`,
|
|
40
|
-
resourceGroupName: resourceGroup.name,
|
|
41
|
-
location: resourceGroup.location,
|
|
42
|
-
accountReplicationType: "LRS",
|
|
43
|
-
accountTier: "Standard",
|
|
44
|
-
minTlsVersion: "TLS1_2",
|
|
45
|
-
publicNetworkAccessEnabled: false,
|
|
46
|
-
networkRules: {
|
|
47
|
-
bypass: ["AzureServices"],
|
|
48
|
-
defaultAction: "Deny",
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
const linuxVm = new vm.LinuxVM(this, "vm", {
|
|
52
|
-
name: this.name,
|
|
53
|
-
location: "eastus",
|
|
54
|
-
resourceGroup: resourceGroup,
|
|
55
|
-
size: "Standard_B1s",
|
|
56
|
-
adminUsername: "testadmin",
|
|
57
|
-
adminPassword: "Password1234!",
|
|
58
|
-
osDisk: {
|
|
59
|
-
caching: "ReadWrite",
|
|
60
|
-
storageAccountType: "Standard_LRS",
|
|
61
|
-
},
|
|
62
|
-
sourceImageReference: {
|
|
63
|
-
publisher: "Canonical",
|
|
64
|
-
offer: "0001-com-ubuntu-server-jammy",
|
|
65
|
-
sku: "22_04-lts-gen2",
|
|
66
|
-
version: "latest",
|
|
67
|
-
},
|
|
68
|
-
subnet: subnet,
|
|
69
|
-
publicIPAllocationMethod: "Static",
|
|
70
|
-
userData: "#!/bin/bash\nsudo apt-get install -y apache2",
|
|
71
|
-
enableSshAzureADLogin: true,
|
|
72
|
-
identity: {
|
|
73
|
-
type: "SystemAssigned",
|
|
74
|
-
},
|
|
75
|
-
bootDiagnosticsStorageURI: storage.primaryBlobEndpoint,
|
|
76
|
-
});
|
|
77
|
-
// Diag Settings
|
|
78
|
-
linuxVm.addDiagSettings({
|
|
79
|
-
name: "diagsettings",
|
|
80
|
-
storageAccountId: storage.id,
|
|
81
|
-
});
|
|
82
|
-
// RBAC
|
|
83
|
-
linuxVm.addAccess(clientConfig.objectId, "Contributor");
|
|
84
|
-
// Outputs to use for End to End Test
|
|
85
|
-
const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
86
|
-
value: resourceGroup.name,
|
|
87
|
-
});
|
|
88
|
-
const cdktfTerraformOutputNsgName = new cdktf.TerraformOutput(this, "vm_name", {
|
|
89
|
-
value: linuxVm.name,
|
|
90
|
-
});
|
|
91
|
-
const cdktfTerraformOutputVmsize = new cdktf.TerraformOutput(this, "vm_size", {
|
|
92
|
-
value: "Standard_B1s",
|
|
93
|
-
});
|
|
94
|
-
const cdktfTerraformOutputVmEndpoint = new cdktf.TerraformOutput(this, "vm_endpoint", {
|
|
95
|
-
value: linuxVm.publicIp,
|
|
96
|
-
});
|
|
97
|
-
cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
|
|
98
|
-
cdktfTerraformOutputNsgName.overrideLogicalId("vm_name");
|
|
99
|
-
cdktfTerraformOutputVmsize.overrideLogicalId("vm_size");
|
|
100
|
-
cdktfTerraformOutputVmEndpoint.overrideLogicalId("vm_endpoint");
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.exampleAzureLinuxVirtualMachine = exampleAzureLinuxVirtualMachine;
|
|
104
|
-
new exampleAzureLinuxVirtualMachine(app, "testAzureLinuxVirtualMachineExample");
|
|
105
|
-
app.synth();
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlTGludXhWaXJ0dWFsTWFjaGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbWFjaGluZS90ZXN0L0V4YW1wbGVBenVyZUxpbnV4VmlydHVhbE1hY2hpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUdBQWlHO0FBQ2pHLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsaUZBQTZFO0FBQzdFLCtEQUE0RDtBQUM1RCxpRkFBNkU7QUFDN0UsK0JBQStCO0FBQy9CLGlDQUE0QjtBQUU1Qix5QkFBeUI7QUFDekIsMkNBQThDO0FBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSwrQkFBZ0MsU0FBUSx1QkFBYTtJQUNoRSxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLElBQUksb0RBQXVCLENBQzlDLElBQUksRUFDSixxQkFBcUIsRUFDckIsRUFBRSxDQUNILENBQUM7UUFFRixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDNUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDaEMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLElB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aUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSwyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUF6SEQsMEVBeUhDO0FBRUQsSUFBSSwrQkFBK0IsQ0FBQyxHQUFHLEVBQUUscUNBQXFDLENBQUMsQ0FBQztBQUVoRixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZGF0YS1henVyZXJtLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBTdG9yYWdlQWNjb3VudCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvc3RvcmFnZS1hY2NvdW50XCI7XG5pbXBvcnQgeyBTdWJuZXQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N1Ym5ldFwiO1xuaW1wb3J0IHsgVmlydHVhbE5ldHdvcmsgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3ZpcnR1YWwtbmV0d29ya1wiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB2bSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmV4cG9ydCBjbGFzcyBleGFtcGxlQXp1cmVMaW51eFZpcnR1YWxNYWNoaW5lIGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ3VycmVudENsaWVudENvbmZpZ1wiLFxuICAgICAge30sXG4gICAgKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZuZXQgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0XCIsIHtcbiAgICAgIG5hbWU6IGB2bmV0LSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBhZGRyZXNzU3BhY2U6IFtcIjEwLjAuMC4wLzE2XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0ID0gbmV3IFN1Ym5ldCh0aGlzLCBcInN1Ym5ldDFcIiwge1xuICAgICAgbmFtZTogXCJzdWJuZXQxXCIsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgdmlydHVhbE5ldHdvcmtOYW1lOiB2bmV0Lm5hbWUsXG4gICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMS4wLzI0XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBTdG9yYWdlQWNjb3VudCh0aGlzLCBcInN0b3JhZ2VcIiwge1xuICAgICAgbmFtZTogYHN0YSR7dGhpcy5uYW1lfTA4bDk4YCxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIGFjY291bnRSZXBsaWNhdGlvblR5cGU6IFwiTFJTXCIsXG4gICAgICBhY2NvdW50VGllcjogXCJTdGFuZGFyZFwiLFxuICAgICAgbWluVGxzVmVyc2lvbjogXCJUTFMxXzJcIixcbiAgICAgIHB1YmxpY05ldHdvcmtBY2Nlc3NFbmFibGVkOiBmYWxzZSxcbiAgICAgIG5ldHdvcmtSdWxlczoge1xuICAgICAgICBieXBhc3M6IFtcIkF6dXJlU2VydmljZXNcIl0sXG4gICAgICAgIGRlZmF1bHRBY3Rpb246IFwiRGVueVwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxpbnV4Vm0gPSBuZXcgdm0uTGludXhWTSh0aGlzLCBcInZtXCIsIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIHNpemU6IFwiU3RhbmRhcmRfQjFzXCIsXG4gICAgICBhZG1pblVzZXJuYW1lOiBcInRlc3RhZG1pblwiLFxuICAgICAgYWRtaW5QYXNzd29yZDogXCJQYXNzd29yZDEyMzQhXCIsXG4gICAgICBvc0Rpc2s6IHtcbiAgICAgICAgY2FjaGluZzogXCJSZWFkV3JpdGVcIixcbiAgICAgICAgc3RvcmFnZUFjY291bnRUeXBlOiBcIlN0YW5kYXJkX0xSU1wiLFxuICAgICAgfSxcbiAgICAgIHNvdXJjZUltYWdlUmVmZXJlbmNlOiB7XG4gICAgICAgIHB1Ymxpc2hlcjogXCJDYW5vbmljYWxcIixcbiAgICAgICAgb2ZmZXI6IFwiMDAwMS1jb20tdWJ1bnR1LXNlcnZlci1qYW1teVwiLFxuICAgICAgICBza3U6IFwiMjJfMDQtbHRzLWdlbjJcIixcbiAgICAgICAgdmVyc2lvbjogXCJsYXRlc3RcIixcbiAgICAgIH0sXG4gICAgICBzdWJuZXQ6IHN1Ym5ldCxcbiAgICAgIHB1YmxpY0lQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgIHVzZXJEYXRhOiBcIiMhL2Jpbi9iYXNoXFxuc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXkgYXBhY2hlMlwiLFxuICAgICAgZW5hYmxlU3NoQXp1cmVBRExvZ2luOiB0cnVlLFxuICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiLFxuICAgICAgfSxcbiAgICAgIGJvb3REaWFnbm9zdGljc1N0b3JhZ2VVUkk6IHN0b3JhZ2UucHJpbWFyeUJsb2JFbmRwb2ludCxcbiAgICB9KTtcblxuICAgIC8vIERpYWcgU2V0dGluZ3NcbiAgICBsaW51eFZtLmFkZERpYWdTZXR0aW5ncyh7XG4gICAgICBuYW1lOiBcImRpYWdzZXR0aW5nc1wiLFxuICAgICAgc3RvcmFnZUFjY291bnRJZDogc3RvcmFnZS5pZCxcbiAgICB9KTtcblxuICAgIC8vIFJCQUNcbiAgICBsaW51eFZtLmFkZEFjY2VzcyhjbGllbnRDb25maWcub2JqZWN0SWQsIFwiQ29udHJpYnV0b3JcIik7XG5cbiAgICAvLyBPdXRwdXRzIHRvIHVzZSBmb3IgRW5kIHRvIEVuZCBUZXN0XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRSR05hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXROc2dOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInZtX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGxpbnV4Vm0ubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0Vm1zaXplID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInZtX3NpemVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IFwiU3RhbmRhcmRfQjFzXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFZtRW5kcG9pbnQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwidm1fZW5kcG9pbnRcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGxpbnV4Vm0ucHVibGljSXAsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFJHTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2dyb3VwX25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXROc2dOYW1lLm92ZXJyaWRlTG9naWNhbElkKFwidm1fbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFZtc2l6ZS5vdmVycmlkZUxvZ2ljYWxJZChcInZtX3NpemVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRWbUVuZHBvaW50Lm92ZXJyaWRlTG9naWNhbElkKFwidm1fZW5kcG9pbnRcIik7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZUxpbnV4VmlydHVhbE1hY2hpbmUoYXBwLCBcInRlc3RBenVyZUxpbnV4VmlydHVhbE1hY2hpbmVFeGFtcGxlXCIpO1xuXG5hcHAuc3ludGgoKTtcbiJdfQ==
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureWindowsVirtualMachine = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
6
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
7
|
-
const storage_account_1 = require("@cdktf/provider-azurerm/lib/storage-account");
|
|
8
|
-
const subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
|
|
9
|
-
const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
|
|
10
|
-
const cdktf = require("cdktf");
|
|
11
|
-
const cdktf_1 = require("cdktf");
|
|
12
|
-
const vm = require("..");
|
|
13
|
-
const testing_1 = require("../../testing");
|
|
14
|
-
const app = new cdktf_1.App();
|
|
15
|
-
class exampleAzureWindowsVirtualMachine extends testing_1.BaseTestStack {
|
|
16
|
-
constructor(scope, id) {
|
|
17
|
-
super(scope, id);
|
|
18
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
19
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
20
|
-
features: {},
|
|
21
|
-
});
|
|
22
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
23
|
-
location: "eastus",
|
|
24
|
-
name: `rg-${this.name}`,
|
|
25
|
-
});
|
|
26
|
-
const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
|
|
27
|
-
name: `vnet-${this.name}`,
|
|
28
|
-
location: resourceGroup.location,
|
|
29
|
-
resourceGroupName: resourceGroup.name,
|
|
30
|
-
addressSpace: ["10.0.0.0/16"],
|
|
31
|
-
});
|
|
32
|
-
const subnet = new subnet_1.Subnet(this, "subnet1", {
|
|
33
|
-
name: "subnet1",
|
|
34
|
-
resourceGroupName: resourceGroup.name,
|
|
35
|
-
virtualNetworkName: vnet.name,
|
|
36
|
-
addressPrefixes: ["10.0.1.0/24"],
|
|
37
|
-
});
|
|
38
|
-
const storage = new storage_account_1.StorageAccount(this, "storage", {
|
|
39
|
-
name: `sta${this.name}87u98`,
|
|
40
|
-
resourceGroupName: resourceGroup.name,
|
|
41
|
-
location: resourceGroup.location,
|
|
42
|
-
accountReplicationType: "LRS",
|
|
43
|
-
accountTier: "Standard",
|
|
44
|
-
minTlsVersion: "TLS1_2",
|
|
45
|
-
publicNetworkAccessEnabled: false,
|
|
46
|
-
networkRules: {
|
|
47
|
-
bypass: ["AzureServices"],
|
|
48
|
-
defaultAction: "Deny",
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
const winVm = new vm.WindowsVM(this, "vm", {
|
|
52
|
-
name: this.name,
|
|
53
|
-
location: "eastus",
|
|
54
|
-
resourceGroup: resourceGroup,
|
|
55
|
-
size: "Standard_B1s",
|
|
56
|
-
adminUsername: "testadmin",
|
|
57
|
-
adminPassword: "Password1234!",
|
|
58
|
-
osDisk: {
|
|
59
|
-
caching: "ReadWrite",
|
|
60
|
-
storageAccountType: "Standard_LRS",
|
|
61
|
-
},
|
|
62
|
-
sourceImageReference: {
|
|
63
|
-
publisher: "MicrosoftWindowsServer",
|
|
64
|
-
offer: "WindowsServer",
|
|
65
|
-
sku: "2019-Datacenter",
|
|
66
|
-
version: "latest",
|
|
67
|
-
},
|
|
68
|
-
subnet: subnet,
|
|
69
|
-
publicIPAllocationMethod: "Static",
|
|
70
|
-
boostrapCustomData: "Install-WindowsFeature -Name Web-Server; $website = '<h1>Hello World!</h1>'; Set-Content \"C:\\inetpub\\wwwroot\\iisstart.htm\" $website",
|
|
71
|
-
bootDiagnosticsStorageURI: storage.primaryBlobEndpoint,
|
|
72
|
-
});
|
|
73
|
-
// Diag Settings
|
|
74
|
-
winVm.addDiagSettings({
|
|
75
|
-
name: "diagsettings",
|
|
76
|
-
storageAccountId: storage.id,
|
|
77
|
-
});
|
|
78
|
-
// RBAC
|
|
79
|
-
winVm.addAccess(clientConfig.objectId, "Contributor");
|
|
80
|
-
// Outputs to use for End to End Test
|
|
81
|
-
const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
82
|
-
value: resourceGroup.name,
|
|
83
|
-
});
|
|
84
|
-
const cdktfTerraformOutputNsgName = new cdktf.TerraformOutput(this, "vm_name", {
|
|
85
|
-
value: winVm.name,
|
|
86
|
-
});
|
|
87
|
-
const cdktfTerraformOutputVmsize = new cdktf.TerraformOutput(this, "vm_size", {
|
|
88
|
-
value: "Standard_B1s",
|
|
89
|
-
});
|
|
90
|
-
const cdktfTerraformOutputVmEndpoint = new cdktf.TerraformOutput(this, "vm_endpoint", {
|
|
91
|
-
value: winVm.publicIp,
|
|
92
|
-
});
|
|
93
|
-
cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
|
|
94
|
-
cdktfTerraformOutputNsgName.overrideLogicalId("vm_name");
|
|
95
|
-
cdktfTerraformOutputVmsize.overrideLogicalId("vm_size");
|
|
96
|
-
cdktfTerraformOutputVmEndpoint.overrideLogicalId("vm_endpoint");
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
exports.exampleAzureWindowsVirtualMachine = exampleAzureWindowsVirtualMachine;
|
|
100
|
-
new exampleAzureWindowsVirtualMachine(app, "testAzureWindowsVirtualMachineExample");
|
|
101
|
-
app.synth();
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlV2luZG93c1ZpcnR1YWxNYWNoaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXZpcnR1YWxtYWNoaW5lL3Rlc3QvRXhhbXBsZUF6dXJlV2luZG93c1ZpcnR1YWxNYWNoaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVHQUFpRztBQUNqRyxtRUFBdUU7QUFDdkUsK0VBQTJFO0FBQzNFLGlGQUE2RTtBQUM3RSwrREFBNEQ7QUFDNUQsaUZBQTZFO0FBQzdFLCtCQUErQjtBQUMvQixpQ0FBNEI7QUFFNUIseUJBQXlCO0FBQ3pCLDJDQUE4QztBQUU5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQWEsaUNBQWtDLFNBQVEsdUJBQWE7SUFDbEUsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFlBQVksR0FBRyxJQUFJLG9EQUF1QixDQUM5QyxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLEVBQUUsQ0FDSCxDQUFDO1FBRUYsSUFBSSwwQkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzVDLElBQUksRUFBRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDekIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO1lBQ2hDLGlCQUFpQixFQUFFLGFBQWEsQ0FB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QUFTLENBQUMsQ0FBQztRQUN6RCwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUF0SEQsOEVBc0hDO0FBRUQsSUFBSSxpQ0FBaUMsQ0FDbkMsR0FBRyxFQUNILHVDQUF1QyxDQUN4QyxDQUFDO0FBRUYsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3RvcmFnZUFjY291bnQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N0b3JhZ2UtYWNjb3VudFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdWJuZXRcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi92aXJ0dWFsLW5ldHdvcmtcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdm0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG5leHBvcnQgY2xhc3MgZXhhbXBsZUF6dXJlV2luZG93c1ZpcnR1YWxNYWNoaW5lIGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ3VycmVudENsaWVudENvbmZpZ1wiLFxuICAgICAge30sXG4gICAgKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZuZXQgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0XCIsIHtcbiAgICAgIG5hbWU6IGB2bmV0LSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBhZGRyZXNzU3BhY2U6IFtcIjEwLjAuMC4wLzE2XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0ID0gbmV3IFN1Ym5ldCh0aGlzLCBcInN1Ym5ldDFcIiwge1xuICAgICAgbmFtZTogXCJzdWJuZXQxXCIsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgdmlydHVhbE5ldHdvcmtOYW1lOiB2bmV0Lm5hbWUsXG4gICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMS4wLzI0XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBTdG9yYWdlQWNjb3VudCh0aGlzLCBcInN0b3JhZ2VcIiwge1xuICAgICAgbmFtZTogYHN0YSR7dGhpcy5uYW1lfTg3dTk4YCxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIGFjY291bnRSZXBsaWNhdGlvblR5cGU6IFwiTFJTXCIsXG4gICAgICBhY2NvdW50VGllcjogXCJTdGFuZGFyZFwiLFxuICAgICAgbWluVGxzVmVyc2lvbjogXCJUTFMxXzJcIixcbiAgICAgIHB1YmxpY05ldHdvcmtBY2Nlc3NFbmFibGVkOiBmYWxzZSxcbiAgICAgIG5ldHdvcmtSdWxlczoge1xuICAgICAgICBieXBhc3M6IFtcIkF6dXJlU2VydmljZXNcIl0sXG4gICAgICAgIGRlZmF1bHRBY3Rpb246IFwiRGVueVwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHdpblZtID0gbmV3IHZtLldpbmRvd3NWTSh0aGlzLCBcInZtXCIsIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIHNpemU6IFwiU3RhbmRhcmRfQjFzXCIsXG4gICAgICBhZG1pblVzZXJuYW1lOiBcInRlc3RhZG1pblwiLFxuICAgICAgYWRtaW5QYXNzd29yZDogXCJQYXNzd29yZDEyMzQhXCIsXG4gICAgICBvc0Rpc2s6IHtcbiAgICAgICAgY2FjaGluZzogXCJSZWFkV3JpdGVcIixcbiAgICAgICAgc3RvcmFnZUFjY291bnRUeXBlOiBcIlN0YW5kYXJkX0xSU1wiLFxuICAgICAgfSxcbiAgICAgIHNvdXJjZUltYWdlUmVmZXJlbmNlOiB7XG4gICAgICAgIHB1Ymxpc2hlcjogXCJNaWNyb3NvZnRXaW5kb3dzU2VydmVyXCIsXG4gICAgICAgIG9mZmVyOiBcIldpbmRvd3NTZXJ2ZXJcIixcbiAgICAgICAgc2t1OiBcIjIwMTktRGF0YWNlbnRlclwiLFxuICAgICAgICB2ZXJzaW9uOiBcImxhdGVzdFwiLFxuICAgICAgfSxcbiAgICAgIHN1Ym5ldDogc3VibmV0LFxuICAgICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiLFxuICAgICAgYm9vc3RyYXBDdXN0b21EYXRhOlxuICAgICAgICBcIkluc3RhbGwtV2luZG93c0ZlYXR1cmUgLU5hbWUgV2ViLVNlcnZlcjsgJHdlYnNpdGUgPSAnPGgxPkhlbGxvIFdvcmxkITwvaDE+JzsgU2V0LUNvbnRlbnQgXFxcIkM6XFxcXGluZXRwdWJcXFxcd3d3cm9vdFxcXFxpaXNzdGFydC5odG1cXFwiICR3ZWJzaXRlXCIsXG4gICAgICBib290RGlhZ25vc3RpY3NTdG9yYWdlVVJJOiBzdG9yYWdlLnByaW1hcnlCbG9iRW5kcG9pbnQsXG4gICAgfSk7XG5cbiAgICAvLyBEaWFnIFNldHRpbmdzXG4gICAgd2luVm0uYWRkRGlhZ1NldHRpbmdzKHtcbiAgICAgIG5hbWU6IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICBzdG9yYWdlQWNjb3VudElkOiBzdG9yYWdlLmlkLFxuICAgIH0pO1xuXG4gICAgLy8gUkJBQ1xuICAgIHdpblZtLmFkZEFjY2VzcyhjbGllbnRDb25maWcub2JqZWN0SWQsIFwiQ29udHJpYnV0b3JcIik7XG5cbiAgICAvLyBPdXRwdXRzIHRvIHVzZSBmb3IgRW5kIHRvIEVuZCBUZXN0XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRSR05hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXROc2dOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInZtX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHdpblZtLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFZtc2l6ZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJ2bV9zaXplXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBcIlN0YW5kYXJkX0Ixc1wiLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRWbUVuZHBvaW50ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInZtX2VuZHBvaW50XCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB3aW5WbS5wdWJsaWNJcCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0UkdOYW1lLm92ZXJyaWRlTG9naWNhbElkKFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dE5zZ05hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJ2bV9uYW1lXCIpO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0Vm1zaXplLm92ZXJyaWRlTG9naWNhbElkKFwidm1fc2l6ZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFZtRW5kcG9pbnQub3ZlcnJpZGVMb2dpY2FsSWQoXCJ2bV9lbmRwb2ludFwiKTtcbiAgfVxufVxuXG5uZXcgZXhhbXBsZUF6dXJlV2luZG93c1ZpcnR1YWxNYWNoaW5lKFxuICBhcHAsXG4gIFwidGVzdEF6dXJlV2luZG93c1ZpcnR1YWxNYWNoaW5lRXhhbXBsZVwiLFxuKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureLinuxVirtualMachineScaleSet = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
6
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
7
|
-
const storage_account_1 = require("@cdktf/provider-azurerm/lib/storage-account");
|
|
8
|
-
const subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
|
|
9
|
-
const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
|
|
10
|
-
const cdktf = require("cdktf");
|
|
11
|
-
const cdktf_1 = require("cdktf");
|
|
12
|
-
const vmss = require("..");
|
|
13
|
-
const testing_1 = require("../../testing");
|
|
14
|
-
const app = new cdktf_1.App();
|
|
15
|
-
class exampleAzureLinuxVirtualMachineScaleSet extends testing_1.BaseTestStack {
|
|
16
|
-
constructor(scope, id) {
|
|
17
|
-
super(scope, id);
|
|
18
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
19
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
20
|
-
features: {},
|
|
21
|
-
});
|
|
22
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
23
|
-
location: "eastus",
|
|
24
|
-
name: `rg-${this.name}`,
|
|
25
|
-
});
|
|
26
|
-
const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
|
|
27
|
-
name: `vnet-${this.name}`,
|
|
28
|
-
location: resourceGroup.location,
|
|
29
|
-
resourceGroupName: resourceGroup.name,
|
|
30
|
-
addressSpace: ["10.0.0.0/16"],
|
|
31
|
-
});
|
|
32
|
-
const subnet = new subnet_1.Subnet(this, "subnet1", {
|
|
33
|
-
name: "subnet1",
|
|
34
|
-
resourceGroupName: resourceGroup.name,
|
|
35
|
-
virtualNetworkName: vnet.name,
|
|
36
|
-
addressPrefixes: ["10.0.1.0/24"],
|
|
37
|
-
});
|
|
38
|
-
const storage = new storage_account_1.StorageAccount(this, "storage", {
|
|
39
|
-
name: `sta${this.name}88r93`,
|
|
40
|
-
resourceGroupName: resourceGroup.name,
|
|
41
|
-
location: resourceGroup.location,
|
|
42
|
-
accountReplicationType: "LRS",
|
|
43
|
-
accountTier: "Standard",
|
|
44
|
-
minTlsVersion: "TLS1_2",
|
|
45
|
-
publicNetworkAccessEnabled: false,
|
|
46
|
-
networkRules: {
|
|
47
|
-
bypass: ["AzureServices"],
|
|
48
|
-
defaultAction: "Deny",
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
const vm = new vmss.LinuxCluster(this, "vm", {
|
|
52
|
-
name: this.name,
|
|
53
|
-
location: "eastus",
|
|
54
|
-
resourceGroup: resourceGroup,
|
|
55
|
-
sku: "Standard_B1s",
|
|
56
|
-
adminUsername: "testadmin",
|
|
57
|
-
adminPassword: "Password1234!",
|
|
58
|
-
osDisk: {
|
|
59
|
-
caching: "ReadWrite",
|
|
60
|
-
storageAccountType: "Standard_LRS",
|
|
61
|
-
},
|
|
62
|
-
sourceImageReference: {
|
|
63
|
-
publisher: "Canonical",
|
|
64
|
-
offer: "0001-com-ubuntu-server-jammy",
|
|
65
|
-
sku: "22_04-lts-gen2",
|
|
66
|
-
version: "latest",
|
|
67
|
-
},
|
|
68
|
-
subnet: subnet,
|
|
69
|
-
publicIPAddress: [
|
|
70
|
-
{
|
|
71
|
-
name: "testpublicip",
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
userData: "#!/bin/bash\nsudo apt-get install -y apache2",
|
|
75
|
-
enableSshAzureADLogin: true,
|
|
76
|
-
identity: {
|
|
77
|
-
type: "SystemAssigned",
|
|
78
|
-
},
|
|
79
|
-
bootDiagnosticsStorageURI: storage.primaryBlobEndpoint,
|
|
80
|
-
});
|
|
81
|
-
// Diag Settings
|
|
82
|
-
vm.addDiagSettings({ name: "diagsettings", storageAccountId: storage.id });
|
|
83
|
-
// RBAC
|
|
84
|
-
vm.addAccess(clientConfig.objectId, "Contributor");
|
|
85
|
-
// Outputs to use for End to End Test
|
|
86
|
-
const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
87
|
-
value: resourceGroup.name,
|
|
88
|
-
});
|
|
89
|
-
const cdktfTerraformOutputNsgName = new cdktf.TerraformOutput(this, "vm_name", {
|
|
90
|
-
value: vm.name,
|
|
91
|
-
});
|
|
92
|
-
const cdktfTerraformOutputVmsize = new cdktf.TerraformOutput(this, "vm_size", {
|
|
93
|
-
value: "Standard_B1s",
|
|
94
|
-
});
|
|
95
|
-
const cdktfTerraformOutputVmEndpoint = new cdktf.TerraformOutput(this, "public_ip_name", {
|
|
96
|
-
value: "testpublicip",
|
|
97
|
-
});
|
|
98
|
-
cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
|
|
99
|
-
cdktfTerraformOutputNsgName.overrideLogicalId("vm_name");
|
|
100
|
-
cdktfTerraformOutputVmsize.overrideLogicalId("vm_size");
|
|
101
|
-
cdktfTerraformOutputVmEndpoint.overrideLogicalId("public_ip_name");
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
exports.exampleAzureLinuxVirtualMachineScaleSet = exampleAzureLinuxVirtualMachineScaleSet;
|
|
105
|
-
new exampleAzureLinuxVirtualMachineScaleSet(app, "testAzureLinuxVirtualMachineScaleSetExample");
|
|
106
|
-
app.synth();
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlTGludXhWaXJ0dWFsTWFjaGluZVNjYWxlU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXZpcnR1YWxtYWNoaW5lc2NhbGVzZXQvdGVzdC9FeGFtcGxlQXp1cmVMaW51eFZpcnR1YWxNYWNoaW5lU2NhbGVTZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUdBQWlHO0FBQ2pHLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsaUZBQTZFO0FBQzdFLCtEQUE0RDtBQUM1RCxpRkFBNkU7QUFDN0UsK0JBQStCO0FBQy9CLGlDQUE0QjtBQUU1QiwyQkFBMkI7QUFDM0IsMkNBQThDO0FBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSx1Q0FBd0MsU0FBUSx1QkFBYTtJQUN4RSxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLElBQUksb0RBQXVCLENBQzlDLElBQUksRUFDSixxQkFBcUIsRUFDckIsRUFBRSxDQUNILENBQUM7UUFFRixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDNUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDaEMs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SyxFQUFFLGNBQWM7U0FDdEIsQ0FDRixDQUFDO1FBRUYsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSwyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQTFIRCwwRkEwSEM7QUFFRCxJQUFJLHVDQUF1QyxDQUN6QyxHQUFHLEVBQ0gsNkNBQTZDLENBQzlDLENBQUM7QUFFRixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZGF0YS1henVyZXJtLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBTdG9yYWdlQWNjb3VudCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvc3RvcmFnZS1hY2NvdW50XCI7XG5pbXBvcnQgeyBTdWJuZXQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N1Ym5ldFwiO1xuaW1wb3J0IHsgVmlydHVhbE5ldHdvcmsgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3ZpcnR1YWwtbmV0d29ya1wiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB2bXNzIGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQmFzZVRlc3RTdGFjayB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuZXhwb3J0IGNsYXNzIGV4YW1wbGVBenVyZUxpbnV4VmlydHVhbE1hY2hpbmVTY2FsZVNldCBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGNsaWVudENvbmZpZyA9IG5ldyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyhcbiAgICAgIHRoaXMsXG4gICAgICBcIkN1cnJlbnRDbGllbnRDb25maWdcIixcbiAgICAgIHt9LFxuICAgICk7XG5cbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHRoaXMsIFwiYXp1cmVGZWF0dXJlXCIsIHtcbiAgICAgIGZlYXR1cmVzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cCh0aGlzLCBcInJnXCIsIHtcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgbmFtZTogYHJnLSR7dGhpcy5uYW1lfWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCB2bmV0ID0gbmV3IFZpcnR1YWxOZXR3b3JrKHRoaXMsIFwidm5ldFwiLCB7XG4gICAgICBuYW1lOiBgdm5ldC0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IHJlc291cmNlR3JvdXAubG9jYXRpb24sXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgYWRkcmVzc1NwYWNlOiBbXCIxMC4wLjAuMC8xNlwiXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN1Ym5ldCA9IG5ldyBTdWJuZXQodGhpcywgXCJzdWJuZXQxXCIsIHtcbiAgICAgIG5hbWU6IFwic3VibmV0MVwiLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogdm5ldC5uYW1lLFxuICAgICAgYWRkcmVzc1ByZWZpeGVzOiBbXCIxMC4wLjEuMC8yNFwiXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0b3JhZ2UgPSBuZXcgU3RvcmFnZUFjY291bnQodGhpcywgXCJzdG9yYWdlXCIsIHtcbiAgICAgIG5hbWU6IGBzdGEke3RoaXMubmFtZX04OHI5M2AsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgbG9jYXRpb246IHJlc291cmNlR3JvdXAubG9jYXRpb24sXG4gICAgICBhY2NvdW50UmVwbGljYXRpb25UeXBlOiBcIkxSU1wiLFxuICAgICAgYWNjb3VudFRpZXI6IFwiU3RhbmRhcmRcIixcbiAgICAgIG1pblRsc1ZlcnNpb246IFwiVExTMV8yXCIsXG4gICAgICBwdWJsaWNOZXR3b3JrQWNjZXNzRW5hYmxlZDogZmFsc2UsXG4gICAgICBuZXR3b3JrUnVsZXM6IHtcbiAgICAgICAgYnlwYXNzOiBbXCJBenVyZVNlcnZpY2VzXCJdLFxuICAgICAgICBkZWZhdWx0QWN0aW9uOiBcIkRlbnlcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB2bSA9IG5ldyB2bXNzLkxpbnV4Q2x1c3Rlcih0aGlzLCBcInZtXCIsIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIHNrdTogXCJTdGFuZGFyZF9CMXNcIixcbiAgICAgIGFkbWluVXNlcm5hbWU6IFwidGVzdGFkbWluXCIsXG4gICAgICBhZG1pblBhc3N3b3JkOiBcIlBhc3N3b3JkMTIzNCFcIixcbiAgICAgIG9zRGlzazoge1xuICAgICAgICBjYWNoaW5nOiBcIlJlYWRXcml0ZVwiLFxuICAgICAgICBzdG9yYWdlQWNjb3VudFR5cGU6IFwiU3RhbmRhcmRfTFJTXCIsXG4gICAgICB9LFxuICAgICAgc291cmNlSW1hZ2VSZWZlcmVuY2U6IHtcbiAgICAgICAgcHVibGlzaGVyOiBcIkNhbm9uaWNhbFwiLFxuICAgICAgICBvZmZlcjogXCIwMDAxLWNvbS11YnVudHUtc2VydmVyLWphbW15XCIsXG4gICAgICAgIHNrdTogXCIyMl8wNC1sdHMtZ2VuMlwiLFxuICAgICAgICB2ZXJzaW9uOiBcImxhdGVzdFwiLFxuICAgICAgfSxcbiAgICAgIHN1Ym5ldDogc3VibmV0LFxuICAgICAgcHVibGljSVBBZGRyZXNzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInRlc3RwdWJsaWNpcFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHVzZXJEYXRhOiBcIiMhL2Jpbi9iYXNoXFxuc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXkgYXBhY2hlMlwiLFxuICAgICAgZW5hYmxlU3NoQXp1cmVBRExvZ2luOiB0cnVlLFxuICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiLFxuICAgICAgfSxcbiAgICAgIGJvb3REaWFnbm9zdGljc1N0b3JhZ2VVUkk6IHN0b3JhZ2UucHJpbWFyeUJsb2JFbmRwb2ludCxcbiAgICB9KTtcblxuICAgIC8vIERpYWcgU2V0dGluZ3NcbiAgICB2bS5hZGREaWFnU2V0dGluZ3MoeyBuYW1lOiBcImRpYWdzZXR0aW5nc1wiLCBzdG9yYWdlQWNjb3VudElkOiBzdG9yYWdlLmlkIH0pO1xuXG4gICAgLy8gUkJBQ1xuICAgIHZtLmFkZEFjY2VzcyhjbGllbnRDb25maWcub2JqZWN0SWQsIFwiQ29udHJpYnV0b3JcIik7XG5cbiAgICAvLyBPdXRwdXRzIHRvIHVzZSBmb3IgRW5kIHRvIEVuZCBUZXN0XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRSR05hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXROc2dOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInZtX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHZtLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFZtc2l6ZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJ2bV9zaXplXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBcIlN0YW5kYXJkX0Ixc1wiLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRWbUVuZHBvaW50ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInB1YmxpY19pcF9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBcInRlc3RwdWJsaWNpcFwiLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRSR05hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIpO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0TnNnTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInZtX25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRWbXNpemUub3ZlcnJpZGVMb2dpY2FsSWQoXCJ2bV9zaXplXCIpO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0Vm1FbmRwb2ludC5vdmVycmlkZUxvZ2ljYWxJZChcInB1YmxpY19pcF9uYW1lXCIpO1xuICB9XG59XG5cbm5ldyBleGFtcGxlQXp1cmVMaW51eFZpcnR1YWxNYWNoaW5lU2NhbGVTZXQoXG4gIGFwcCxcbiAgXCJ0ZXN0QXp1cmVMaW51eFZpcnR1YWxNYWNoaW5lU2NhbGVTZXRFeGFtcGxlXCIsXG4pO1xuXG5hcHAuc3ludGgoKTtcbiJdfQ==
|