@microsoft/terraform-cdk-constructs 0.0.3-pre.7 → 1.0.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/.devcontainer/devcontainer.json +2 -2
- package/.jsii +22878 -10724
- package/API.md +25087 -9636
- package/LICENSE +16 -18
- package/README.md +147 -72
- package/cdktf.json +1 -1
- package/docs/ARCHITECTURE.md +836 -0
- package/docs/azapi-testing-architecture.md +482 -0
- package/docs/testing.md +39 -137
- package/docs/versioning-and-migrations-user-guide.md +409 -0
- package/go.mod +12 -12
- package/go.sum +27 -23
- package/lib/azure-resourcegroup/index.d.ts +37 -0
- package/lib/azure-resourcegroup/index.js +39 -1
- package/lib/azure-resourcegroup/lib/index.d.ts +44 -0
- package/lib/azure-resourcegroup/lib/index.js +43 -1
- package/lib/azure-resourcegroup/lib/resource-group-schemas.d.ts +40 -0
- package/lib/azure-resourcegroup/lib/resource-group-schemas.js +243 -0
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +170 -46
- package/lib/azure-resourcegroup/lib/resource-group.js +222 -56
- package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +9 -0
- package/lib/azure-resourcegroup/test/resource-group.integ.js +60 -0
- package/lib/azure-resourcegroup/test/resource-group.spec.d.ts +9 -0
- package/lib/azure-resourcegroup/test/resource-group.spec.js +554 -0
- package/lib/azure-storageaccount/index.d.ts +19 -0
- package/lib/azure-storageaccount/index.js +20 -1
- package/lib/azure-storageaccount/lib/index.d.ts +8 -5
- package/lib/azure-storageaccount/lib/index.js +9 -6
- package/lib/azure-storageaccount/lib/storage-account-schemas.d.ts +40 -0
- package/lib/azure-storageaccount/lib/storage-account-schemas.js +378 -0
- package/lib/azure-storageaccount/lib/storage-account.d.ts +311 -0
- package/lib/azure-storageaccount/lib/storage-account.js +229 -0
- package/lib/azure-storageaccount/test/storage-account.integ.d.ts +9 -0
- package/lib/azure-storageaccount/test/storage-account.integ.js +72 -0
- package/lib/azure-storageaccount/test/storage-account.spec.d.ts +4 -0
- package/lib/azure-storageaccount/test/storage-account.spec.js +315 -0
- package/lib/core-azure/lib/azapi/azapi-exports.d.ts +16 -0
- package/lib/core-azure/lib/azapi/azapi-exports.js +38 -0
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +413 -0
- package/lib/core-azure/lib/azapi/azapi-resource.js +468 -0
- package/lib/core-azure/lib/azapi/azapi-resource.spec.d.ts +7 -0
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +545 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +62 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +161 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +327 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +521 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +331 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +436 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +116 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +213 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +272 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +368 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +505 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +620 -0
- package/lib/core-azure/lib/azapi/providers-azapi/index.d.ts +10 -0
- package/lib/core-azure/lib/azapi/providers-azapi/index.js +15 -0
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +435 -0
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +584 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +675 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +856 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +387 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +531 -0
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +437 -0
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +589 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.d.ts +215 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +565 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.d.ts +7 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.js +630 -0
- package/lib/core-azure/lib/index.d.ts +18 -3
- package/lib/core-azure/lib/index.js +24 -4
- package/lib/core-azure/lib/version-manager/api-version-manager.d.ts +253 -0
- package/lib/core-azure/lib/version-manager/api-version-manager.js +509 -0
- package/lib/core-azure/lib/version-manager/api-version-manager.spec.d.ts +7 -0
- package/lib/core-azure/lib/version-manager/api-version-manager.spec.js +510 -0
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.d.ts +669 -0
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +202 -0
- package/lib/core-azure/lib/version-manager/version-manager.d.ts +9 -0
- package/lib/core-azure/lib/version-manager/version-manager.js +23 -0
- package/lib/index.d.ts +20 -16
- package/lib/index.js +41 -18
- package/lib/testing/index.d.ts +33 -0
- package/lib/testing/index.js +238 -2
- package/lib/util/azureTenantIdHelpers.js +3 -4
- package/lib/util/randomName.js +2 -3
- package/package.json +53 -40
- 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/index.d.ts +0 -1
- package/lib/azure-actiongroup/index.js +0 -18
- package/lib/azure-actiongroup/lib/actiongroup.d.ts +0 -49
- package/lib/azure-actiongroup/lib/actiongroup.js +0 -85
- package/lib/azure-actiongroup/lib/index.d.ts +0 -1
- package/lib/azure-actiongroup/lib/index.js +0 -18
- package/lib/azure-actiongroup/model/action-group-props.d.ts +0 -47
- package/lib/azure-actiongroup/model/action-group-props.js +0 -3
- package/lib/azure-actiongroup/model/arm-role-receiver-props.d.ts +0 -20
- package/lib/azure-actiongroup/model/arm-role-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/azure-app-push-receiver-props.d.ts +0 -14
- package/lib/azure-actiongroup/model/azure-app-push-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/email-receiver-props.d.ts +0 -19
- package/lib/azure-actiongroup/model/email-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/eventhub-receiver-props.d.ts +0 -23
- package/lib/azure-actiongroup/model/eventhub-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/function.d.ts +0 -40
- package/lib/azure-actiongroup/model/function.js +0 -118
- package/lib/azure-actiongroup/model/index.d.ts +0 -10
- package/lib/azure-actiongroup/model/index.js +0 -27
- package/lib/azure-actiongroup/model/logic-app-receiver-props.d.ts +0 -23
- package/lib/azure-actiongroup/model/logic-app-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/sms-receiver-props.d.ts +0 -18
- package/lib/azure-actiongroup/model/sms-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/voice-receiver-props.d.ts +0 -18
- package/lib/azure-actiongroup/model/voice-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/webhook-receiver-props.d.ts +0 -18
- package/lib/azure-actiongroup/model/webhook-receiver-props.js +0 -3
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.d.ts +0 -1
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +0 -294
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +0 -5
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +0 -66
- package/lib/azure-applicationgateway/index.d.ts +0 -1
- package/lib/azure-applicationgateway/index.js +0 -18
- package/lib/azure-applicationgateway/lib/gateway.d.ts +0 -248
- package/lib/azure-applicationgateway/lib/gateway.js +0 -199
- package/lib/azure-applicationgateway/lib/index.d.ts +0 -1
- package/lib/azure-applicationgateway/lib/index.js +0 -18
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.d.ts +0 -1
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +0 -106
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +0 -5
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +0 -267
- package/lib/azure-applicationinsights/index.d.ts +0 -1
- package/lib/azure-applicationinsights/index.js +0 -18
- package/lib/azure-applicationinsights/lib/appinsights.d.ts +0 -110
- package/lib/azure-applicationinsights/lib/appinsights.js +0 -134
- package/lib/azure-applicationinsights/lib/index.d.ts +0 -1
- package/lib/azure-applicationinsights/lib/index.js +0 -18
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.d.ts +0 -1
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +0 -55
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +0 -5
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +0 -87
- package/lib/azure-containerregistry/index.d.ts +0 -1
- package/lib/azure-containerregistry/index.js +0 -18
- package/lib/azure-containerregistry/lib/index.d.ts +0 -1
- package/lib/azure-containerregistry/lib/index.js +0 -18
- package/lib/azure-containerregistry/lib/registry.d.ts +0 -70
- package/lib/azure-containerregistry/lib/registry.js +0 -76
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.d.ts +0 -1
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +0 -50
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +0 -5
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +0 -57
- package/lib/azure-datalake/index.d.ts +0 -1
- package/lib/azure-datalake/index.js +0 -18
- package/lib/azure-datalake/lib/datalake.d.ts +0 -64
- package/lib/azure-datalake/lib/datalake.js +0 -92
- package/lib/azure-datalake/lib/filesystem.d.ts +0 -70
- package/lib/azure-datalake/lib/filesystem.js +0 -83
- package/lib/azure-datalake/lib/index.d.ts +0 -3
- package/lib/azure-datalake/lib/index.js +0 -20
- package/lib/azure-datalake/lib/path.d.ts +0 -49
- package/lib/azure-datalake/lib/path.js +0 -51
- package/lib/azure-eventhub/index.d.ts +0 -1
- package/lib/azure-eventhub/index.js +0 -18
- package/lib/azure-eventhub/lib/authorization.d.ts +0 -58
- package/lib/azure-eventhub/lib/authorization.js +0 -84
- package/lib/azure-eventhub/lib/cluster.d.ts +0 -56
- package/lib/azure-eventhub/lib/cluster.js +0 -64
- package/lib/azure-eventhub/lib/consumer.d.ts +0 -54
- package/lib/azure-eventhub/lib/consumer.js +0 -59
- package/lib/azure-eventhub/lib/index.d.ts +0 -6
- package/lib/azure-eventhub/lib/index.js +0 -23
- package/lib/azure-eventhub/lib/instance.d.ts +0 -164
- package/lib/azure-eventhub/lib/instance.js +0 -184
- package/lib/azure-eventhub/lib/kusto-connection.d.ts +0 -109
- package/lib/azure-eventhub/lib/kusto-connection.js +0 -76
- package/lib/azure-eventhub/lib/namespace.d.ts +0 -151
- package/lib/azure-eventhub/lib/namespace.js +0 -131
- package/lib/azure-eventhub/test/AzureEventhub.spec.d.ts +0 -1
- package/lib/azure-eventhub/test/AzureEventhub.spec.js +0 -56
- package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +0 -5
- package/lib/azure-eventhub/test/ExampleAzureEventhub.js +0 -72
- package/lib/azure-functionapp/index.d.ts +0 -1
- package/lib/azure-functionapp/index.js +0 -18
- package/lib/azure-functionapp/lib/functionapplinux.d.ts +0 -211
- package/lib/azure-functionapp/lib/functionapplinux.js +0 -141
- package/lib/azure-functionapp/lib/index.d.ts +0 -1
- package/lib/azure-functionapp/lib/index.js +0 -18
- package/lib/azure-functionapp/serviceplanskus.d.ts +0 -70
- package/lib/azure-functionapp/serviceplanskus.js +0 -81
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.d.ts +0 -1
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +0 -48
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +0 -5
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +0 -123
- package/lib/azure-keyvault/index.d.ts +0 -1
- package/lib/azure-keyvault/index.js +0 -18
- package/lib/azure-keyvault/lib/certificate.d.ts +0 -133
- package/lib/azure-keyvault/lib/certificate.js +0 -146
- package/lib/azure-keyvault/lib/index.d.ts +0 -5
- package/lib/azure-keyvault/lib/index.js +0 -22
- package/lib/azure-keyvault/lib/key.d.ts +0 -72
- package/lib/azure-keyvault/lib/key.js +0 -69
- package/lib/azure-keyvault/lib/policy.d.ts +0 -76
- package/lib/azure-keyvault/lib/policy.js +0 -56
- package/lib/azure-keyvault/lib/secret.d.ts +0 -70
- package/lib/azure-keyvault/lib/secret.js +0 -64
- package/lib/azure-keyvault/lib/vault.d.ts +0 -282
- package/lib/azure-keyvault/lib/vault.js +0 -392
- package/lib/azure-keyvault/test/AzureKeyVault.spec.d.ts +0 -1
- package/lib/azure-keyvault/test/AzureKeyVault.spec.js +0 -63
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +0 -5
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +0 -112
- package/lib/azure-kubernetes/index.d.ts +0 -1
- package/lib/azure-kubernetes/index.js +0 -18
- package/lib/azure-kubernetes/lib/cluster.d.ts +0 -93
- package/lib/azure-kubernetes/lib/cluster.js +0 -63
- package/lib/azure-kubernetes/lib/index.d.ts +0 -1
- package/lib/azure-kubernetes/lib/index.js +0 -18
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.d.ts +0 -1
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +0 -56
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +0 -5
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +0 -65
- package/lib/azure-kusto/index.d.ts +0 -1
- package/lib/azure-kusto/index.js +0 -18
- package/lib/azure-kusto/lib/cluster.d.ts +0 -136
- package/lib/azure-kusto/lib/cluster.js +0 -138
- package/lib/azure-kusto/lib/compute-specification.d.ts +0 -71
- package/lib/azure-kusto/lib/compute-specification.js +0 -651
- package/lib/azure-kusto/lib/database.d.ts +0 -162
- package/lib/azure-kusto/lib/database.js +0 -180
- package/lib/azure-kusto/lib/index.d.ts +0 -3
- package/lib/azure-kusto/lib/index.js +0 -20
- package/lib/azure-kusto/test/AzureKusto.spec.d.ts +0 -1
- package/lib/azure-kusto/test/AzureKusto.spec.js +0 -50
- package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +0 -5
- package/lib/azure-kusto/test/ExampleAzureKusto.js +0 -71
- package/lib/azure-loganalytics/index.d.ts +0 -1
- package/lib/azure-loganalytics/index.js +0 -18
- package/lib/azure-loganalytics/lib/index.d.ts +0 -1
- package/lib/azure-loganalytics/lib/index.js +0 -18
- package/lib/azure-loganalytics/lib/workspace.d.ts +0 -163
- package/lib/azure-loganalytics/lib/workspace.js +0 -126
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.d.ts +0 -1
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +0 -50
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +0 -5
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +0 -115
- package/lib/azure-metricalert/index.d.ts +0 -2
- package/lib/azure-metricalert/index.js +0 -19
- package/lib/azure-metricalert/lib/index.d.ts +0 -1
- package/lib/azure-metricalert/lib/index.js +0 -18
- package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -56
- package/lib/azure-metricalert/lib/metric-alert.js +0 -128
- package/lib/azure-metricalert/model/action-props.d.ts +0 -11
- package/lib/azure-metricalert/model/action-props.js +0 -3
- package/lib/azure-metricalert/model/criteria-base-props.d.ts +0 -38
- package/lib/azure-metricalert/model/criteria-base-props.js +0 -3
- package/lib/azure-metricalert/model/criteria-dimension-props.d.ts +0 -21
- package/lib/azure-metricalert/model/criteria-dimension-props.js +0 -3
- package/lib/azure-metricalert/model/criteria-props.d.ts +0 -12
- package/lib/azure-metricalert/model/criteria-props.js +0 -3
- package/lib/azure-metricalert/model/dynamic-criteria-props.d.ts +0 -29
- package/lib/azure-metricalert/model/dynamic-criteria-props.js +0 -3
- package/lib/azure-metricalert/model/function.d.ts +0 -28
- package/lib/azure-metricalert/model/function.js +0 -78
- package/lib/azure-metricalert/model/index.d.ts +0 -7
- package/lib/azure-metricalert/model/index.js +0 -24
- package/lib/azure-metricalert/model/metric-alert-props.d.ts +0 -86
- package/lib/azure-metricalert/model/metric-alert-props.js +0 -3
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.d.ts +0 -1
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +0 -63
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +0 -5
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +0 -81
- package/lib/azure-networksecuritygroup/index.d.ts +0 -1
- package/lib/azure-networksecuritygroup/index.js +0 -18
- package/lib/azure-networksecuritygroup/lib/index.d.ts +0 -2
- package/lib/azure-networksecuritygroup/lib/index.js +0 -19
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.d.ts +0 -77
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +0 -608
- package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +0 -190
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +0 -172
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.d.ts +0 -1
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +0 -54
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +0 -5
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +0 -97
- package/lib/azure-queryrulealert/index.d.ts +0 -1
- package/lib/azure-queryrulealert/index.js +0 -18
- package/lib/azure-queryrulealert/lib/index.d.ts +0 -1
- package/lib/azure-queryrulealert/lib/index.js +0 -18
- package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +0 -175
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +0 -205
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.d.ts +0 -1
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +0 -67
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +0 -5
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +0 -67
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.d.ts +0 -1
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +0 -41
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +0 -5
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +0 -29
- package/lib/azure-storageaccount/lib/account.d.ts +0 -232
- package/lib/azure-storageaccount/lib/account.js +0 -225
- package/lib/azure-storageaccount/lib/container.d.ts +0 -122
- package/lib/azure-storageaccount/lib/container.js +0 -167
- package/lib/azure-storageaccount/lib/fileshare.d.ts +0 -105
- package/lib/azure-storageaccount/lib/fileshare.js +0 -126
- package/lib/azure-storageaccount/lib/queue.d.ts +0 -35
- package/lib/azure-storageaccount/lib/queue.js +0 -52
- package/lib/azure-storageaccount/lib/table.d.ts +0 -38
- package/lib/azure-storageaccount/lib/table.js +0 -55
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.d.ts +0 -1
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +0 -45
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +0 -5
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +0 -102
- package/lib/azure-virtualmachine/index.d.ts +0 -1
- package/lib/azure-virtualmachine/index.js +0 -18
- package/lib/azure-virtualmachine/lib/image-references.d.ts +0 -22
- package/lib/azure-virtualmachine/lib/image-references.js +0 -128
- package/lib/azure-virtualmachine/lib/index.d.ts +0 -2
- package/lib/azure-virtualmachine/lib/index.js +0 -19
- package/lib/azure-virtualmachine/lib/vm.d.ts +0 -281
- package/lib/azure-virtualmachine/lib/vm.js +0 -283
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.d.ts +0 -1
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +0 -48
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.d.ts +0 -1
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +0 -50
- 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/index.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/index.js +0 -18
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +0 -324
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +0 -264
- package/lib/azure-virtualmachinescaleset/lib/index.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/lib/index.js +0 -18
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +0 -48
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +0 -50
- 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/index.d.ts +0 -1
- package/lib/azure-virtualnetwork/index.js +0 -18
- package/lib/azure-virtualnetwork/lib/index.d.ts +0 -2
- package/lib/azure-virtualnetwork/lib/index.js +0 -19
- package/lib/azure-virtualnetwork/lib/network.d.ts +0 -122
- package/lib/azure-virtualnetwork/lib/network.js +0 -120
- package/lib/azure-virtualnetwork/lib/peering.d.ts +0 -90
- package/lib/azure-virtualnetwork/lib/peering.js +0 -71
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.d.ts +0 -1
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +0 -48
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +0 -5
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +0 -88
- package/lib/core-azure/lib/diagsettings.d.ts +0 -89
- package/lib/core-azure/lib/diagsettings.js +0 -83
- package/lib/core-azure/lib/rbac.d.ts +0 -50
- package/lib/core-azure/lib/rbac.js +0 -48
- package/lib/core-azure/lib/resource.d.ts +0 -62
- package/lib/core-azure/lib/resource.js +0 -118
- package/lib/core-azure/test/AzureResource.spec.d.ts +0 -1
- 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/node_modules/moment/CHANGELOG.md +0 -996
- package/node_modules/moment/LICENSE +0 -22
- package/node_modules/moment/README.md +0 -55
- package/node_modules/moment/dist/locale/af.js +0 -71
- package/node_modules/moment/dist/locale/ar-dz.js +0 -156
- package/node_modules/moment/dist/locale/ar-kw.js +0 -55
- package/node_modules/moment/dist/locale/ar-ly.js +0 -171
- package/node_modules/moment/dist/locale/ar-ma.js +0 -56
- package/node_modules/moment/dist/locale/ar-ps.js +0 -112
- package/node_modules/moment/dist/locale/ar-sa.js +0 -105
- package/node_modules/moment/dist/locale/ar-tn.js +0 -55
- package/node_modules/moment/dist/locale/ar.js +0 -189
- package/node_modules/moment/dist/locale/az.js +0 -102
- package/node_modules/moment/dist/locale/be.js +0 -142
- package/node_modules/moment/dist/locale/bg.js +0 -87
- package/node_modules/moment/dist/locale/bm.js +0 -52
- package/node_modules/moment/dist/locale/bn-bd.js +0 -129
- package/node_modules/moment/dist/locale/bn.js +0 -119
- package/node_modules/moment/dist/locale/bo.js +0 -124
- package/node_modules/moment/dist/locale/br.js +0 -168
- package/node_modules/moment/dist/locale/bs.js +0 -160
- package/node_modules/moment/dist/locale/ca.js +0 -100
- package/node_modules/moment/dist/locale/cs.js +0 -181
- package/node_modules/moment/dist/locale/cv.js +0 -63
- package/node_modules/moment/dist/locale/cy.js +0 -98
- package/node_modules/moment/dist/locale/da.js +0 -53
- package/node_modules/moment/dist/locale/de-at.js +0 -79
- package/node_modules/moment/dist/locale/de-ch.js +0 -78
- package/node_modules/moment/dist/locale/de.js +0 -78
- package/node_modules/moment/dist/locale/dv.js +0 -90
- package/node_modules/moment/dist/locale/el.js +0 -106
- package/node_modules/moment/dist/locale/en-au.js +0 -68
- package/node_modules/moment/dist/locale/en-ca.js +0 -64
- package/node_modules/moment/dist/locale/en-gb.js +0 -68
- package/node_modules/moment/dist/locale/en-ie.js +0 -68
- package/node_modules/moment/dist/locale/en-il.js +0 -64
- package/node_modules/moment/dist/locale/en-in.js +0 -68
- package/node_modules/moment/dist/locale/en-nz.js +0 -68
- package/node_modules/moment/dist/locale/en-sg.js +0 -68
- package/node_modules/moment/dist/locale/eo.js +0 -68
- package/node_modules/moment/dist/locale/es-do.js +0 -108
- package/node_modules/moment/dist/locale/es-mx.js +0 -110
- package/node_modules/moment/dist/locale/es-us.js +0 -110
- package/node_modules/moment/dist/locale/es.js +0 -110
- package/node_modules/moment/dist/locale/et.js +0 -78
- package/node_modules/moment/dist/locale/eu.js +0 -65
- package/node_modules/moment/dist/locale/fa.js +0 -113
- package/node_modules/moment/dist/locale/fi.js +0 -124
- package/node_modules/moment/dist/locale/fil.js +0 -58
- package/node_modules/moment/dist/locale/fo.js +0 -57
- package/node_modules/moment/dist/locale/fr-ca.js +0 -70
- package/node_modules/moment/dist/locale/fr-ch.js +0 -74
- package/node_modules/moment/dist/locale/fr.js +0 -108
- package/node_modules/moment/dist/locale/fy.js +0 -75
- package/node_modules/moment/dist/locale/ga.js +0 -95
- package/node_modules/moment/dist/locale/gd.js +0 -95
- package/node_modules/moment/dist/locale/gl.js +0 -75
- package/node_modules/moment/dist/locale/gom-deva.js +0 -126
- package/node_modules/moment/dist/locale/gom-latn.js +0 -124
- package/node_modules/moment/dist/locale/gu.js +0 -122
- package/node_modules/moment/dist/locale/he.js +0 -94
- package/node_modules/moment/dist/locale/hi.js +0 -168
- package/node_modules/moment/dist/locale/hr.js +0 -156
- package/node_modules/moment/dist/locale/hu.js +0 -118
- package/node_modules/moment/dist/locale/hy-am.js +0 -94
- package/node_modules/moment/dist/locale/id.js +0 -76
- package/node_modules/moment/dist/locale/is.js +0 -140
- package/node_modules/moment/dist/locale/it-ch.js +0 -64
- package/node_modules/moment/dist/locale/it.js +0 -106
- package/node_modules/moment/dist/locale/ja.js +0 -148
- package/node_modules/moment/dist/locale/jv.js +0 -76
- package/node_modules/moment/dist/locale/ka.js +0 -92
- package/node_modules/moment/dist/locale/kk.js +0 -82
- package/node_modules/moment/dist/locale/km.js +0 -103
- package/node_modules/moment/dist/locale/kn.js +0 -124
- package/node_modules/moment/dist/locale/ko.js +0 -75
- package/node_modules/moment/dist/locale/ku-kmr.js +0 -121
- package/node_modules/moment/dist/locale/ku.js +0 -118
- package/node_modules/moment/dist/locale/ky.js +0 -84
- package/node_modules/moment/dist/locale/lb.js +0 -137
- package/node_modules/moment/dist/locale/lo.js +0 -66
- package/node_modules/moment/dist/locale/lt.js +0 -125
- package/node_modules/moment/dist/locale/lv.js +0 -94
- package/node_modules/moment/dist/locale/me.js +0 -117
- package/node_modules/moment/dist/locale/mi.js +0 -60
- package/node_modules/moment/dist/locale/mk.js +0 -85
- package/node_modules/moment/dist/locale/ml.js +0 -82
- package/node_modules/moment/dist/locale/mn.js +0 -100
- package/node_modules/moment/dist/locale/mr.js +0 -203
- package/node_modules/moment/dist/locale/ms-my.js +0 -76
- package/node_modules/moment/dist/locale/ms.js +0 -75
- package/node_modules/moment/dist/locale/mt.js +0 -56
- package/node_modules/moment/dist/locale/my.js +0 -91
- package/node_modules/moment/dist/locale/nb.js +0 -60
- package/node_modules/moment/dist/locale/ne.js +0 -121
- package/node_modules/moment/dist/locale/nl-be.js +0 -102
- package/node_modules/moment/dist/locale/nl.js +0 -104
- package/node_modules/moment/dist/locale/nn.js +0 -59
- package/node_modules/moment/dist/locale/oc-lnc.js +0 -85
- package/node_modules/moment/dist/locale/pa-in.js +0 -122
- package/node_modules/moment/dist/locale/pl.js +0 -140
- package/node_modules/moment/dist/locale/pt-br.js +0 -58
- package/node_modules/moment/dist/locale/pt.js +0 -63
- package/node_modules/moment/dist/locale/ro.js +0 -76
- package/node_modules/moment/dist/locale/ru.js +0 -213
- package/node_modules/moment/dist/locale/sd.js +0 -81
- package/node_modules/moment/dist/locale/se.js +0 -57
- package/node_modules/moment/dist/locale/si.js +0 -69
- package/node_modules/moment/dist/locale/sk.js +0 -145
- package/node_modules/moment/dist/locale/sl.js +0 -171
- package/node_modules/moment/dist/locale/sq.js +0 -65
- package/node_modules/moment/dist/locale/sr-cyrl.js +0 -127
- package/node_modules/moment/dist/locale/sr.js +0 -129
- package/node_modules/moment/dist/locale/ss.js +0 -84
- package/node_modules/moment/dist/locale/sv.js +0 -68
- package/node_modules/moment/dist/locale/sw.js +0 -55
- package/node_modules/moment/dist/locale/ta.js +0 -131
- package/node_modules/moment/dist/locale/te.js +0 -88
- package/node_modules/moment/dist/locale/tet.js +0 -68
- package/node_modules/moment/dist/locale/tg.js +0 -117
- package/node_modules/moment/dist/locale/th.js +0 -65
- package/node_modules/moment/dist/locale/tk.js +0 -91
- package/node_modules/moment/dist/locale/tl-ph.js +0 -57
- package/node_modules/moment/dist/locale/tlh.js +0 -124
- package/node_modules/moment/dist/locale/tr.js +0 -106
- package/node_modules/moment/dist/locale/tzl.js +0 -89
- package/node_modules/moment/dist/locale/tzm-latn.js +0 -54
- package/node_modules/moment/dist/locale/tzm.js +0 -54
- package/node_modules/moment/dist/locale/ug-cn.js +0 -111
- package/node_modules/moment/dist/locale/uk.js +0 -167
- package/node_modules/moment/dist/locale/ur.js +0 -82
- package/node_modules/moment/dist/locale/uz-latn.js +0 -54
- package/node_modules/moment/dist/locale/uz.js +0 -51
- package/node_modules/moment/dist/locale/vi.js +0 -80
- package/node_modules/moment/dist/locale/x-pseudo.js +0 -73
- package/node_modules/moment/dist/locale/yo.js +0 -53
- package/node_modules/moment/dist/locale/zh-cn.js +0 -120
- package/node_modules/moment/dist/locale/zh-hk.js +0 -101
- package/node_modules/moment/dist/locale/zh-mo.js +0 -100
- package/node_modules/moment/dist/locale/zh-tw.js +0 -99
- package/node_modules/moment/dist/moment.js +0 -5680
- package/node_modules/moment/ender.js +0 -1
- package/node_modules/moment/locale/af.js +0 -82
- package/node_modules/moment/locale/ar-dz.js +0 -167
- package/node_modules/moment/locale/ar-kw.js +0 -66
- package/node_modules/moment/locale/ar-ly.js +0 -182
- package/node_modules/moment/locale/ar-ma.js +0 -67
- package/node_modules/moment/locale/ar-ps.js +0 -123
- package/node_modules/moment/locale/ar-sa.js +0 -116
- package/node_modules/moment/locale/ar-tn.js +0 -66
- package/node_modules/moment/locale/ar.js +0 -200
- package/node_modules/moment/locale/az.js +0 -113
- package/node_modules/moment/locale/be.js +0 -153
- package/node_modules/moment/locale/bg.js +0 -98
- package/node_modules/moment/locale/bm.js +0 -62
- package/node_modules/moment/locale/bn-bd.js +0 -140
- package/node_modules/moment/locale/bn.js +0 -130
- package/node_modules/moment/locale/bo.js +0 -135
- package/node_modules/moment/locale/br.js +0 -179
- package/node_modules/moment/locale/bs.js +0 -171
- package/node_modules/moment/locale/ca.js +0 -111
- package/node_modules/moment/locale/cs.js +0 -192
- package/node_modules/moment/locale/cv.js +0 -74
- package/node_modules/moment/locale/cy.js +0 -109
- package/node_modules/moment/locale/da.js +0 -64
- package/node_modules/moment/locale/de-at.js +0 -90
- package/node_modules/moment/locale/de-ch.js +0 -87
- package/node_modules/moment/locale/de.js +0 -89
- package/node_modules/moment/locale/dv.js +0 -101
- package/node_modules/moment/locale/el.js +0 -117
- package/node_modules/moment/locale/en-au.js +0 -79
- package/node_modules/moment/locale/en-ca.js +0 -75
- package/node_modules/moment/locale/en-gb.js +0 -79
- package/node_modules/moment/locale/en-ie.js +0 -79
- package/node_modules/moment/locale/en-il.js +0 -75
- package/node_modules/moment/locale/en-in.js +0 -79
- package/node_modules/moment/locale/en-nz.js +0 -79
- package/node_modules/moment/locale/en-sg.js +0 -79
- package/node_modules/moment/locale/eo.js +0 -79
- package/node_modules/moment/locale/es-do.js +0 -119
- package/node_modules/moment/locale/es-mx.js +0 -121
- package/node_modules/moment/locale/es-us.js +0 -121
- package/node_modules/moment/locale/es.js +0 -121
- package/node_modules/moment/locale/et.js +0 -89
- package/node_modules/moment/locale/eu.js +0 -76
- package/node_modules/moment/locale/fa.js +0 -124
- package/node_modules/moment/locale/fi.js +0 -135
- package/node_modules/moment/locale/fil.js +0 -69
- package/node_modules/moment/locale/fo.js +0 -68
- package/node_modules/moment/locale/fr-ca.js +0 -81
- package/node_modules/moment/locale/fr-ch.js +0 -85
- package/node_modules/moment/locale/fr.js +0 -119
- package/node_modules/moment/locale/fy.js +0 -86
- package/node_modules/moment/locale/ga.js +0 -106
- package/node_modules/moment/locale/gd.js +0 -106
- package/node_modules/moment/locale/gl.js +0 -86
- package/node_modules/moment/locale/gom-deva.js +0 -137
- package/node_modules/moment/locale/gom-latn.js +0 -135
- package/node_modules/moment/locale/gu.js +0 -133
- package/node_modules/moment/locale/he.js +0 -105
- package/node_modules/moment/locale/hi.js +0 -179
- package/node_modules/moment/locale/hr.js +0 -167
- package/node_modules/moment/locale/hu.js +0 -129
- package/node_modules/moment/locale/hy-am.js +0 -105
- package/node_modules/moment/locale/id.js +0 -87
- package/node_modules/moment/locale/is.js +0 -151
- package/node_modules/moment/locale/it-ch.js +0 -75
- package/node_modules/moment/locale/it.js +0 -117
- package/node_modules/moment/locale/ja.js +0 -159
- package/node_modules/moment/locale/jv.js +0 -87
- package/node_modules/moment/locale/ka.js +0 -103
- package/node_modules/moment/locale/kk.js +0 -93
- package/node_modules/moment/locale/km.js +0 -114
- package/node_modules/moment/locale/kn.js +0 -135
- package/node_modules/moment/locale/ko.js +0 -86
- package/node_modules/moment/locale/ku-kmr.js +0 -125
- package/node_modules/moment/locale/ku.js +0 -129
- package/node_modules/moment/locale/ky.js +0 -95
- package/node_modules/moment/locale/lb.js +0 -148
- package/node_modules/moment/locale/lo.js +0 -77
- package/node_modules/moment/locale/lt.js +0 -136
- package/node_modules/moment/locale/lv.js +0 -105
- package/node_modules/moment/locale/me.js +0 -128
- package/node_modules/moment/locale/mi.js +0 -71
- package/node_modules/moment/locale/mk.js +0 -97
- package/node_modules/moment/locale/ml.js +0 -93
- package/node_modules/moment/locale/mn.js +0 -111
- package/node_modules/moment/locale/mr.js +0 -214
- package/node_modules/moment/locale/ms-my.js +0 -87
- package/node_modules/moment/locale/ms.js +0 -86
- package/node_modules/moment/locale/mt.js +0 -67
- package/node_modules/moment/locale/my.js +0 -102
- package/node_modules/moment/locale/nb.js +0 -71
- package/node_modules/moment/locale/ne.js +0 -132
- package/node_modules/moment/locale/nl-be.js +0 -113
- package/node_modules/moment/locale/nl.js +0 -115
- package/node_modules/moment/locale/nn.js +0 -70
- package/node_modules/moment/locale/oc-lnc.js +0 -96
- package/node_modules/moment/locale/pa-in.js +0 -133
- package/node_modules/moment/locale/pl.js +0 -151
- package/node_modules/moment/locale/pt-br.js +0 -69
- package/node_modules/moment/locale/pt.js +0 -74
- package/node_modules/moment/locale/ro.js +0 -87
- package/node_modules/moment/locale/ru.js +0 -224
- package/node_modules/moment/locale/sd.js +0 -92
- package/node_modules/moment/locale/se.js +0 -68
- package/node_modules/moment/locale/si.js +0 -80
- package/node_modules/moment/locale/sk.js +0 -156
- package/node_modules/moment/locale/sl.js +0 -182
- package/node_modules/moment/locale/sq.js +0 -76
- package/node_modules/moment/locale/sr-cyrl.js +0 -138
- package/node_modules/moment/locale/sr.js +0 -140
- package/node_modules/moment/locale/ss.js +0 -95
- package/node_modules/moment/locale/sv.js +0 -79
- package/node_modules/moment/locale/sw.js +0 -66
- package/node_modules/moment/locale/ta.js +0 -142
- package/node_modules/moment/locale/te.js +0 -99
- package/node_modules/moment/locale/tet.js +0 -79
- package/node_modules/moment/locale/tg.js +0 -128
- package/node_modules/moment/locale/th.js +0 -76
- package/node_modules/moment/locale/tk.js +0 -102
- package/node_modules/moment/locale/tl-ph.js +0 -68
- package/node_modules/moment/locale/tlh.js +0 -135
- package/node_modules/moment/locale/tr.js +0 -117
- package/node_modules/moment/locale/tzl.js +0 -100
- package/node_modules/moment/locale/tzm-latn.js +0 -65
- package/node_modules/moment/locale/tzm.js +0 -65
- package/node_modules/moment/locale/ug-cn.js +0 -122
- package/node_modules/moment/locale/uk.js +0 -178
- package/node_modules/moment/locale/ur.js +0 -93
- package/node_modules/moment/locale/uz-latn.js +0 -65
- package/node_modules/moment/locale/uz.js +0 -62
- package/node_modules/moment/locale/vi.js +0 -91
- package/node_modules/moment/locale/x-pseudo.js +0 -84
- package/node_modules/moment/locale/yo.js +0 -64
- package/node_modules/moment/locale/zh-cn.js +0 -131
- package/node_modules/moment/locale/zh-hk.js +0 -112
- package/node_modules/moment/locale/zh-mo.js +0 -111
- package/node_modules/moment/locale/zh-tw.js +0 -110
- package/node_modules/moment/min/locales.js +0 -12800
- package/node_modules/moment/min/locales.min.js +0 -2
- package/node_modules/moment/min/locales.min.js.map +0 -1
- package/node_modules/moment/min/moment-with-locales.js +0 -18472
- package/node_modules/moment/min/moment-with-locales.min.js +0 -2
- package/node_modules/moment/min/moment-with-locales.min.js.map +0 -1
- package/node_modules/moment/min/moment.min.js +0 -2
- package/node_modules/moment/min/moment.min.js.map +0 -1
- package/node_modules/moment/moment.d.ts +0 -796
- package/node_modules/moment/moment.js +0 -5688
- package/node_modules/moment/package.js +0 -11
- package/node_modules/moment/package.json +0 -116
- package/node_modules/moment/src/lib/create/check-overflow.js +0 -57
- package/node_modules/moment/src/lib/create/date-from-array.js +0 -35
- package/node_modules/moment/src/lib/create/from-anything.js +0 -117
- package/node_modules/moment/src/lib/create/from-array.js +0 -187
- package/node_modules/moment/src/lib/create/from-object.js +0 -20
- package/node_modules/moment/src/lib/create/from-string-and-array.js +0 -67
- package/node_modules/moment/src/lib/create/from-string-and-format.js +0 -135
- package/node_modules/moment/src/lib/create/from-string.js +0 -258
- package/node_modules/moment/src/lib/create/local.js +0 -5
- package/node_modules/moment/src/lib/create/parsing-flags.js +0 -28
- package/node_modules/moment/src/lib/create/utc.js +0 -5
- package/node_modules/moment/src/lib/create/valid.js +0 -51
- package/node_modules/moment/src/lib/duration/abs.js +0 -18
- package/node_modules/moment/src/lib/duration/add-subtract.js +0 -21
- package/node_modules/moment/src/lib/duration/as.js +0 -76
- package/node_modules/moment/src/lib/duration/bubble.js +0 -68
- package/node_modules/moment/src/lib/duration/clone.js +0 -5
- package/node_modules/moment/src/lib/duration/constructor.js +0 -42
- package/node_modules/moment/src/lib/duration/create.js +0 -133
- package/node_modules/moment/src/lib/duration/duration.js +0 -16
- package/node_modules/moment/src/lib/duration/get.js +0 -27
- package/node_modules/moment/src/lib/duration/humanize.js +0 -114
- package/node_modules/moment/src/lib/duration/iso-string.js +0 -68
- package/node_modules/moment/src/lib/duration/prototype.js +0 -78
- package/node_modules/moment/src/lib/duration/valid.js +0 -55
- package/node_modules/moment/src/lib/format/format.js +0 -104
- package/node_modules/moment/src/lib/locale/base-config.js +0 -41
- package/node_modules/moment/src/lib/locale/calendar.js +0 -15
- package/node_modules/moment/src/lib/locale/constructor.js +0 -5
- package/node_modules/moment/src/lib/locale/en.js +0 -39
- package/node_modules/moment/src/lib/locale/formats.js +0 -36
- package/node_modules/moment/src/lib/locale/invalid.js +0 -5
- package/node_modules/moment/src/lib/locale/lists.js +0 -93
- package/node_modules/moment/src/lib/locale/locale.js +0 -45
- package/node_modules/moment/src/lib/locale/locales.js +0 -249
- package/node_modules/moment/src/lib/locale/ordinal.js +0 -8
- package/node_modules/moment/src/lib/locale/pre-post-format.js +0 -3
- package/node_modules/moment/src/lib/locale/prototype.js +0 -88
- package/node_modules/moment/src/lib/locale/relative.js +0 -32
- package/node_modules/moment/src/lib/locale/set.js +0 -56
- package/node_modules/moment/src/lib/moment/add-subtract.js +0 -61
- package/node_modules/moment/src/lib/moment/calendar.js +0 -53
- package/node_modules/moment/src/lib/moment/clone.js +0 -5
- package/node_modules/moment/src/lib/moment/compare.js +0 -72
- package/node_modules/moment/src/lib/moment/constructor.js +0 -80
- package/node_modules/moment/src/lib/moment/creation-data.js +0 -9
- package/node_modules/moment/src/lib/moment/diff.js +0 -79
- package/node_modules/moment/src/lib/moment/format.js +0 -78
- package/node_modules/moment/src/lib/moment/from.js +0 -20
- package/node_modules/moment/src/lib/moment/get-set.js +0 -117
- package/node_modules/moment/src/lib/moment/locale.js +0 -34
- package/node_modules/moment/src/lib/moment/min-max.js +0 -62
- package/node_modules/moment/src/lib/moment/moment.js +0 -28
- package/node_modules/moment/src/lib/moment/now.js +0 -3
- package/node_modules/moment/src/lib/moment/prototype.js +0 -197
- package/node_modules/moment/src/lib/moment/start-end-of.js +0 -164
- package/node_modules/moment/src/lib/moment/to-type.js +0 -42
- package/node_modules/moment/src/lib/moment/to.js +0 -20
- package/node_modules/moment/src/lib/moment/valid.js +0 -15
- package/node_modules/moment/src/lib/parse/regex.js +0 -84
- package/node_modules/moment/src/lib/parse/token.js +0 -36
- package/node_modules/moment/src/lib/units/aliases.js +0 -75
- package/node_modules/moment/src/lib/units/constants.js +0 -9
- package/node_modules/moment/src/lib/units/day-of-month.js +0 -35
- package/node_modules/moment/src/lib/units/day-of-week.js +0 -432
- package/node_modules/moment/src/lib/units/day-of-year.js +0 -28
- package/node_modules/moment/src/lib/units/era.js +0 -293
- package/node_modules/moment/src/lib/units/hour.js +0 -152
- package/node_modules/moment/src/lib/units/millisecond.js +0 -66
- package/node_modules/moment/src/lib/units/minute.js +0 -24
- package/node_modules/moment/src/lib/units/month.js +0 -340
- package/node_modules/moment/src/lib/units/offset.js +0 -249
- package/node_modules/moment/src/lib/units/priorities.js +0 -34
- package/node_modules/moment/src/lib/units/quarter.js +0 -24
- package/node_modules/moment/src/lib/units/second.js +0 -24
- package/node_modules/moment/src/lib/units/timestamp.js +0 -20
- package/node_modules/moment/src/lib/units/timezone.js +0 -16
- package/node_modules/moment/src/lib/units/units.js +0 -20
- package/node_modules/moment/src/lib/units/week-calendar-utils.js +0 -66
- package/node_modules/moment/src/lib/units/week-year.js +0 -128
- package/node_modules/moment/src/lib/units/week.js +0 -62
- package/node_modules/moment/src/lib/units/year.js +0 -75
- package/node_modules/moment/src/lib/utils/abs-ceil.js +0 -7
- package/node_modules/moment/src/lib/utils/abs-floor.js +0 -8
- package/node_modules/moment/src/lib/utils/abs-round.js +0 -7
- package/node_modules/moment/src/lib/utils/compare-arrays.js +0 -18
- package/node_modules/moment/src/lib/utils/defaults.js +0 -10
- package/node_modules/moment/src/lib/utils/deprecate.js +0 -69
- package/node_modules/moment/src/lib/utils/extend.js +0 -19
- package/node_modules/moment/src/lib/utils/has-own-prop.js +0 -3
- package/node_modules/moment/src/lib/utils/hooks.js +0 -13
- package/node_modules/moment/src/lib/utils/index-of.js +0 -18
- package/node_modules/moment/src/lib/utils/is-array.js +0 -6
- package/node_modules/moment/src/lib/utils/is-calendar-spec.js +0 -25
- package/node_modules/moment/src/lib/utils/is-date.js +0 -6
- package/node_modules/moment/src/lib/utils/is-function.js +0 -6
- package/node_modules/moment/src/lib/utils/is-leap-year.js +0 -3
- package/node_modules/moment/src/lib/utils/is-moment-input.js +0 -75
- package/node_modules/moment/src/lib/utils/is-number.js +0 -6
- package/node_modules/moment/src/lib/utils/is-object-empty.js +0 -15
- package/node_modules/moment/src/lib/utils/is-object.js +0 -8
- package/node_modules/moment/src/lib/utils/is-string.js +0 -3
- package/node_modules/moment/src/lib/utils/is-undefined.js +0 -3
- package/node_modules/moment/src/lib/utils/keys.js +0 -20
- package/node_modules/moment/src/lib/utils/map.js +0 -9
- package/node_modules/moment/src/lib/utils/mod.js +0 -3
- package/node_modules/moment/src/lib/utils/some.js +0 -20
- package/node_modules/moment/src/lib/utils/to-int.js +0 -12
- package/node_modules/moment/src/lib/utils/zero-fill.js +0 -10
- package/node_modules/moment/src/locale/af.js +0 -71
- package/node_modules/moment/src/locale/ar-dz.js +0 -156
- package/node_modules/moment/src/locale/ar-kw.js +0 -55
- package/node_modules/moment/src/locale/ar-ly.js +0 -171
- package/node_modules/moment/src/locale/ar-ma.js +0 -56
- package/node_modules/moment/src/locale/ar-ps.js +0 -112
- package/node_modules/moment/src/locale/ar-sa.js +0 -105
- package/node_modules/moment/src/locale/ar-tn.js +0 -55
- package/node_modules/moment/src/locale/ar.js +0 -189
- package/node_modules/moment/src/locale/az.js +0 -102
- package/node_modules/moment/src/locale/be.js +0 -142
- package/node_modules/moment/src/locale/bg.js +0 -87
- package/node_modules/moment/src/locale/bm.js +0 -52
- package/node_modules/moment/src/locale/bn-bd.js +0 -129
- package/node_modules/moment/src/locale/bn.js +0 -119
- package/node_modules/moment/src/locale/bo.js +0 -124
- package/node_modules/moment/src/locale/br.js +0 -168
- package/node_modules/moment/src/locale/bs.js +0 -160
- package/node_modules/moment/src/locale/ca.js +0 -100
- package/node_modules/moment/src/locale/cs.js +0 -181
- package/node_modules/moment/src/locale/cv.js +0 -63
- package/node_modules/moment/src/locale/cy.js +0 -98
- package/node_modules/moment/src/locale/da.js +0 -53
- package/node_modules/moment/src/locale/de-at.js +0 -79
- package/node_modules/moment/src/locale/de-ch.js +0 -78
- package/node_modules/moment/src/locale/de.js +0 -78
- package/node_modules/moment/src/locale/dv.js +0 -90
- package/node_modules/moment/src/locale/el.js +0 -106
- package/node_modules/moment/src/locale/en-au.js +0 -68
- package/node_modules/moment/src/locale/en-ca.js +0 -64
- package/node_modules/moment/src/locale/en-gb.js +0 -68
- package/node_modules/moment/src/locale/en-ie.js +0 -68
- package/node_modules/moment/src/locale/en-il.js +0 -64
- package/node_modules/moment/src/locale/en-in.js +0 -68
- package/node_modules/moment/src/locale/en-nz.js +0 -68
- package/node_modules/moment/src/locale/en-sg.js +0 -68
- package/node_modules/moment/src/locale/eo.js +0 -68
- package/node_modules/moment/src/locale/es-do.js +0 -108
- package/node_modules/moment/src/locale/es-mx.js +0 -110
- package/node_modules/moment/src/locale/es-us.js +0 -110
- package/node_modules/moment/src/locale/es.js +0 -110
- package/node_modules/moment/src/locale/et.js +0 -78
- package/node_modules/moment/src/locale/eu.js +0 -65
- package/node_modules/moment/src/locale/fa.js +0 -113
- package/node_modules/moment/src/locale/fi.js +0 -124
- package/node_modules/moment/src/locale/fil.js +0 -58
- package/node_modules/moment/src/locale/fo.js +0 -57
- package/node_modules/moment/src/locale/fr-ca.js +0 -70
- package/node_modules/moment/src/locale/fr-ch.js +0 -74
- package/node_modules/moment/src/locale/fr.js +0 -108
- package/node_modules/moment/src/locale/fy.js +0 -75
- package/node_modules/moment/src/locale/ga.js +0 -95
- package/node_modules/moment/src/locale/gd.js +0 -95
- package/node_modules/moment/src/locale/gl.js +0 -75
- package/node_modules/moment/src/locale/gom-deva.js +0 -126
- package/node_modules/moment/src/locale/gom-latn.js +0 -124
- package/node_modules/moment/src/locale/gu.js +0 -122
- package/node_modules/moment/src/locale/he.js +0 -94
- package/node_modules/moment/src/locale/hi.js +0 -168
- package/node_modules/moment/src/locale/hr.js +0 -156
- package/node_modules/moment/src/locale/hu.js +0 -118
- package/node_modules/moment/src/locale/hy-am.js +0 -94
- package/node_modules/moment/src/locale/id.js +0 -76
- package/node_modules/moment/src/locale/is.js +0 -140
- package/node_modules/moment/src/locale/it-ch.js +0 -64
- package/node_modules/moment/src/locale/it.js +0 -106
- package/node_modules/moment/src/locale/ja.js +0 -148
- package/node_modules/moment/src/locale/jv.js +0 -76
- package/node_modules/moment/src/locale/ka.js +0 -92
- package/node_modules/moment/src/locale/kk.js +0 -82
- package/node_modules/moment/src/locale/km.js +0 -103
- package/node_modules/moment/src/locale/kn.js +0 -124
- package/node_modules/moment/src/locale/ko.js +0 -75
- package/node_modules/moment/src/locale/ku-kmr.js +0 -121
- package/node_modules/moment/src/locale/ku.js +0 -118
- package/node_modules/moment/src/locale/ky.js +0 -84
- package/node_modules/moment/src/locale/lb.js +0 -137
- package/node_modules/moment/src/locale/lo.js +0 -66
- package/node_modules/moment/src/locale/lt.js +0 -125
- package/node_modules/moment/src/locale/lv.js +0 -94
- package/node_modules/moment/src/locale/me.js +0 -117
- package/node_modules/moment/src/locale/mi.js +0 -60
- package/node_modules/moment/src/locale/mk.js +0 -85
- package/node_modules/moment/src/locale/ml.js +0 -82
- package/node_modules/moment/src/locale/mn.js +0 -100
- package/node_modules/moment/src/locale/mr.js +0 -203
- package/node_modules/moment/src/locale/ms-my.js +0 -76
- package/node_modules/moment/src/locale/ms.js +0 -75
- package/node_modules/moment/src/locale/mt.js +0 -56
- package/node_modules/moment/src/locale/my.js +0 -91
- package/node_modules/moment/src/locale/nb.js +0 -60
- package/node_modules/moment/src/locale/ne.js +0 -121
- package/node_modules/moment/src/locale/nl-be.js +0 -102
- package/node_modules/moment/src/locale/nl.js +0 -104
- package/node_modules/moment/src/locale/nn.js +0 -59
- package/node_modules/moment/src/locale/oc-lnc.js +0 -85
- package/node_modules/moment/src/locale/pa-in.js +0 -122
- package/node_modules/moment/src/locale/pl.js +0 -140
- package/node_modules/moment/src/locale/pt-br.js +0 -58
- package/node_modules/moment/src/locale/pt.js +0 -63
- package/node_modules/moment/src/locale/ro.js +0 -76
- package/node_modules/moment/src/locale/ru.js +0 -213
- package/node_modules/moment/src/locale/sd.js +0 -81
- package/node_modules/moment/src/locale/se.js +0 -57
- package/node_modules/moment/src/locale/si.js +0 -69
- package/node_modules/moment/src/locale/sk.js +0 -145
- package/node_modules/moment/src/locale/sl.js +0 -171
- package/node_modules/moment/src/locale/sq.js +0 -65
- package/node_modules/moment/src/locale/sr-cyrl.js +0 -127
- package/node_modules/moment/src/locale/sr.js +0 -129
- package/node_modules/moment/src/locale/ss.js +0 -84
- package/node_modules/moment/src/locale/sv.js +0 -68
- package/node_modules/moment/src/locale/sw.js +0 -55
- package/node_modules/moment/src/locale/ta.js +0 -131
- package/node_modules/moment/src/locale/te.js +0 -88
- package/node_modules/moment/src/locale/tet.js +0 -68
- package/node_modules/moment/src/locale/tg.js +0 -117
- package/node_modules/moment/src/locale/th.js +0 -65
- package/node_modules/moment/src/locale/tk.js +0 -91
- package/node_modules/moment/src/locale/tl-ph.js +0 -57
- package/node_modules/moment/src/locale/tlh.js +0 -124
- package/node_modules/moment/src/locale/tr.js +0 -106
- package/node_modules/moment/src/locale/tzl.js +0 -89
- package/node_modules/moment/src/locale/tzm-latn.js +0 -54
- package/node_modules/moment/src/locale/tzm.js +0 -54
- package/node_modules/moment/src/locale/ug-cn.js +0 -111
- package/node_modules/moment/src/locale/uk.js +0 -167
- package/node_modules/moment/src/locale/ur.js +0 -82
- package/node_modules/moment/src/locale/uz-latn.js +0 -54
- package/node_modules/moment/src/locale/uz.js +0 -51
- package/node_modules/moment/src/locale/vi.js +0 -80
- package/node_modules/moment/src/locale/x-pseudo.js +0 -73
- package/node_modules/moment/src/locale/yo.js +0 -53
- package/node_modules/moment/src/locale/zh-cn.js +0 -120
- package/node_modules/moment/src/locale/zh-hk.js +0 -101
- package/node_modules/moment/src/locale/zh-mo.js +0 -100
- package/node_modules/moment/src/locale/zh-tw.js +0 -99
- package/node_modules/moment/src/moment.js +0 -93
- package/node_modules/moment/ts3.1-typings/moment.d.ts +0 -785
- package/node_modules/nanoid/LICENSE +0 -20
- package/node_modules/nanoid/README.md +0 -38
- package/node_modules/nanoid/async/index.browser.js +0 -33
- package/node_modules/nanoid/async/index.d.ts +0 -56
- package/node_modules/nanoid/async/index.js +0 -34
- package/node_modules/nanoid/async/index.native.js +0 -25
- package/node_modules/nanoid/bin/nanoid.js +0 -46
- package/node_modules/nanoid/index.browser.js +0 -33
- package/node_modules/nanoid/index.d.ts +0 -91
- package/node_modules/nanoid/index.js +0 -45
- package/node_modules/nanoid/nanoid.js +0 -1
- package/node_modules/nanoid/non-secure/index.d.ts +0 -33
- package/node_modules/nanoid/non-secure/index.js +0 -20
- package/node_modules/nanoid/package.json +0 -46
- package/node_modules/nanoid/url-alphabet/index.js +0 -2
- package/node_modules/ts-md5/LICENSE +0 -21
- package/node_modules/ts-md5/README.md +0 -101
- package/node_modules/ts-md5/dist/cjs/index.d.ts +0 -3
- package/node_modules/ts-md5/dist/cjs/index.js +0 -10
- package/node_modules/ts-md5/dist/cjs/index.js.map +0 -1
- package/node_modules/ts-md5/dist/cjs/md5.d.ts +0 -70
- package/node_modules/ts-md5/dist/cjs/md5.js +0 -429
- package/node_modules/ts-md5/dist/cjs/md5.js.map +0 -1
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.d.ts +0 -25
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js +0 -96
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.d.ts +0 -22
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.js +0 -69
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/index.d.ts +0 -3
- package/node_modules/ts-md5/dist/esm/index.js +0 -4
- package/node_modules/ts-md5/dist/esm/index.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/md5.d.ts +0 -70
- package/node_modules/ts-md5/dist/esm/md5.js +0 -421
- package/node_modules/ts-md5/dist/esm/md5.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.d.ts +0 -25
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.js +0 -89
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/parallel_hasher.d.ts +0 -22
- package/node_modules/ts-md5/dist/esm/parallel_hasher.js +0 -64
- package/node_modules/ts-md5/dist/esm/parallel_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/md5.js +0 -429
- package/node_modules/ts-md5/dist/md5_worker.js +0 -523
- package/node_modules/ts-md5/package.json +0 -82
- package/node_modules/ts-md5/src/index.ts +0 -4
- package/node_modules/ts-md5/src/md5.ts +0 -473
- package/node_modules/ts-md5/src/md5_file_hasher.ts +0 -110
- package/node_modules/ts-md5/src/parallel_hasher.ts +0 -90
- package/node_modules/ts-md5/src/worker.js +0 -20
- package/tfsec.json +0 -4
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
import { LinuxVirtualMachineSourceImageReference, LinuxVirtualMachineOsDisk, LinuxVirtualMachineAdminSshKey, LinuxVirtualMachineIdentity } from "@cdktf/provider-azurerm/lib/linux-virtual-machine";
|
|
2
|
-
import { LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress } from "@cdktf/provider-azurerm/lib/linux-virtual-machine-scale-set";
|
|
3
|
-
import { ResourceGroup } from "@cdktf/provider-azurerm/lib/resource-group";
|
|
4
|
-
import { Subnet } from "@cdktf/provider-azurerm/lib/subnet";
|
|
5
|
-
import { WindowsVirtualMachineOsDisk, WindowsVirtualMachineSourceImageReference } from "@cdktf/provider-azurerm/lib/windows-virtual-machine";
|
|
6
|
-
import { WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress } from "@cdktf/provider-azurerm/lib/windows-virtual-machine-scale-set";
|
|
7
|
-
import * as cdktf from "cdktf";
|
|
8
|
-
import { Construct } from "constructs";
|
|
9
|
-
import { AzureResource } from "../../core-azure/lib";
|
|
10
|
-
export interface LinuxClusterProps {
|
|
11
|
-
/**
|
|
12
|
-
* The Azure location where the virtual machine scale set should be created.
|
|
13
|
-
* @default "eastus"
|
|
14
|
-
*/
|
|
15
|
-
readonly location?: string;
|
|
16
|
-
/**
|
|
17
|
-
* The name of the virtual machine scale set.
|
|
18
|
-
* @default - Uses the name derived from the construct path.
|
|
19
|
-
*/
|
|
20
|
-
readonly name?: string;
|
|
21
|
-
/**
|
|
22
|
-
* The admin username for the virtual machine.
|
|
23
|
-
*/
|
|
24
|
-
readonly adminUsername?: string;
|
|
25
|
-
/**
|
|
26
|
-
* The admin password for the virtual machine.
|
|
27
|
-
*/
|
|
28
|
-
readonly adminPassword?: string;
|
|
29
|
-
/**
|
|
30
|
-
* The name of the resource group in which the virtual machine scale set will be created.
|
|
31
|
-
*/
|
|
32
|
-
readonly resourceGroup: ResourceGroup;
|
|
33
|
-
/**
|
|
34
|
-
* The size of the virtual machines in the scale set.
|
|
35
|
-
* @default "Standard_B2s"
|
|
36
|
-
*/
|
|
37
|
-
readonly sku?: string;
|
|
38
|
-
/**
|
|
39
|
-
* Custom data to pass to the virtual machines upon creation.
|
|
40
|
-
*/
|
|
41
|
-
readonly userData?: string;
|
|
42
|
-
/**
|
|
43
|
-
* An array of SSH keys for the admin user.
|
|
44
|
-
*/
|
|
45
|
-
readonly adminSshKey?: LinuxVirtualMachineAdminSshKey[] | cdktf.IResolvable;
|
|
46
|
-
/**
|
|
47
|
-
* The availability zone(s) in which the VMs should be placed.
|
|
48
|
-
*/
|
|
49
|
-
readonly zones?: string[];
|
|
50
|
-
/**
|
|
51
|
-
* Managed identity settings for the VMs.
|
|
52
|
-
*/
|
|
53
|
-
readonly identity?: LinuxVirtualMachineIdentity;
|
|
54
|
-
/**
|
|
55
|
-
* The source image reference for the virtual machines.
|
|
56
|
-
* @default - Uses a default Ubuntu image.
|
|
57
|
-
*/
|
|
58
|
-
readonly sourceImageReference?: LinuxVirtualMachineSourceImageReference;
|
|
59
|
-
/**
|
|
60
|
-
* The ID of the source image for the virtual machines.
|
|
61
|
-
*/
|
|
62
|
-
readonly sourceImageId?: string;
|
|
63
|
-
/**
|
|
64
|
-
* Tags to apply to the virtual machine scale set.
|
|
65
|
-
*/
|
|
66
|
-
readonly tags?: {
|
|
67
|
-
[key: string]: string;
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* The OS disk configuration for the virtual machines.
|
|
71
|
-
* @default - Uses a disk with caching set to "ReadWrite" and storage account type "Standard_LRS".
|
|
72
|
-
*/
|
|
73
|
-
readonly osDisk?: LinuxVirtualMachineOsDisk;
|
|
74
|
-
/**
|
|
75
|
-
* The subnet in which the virtual machines will be placed.
|
|
76
|
-
*/
|
|
77
|
-
readonly subnet?: Subnet;
|
|
78
|
-
/**
|
|
79
|
-
* The allocation method for the public IP.
|
|
80
|
-
*/
|
|
81
|
-
readonly publicIPAddress?: LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress[];
|
|
82
|
-
/**
|
|
83
|
-
* Custom data to pass to the virtual machines upon creation.
|
|
84
|
-
*/
|
|
85
|
-
readonly customData?: string;
|
|
86
|
-
/**
|
|
87
|
-
* The number of VM instances in the scale set.
|
|
88
|
-
* @default 2
|
|
89
|
-
*/
|
|
90
|
-
readonly instances?: number;
|
|
91
|
-
/**
|
|
92
|
-
* Specifies the scale set's upgrade policy settings.
|
|
93
|
-
*/
|
|
94
|
-
readonly upgradePolicyMode?: string;
|
|
95
|
-
/**
|
|
96
|
-
* Specifies if the VMSS should be overprovisioned.
|
|
97
|
-
* @default true
|
|
98
|
-
*/
|
|
99
|
-
readonly overprovision?: boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Specifies the scale-in policy for the VMSS.
|
|
102
|
-
*/
|
|
103
|
-
readonly scaleInPolicy?: string;
|
|
104
|
-
/**
|
|
105
|
-
* Boot diagnostics settings for the VMSS.
|
|
106
|
-
*/
|
|
107
|
-
readonly bootDiagnosticsStorageURI?: string;
|
|
108
|
-
/**
|
|
109
|
-
* Enable SSH Azure AD Login, required managed identity to be set.
|
|
110
|
-
* @default false
|
|
111
|
-
*/
|
|
112
|
-
readonly enableSshAzureADLogin?: boolean;
|
|
113
|
-
}
|
|
114
|
-
export declare class LinuxCluster extends AzureResource {
|
|
115
|
-
readonly props: LinuxClusterProps;
|
|
116
|
-
resourceGroup: ResourceGroup;
|
|
117
|
-
id: string;
|
|
118
|
-
readonly name: string;
|
|
119
|
-
readonly fqn: string;
|
|
120
|
-
/**
|
|
121
|
-
* Represents a Linux Virtual Machine Scale Set (VMSS) within Microsoft Azure.
|
|
122
|
-
*
|
|
123
|
-
* This class is designed to provision and manage a scale set of Linux virtual machines, providing capabilities such as
|
|
124
|
-
* auto-scaling, high availability, and simplified management. It supports detailed configurations like VM size, operating
|
|
125
|
-
* system image, network settings, and administrative credentials. Additional functionalities include custom data scripts,
|
|
126
|
-
* SSH configurations, and optional features like managed identity and boot diagnostics.
|
|
127
|
-
*
|
|
128
|
-
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
|
|
129
|
-
* @param id - The unique identifier for this instance of the Linux cluster, used within the scope for reference.
|
|
130
|
-
* @param props - Configuration properties for the Linux VM Scale Set, derived from the LinuxClusterProps interface. These include:
|
|
131
|
-
* - `location`: The geographic location where the scale set will be hosted (e.g., "eastus").
|
|
132
|
-
* - `name`: The name of the scale set, which must be unique within the resource group.
|
|
133
|
-
* - `resourceGroup`: The ResourceGroup within which the scale set will be created.
|
|
134
|
-
* - `sku`: The size specification of the VMs (e.g., "Standard_B2s").
|
|
135
|
-
* - `adminUsername`: The administrator username for the VMs.
|
|
136
|
-
* - `adminPassword`: The administrator password for the VMs.
|
|
137
|
-
* - `adminSshKey`: SSH keys for secure access to the VMs.
|
|
138
|
-
* - `zones`: The availability zones for deploying the VMs.
|
|
139
|
-
* - `identity`: Managed identity settings for accessing other Azure services.
|
|
140
|
-
* - `sourceImageReference`: A reference to the specific Linux image to be used for the VMs.
|
|
141
|
-
* - `sourceImageId`: The identifier for a custom image to use for the VMs.
|
|
142
|
-
* - `tags`: Key-value pairs for resource tagging.
|
|
143
|
-
* - `osDisk`: Configuration for the VMs' operating system disks.
|
|
144
|
-
* - `subnet`: Specifies the subnet within which the VMs will be placed.
|
|
145
|
-
* - `publicIPAddress`: Method used to allocate public IP addresses to the VMs.
|
|
146
|
-
* - `customData`: Scripts or commands passed to the VMs at startup.
|
|
147
|
-
* - `instances`: The number of VM instances in the scale set.
|
|
148
|
-
* - `upgradePolicyMode`: The upgrade policy mode for the VMSS.
|
|
149
|
-
* - `overprovision`: Specifies if the VMSS should be overprovisioned to maintain capacity during updates.
|
|
150
|
-
* - `scaleInPolicy`: The scale-in policy for the VMSS.
|
|
151
|
-
* - `bootDiagnosticsStorageURI`: URI for storage where VMSS boot diagnostics are collected.
|
|
152
|
-
* - `enableSshAzureADLogin`: Option to enable Azure AD login for SSH on the VMs.
|
|
153
|
-
*
|
|
154
|
-
* Example usage:
|
|
155
|
-
* ```typescript
|
|
156
|
-
* const linuxCluster = new LinuxCluster(this, 'MyLinuxCluster', {
|
|
157
|
-
* resourceGroup: myResourceGroup,
|
|
158
|
-
* name: 'myCluster',
|
|
159
|
-
* sku: 'Standard_DS1_v2',
|
|
160
|
-
* adminUsername: 'adminuser',
|
|
161
|
-
* adminSshKey: [{ publicKey: 'ssh-rsa AAAAB...' }],
|
|
162
|
-
* sourceImageReference: { publisher: 'Canonical', offer: 'UbuntuServer', sku: '18.04-LTS', version: 'latest' },
|
|
163
|
-
* osDisk: { caching: 'ReadWrite', storageAccountType: 'Standard_LRS' },
|
|
164
|
-
* subnet: mySubnet,
|
|
165
|
-
* instances: 3,
|
|
166
|
-
* tags: { environment: 'production' }
|
|
167
|
-
* });
|
|
168
|
-
* ```
|
|
169
|
-
* This class initializes a Linux VM Scale Set with the specified configurations, handling details like VM creation,
|
|
170
|
-
* scaling policies, network setup, OS installation, and security settings, providing a robust and scalable infrastructure
|
|
171
|
-
* for hosting cloud-based Linux applications.
|
|
172
|
-
*/
|
|
173
|
-
constructor(scope: Construct, id: string, props: LinuxClusterProps);
|
|
174
|
-
}
|
|
175
|
-
export interface WindowsClusterProps {
|
|
176
|
-
/**
|
|
177
|
-
* The Azure location where the virtual machine should be created.
|
|
178
|
-
* @default "eastus"
|
|
179
|
-
*/
|
|
180
|
-
readonly location?: string;
|
|
181
|
-
/**
|
|
182
|
-
* The name of the virtual machine.
|
|
183
|
-
* @default - Uses the name derived from the construct path.
|
|
184
|
-
*/
|
|
185
|
-
readonly name?: string;
|
|
186
|
-
/**
|
|
187
|
-
* The name of the resource group in which the virtual machine will be created.
|
|
188
|
-
*/
|
|
189
|
-
readonly resourceGroup: ResourceGroup;
|
|
190
|
-
/**
|
|
191
|
-
* The size of the virtual machine.
|
|
192
|
-
* @default "Standard_B2s"
|
|
193
|
-
*/
|
|
194
|
-
readonly sku?: string;
|
|
195
|
-
/**
|
|
196
|
-
* The admin username for the virtual machine.
|
|
197
|
-
*/
|
|
198
|
-
readonly adminUsername: string;
|
|
199
|
-
/**
|
|
200
|
-
* The admin password for the virtual machine.
|
|
201
|
-
*/
|
|
202
|
-
readonly adminPassword: string;
|
|
203
|
-
/**
|
|
204
|
-
* The availability zone(s) in which the VMs should be placed.
|
|
205
|
-
*/
|
|
206
|
-
readonly zones?: string[];
|
|
207
|
-
/**
|
|
208
|
-
* The number of VM instances in the scale set.
|
|
209
|
-
* @default 2
|
|
210
|
-
*/
|
|
211
|
-
readonly instances?: number;
|
|
212
|
-
/**
|
|
213
|
-
* The source image reference for the virtual machine.
|
|
214
|
-
* @default - Uses WindowsServer2022DatacenterCore.
|
|
215
|
-
*/
|
|
216
|
-
readonly sourceImageReference?: WindowsVirtualMachineSourceImageReference;
|
|
217
|
-
/**
|
|
218
|
-
* The ID of the source image for the virtual machine.
|
|
219
|
-
*/
|
|
220
|
-
readonly sourceImageId?: string;
|
|
221
|
-
/**
|
|
222
|
-
* Tags to apply to the virtual machine.
|
|
223
|
-
*/
|
|
224
|
-
readonly tags?: {
|
|
225
|
-
[key: string]: string;
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* The OS disk configuration for the virtual machine.
|
|
229
|
-
* @default - Uses a disk with caching set to "ReadWrite" and storage account type "Standard_LRS".
|
|
230
|
-
*/
|
|
231
|
-
readonly osDisk?: WindowsVirtualMachineOsDisk;
|
|
232
|
-
/**
|
|
233
|
-
* The subnet in which the virtual machine will be placed.
|
|
234
|
-
* @default - Uses the default subnet from a new virtual network.
|
|
235
|
-
*/
|
|
236
|
-
readonly subnet?: Subnet;
|
|
237
|
-
/**
|
|
238
|
-
* The allocation method for the public IP.
|
|
239
|
-
*/
|
|
240
|
-
readonly publicIPAddress?: WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress[];
|
|
241
|
-
/**
|
|
242
|
-
* Specifies the scale set's upgrade policy settings.
|
|
243
|
-
*/
|
|
244
|
-
readonly upgradePolicyMode?: string;
|
|
245
|
-
/**
|
|
246
|
-
* Custom data to pass to the virtual machine upon creation.
|
|
247
|
-
*/
|
|
248
|
-
readonly customData?: string;
|
|
249
|
-
/**
|
|
250
|
-
* Custom data to bootstrap the virtual machine. Automatically triggers Azure Custom Script extension to deploy code in custom data.
|
|
251
|
-
*/
|
|
252
|
-
readonly boostrapCustomData?: string;
|
|
253
|
-
/**
|
|
254
|
-
* Bootdiagnostics settings for the VM.
|
|
255
|
-
*/
|
|
256
|
-
readonly bootDiagnosticsStorageURI?: string;
|
|
257
|
-
/**
|
|
258
|
-
* Specifies if the VMSS should be overprovisioned.
|
|
259
|
-
* @default true
|
|
260
|
-
*/
|
|
261
|
-
readonly overprovision?: boolean;
|
|
262
|
-
/**
|
|
263
|
-
* Specifies the scale-in policy for the VMSS.
|
|
264
|
-
*/
|
|
265
|
-
readonly scaleInPolicy?: string;
|
|
266
|
-
}
|
|
267
|
-
export declare class WindowsCluster extends AzureResource {
|
|
268
|
-
readonly props: WindowsClusterProps;
|
|
269
|
-
resourceGroup: ResourceGroup;
|
|
270
|
-
id: string;
|
|
271
|
-
readonly name: string;
|
|
272
|
-
/**
|
|
273
|
-
* Represents a Windows Virtual Machine Scale Set (VMSS) within Microsoft Azure.
|
|
274
|
-
*
|
|
275
|
-
* This class provides a way to deploy and manage a scale set of Windows virtual machines, allowing for configurations such as
|
|
276
|
-
* auto-scaling, high availability, and simplified patch management. It supports detailed specifications including
|
|
277
|
-
* VM size, the operating system image, network settings, and administrative credentials. Additional capabilities include
|
|
278
|
-
* custom data scripts, automatic OS updates, and optional features like managed identity and boot diagnostics.
|
|
279
|
-
*
|
|
280
|
-
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
|
|
281
|
-
* @param id - The unique identifier for this instance of the Windows cluster, used within the scope for reference.
|
|
282
|
-
* @param props - Configuration properties for the Windows VM Scale Set, derived from the WindowsClusterProps interface. These include:
|
|
283
|
-
* - `location`: The geographic location where the scale set will be hosted (e.g., "eastus").
|
|
284
|
-
* - `name`: The name of the scale set, which must be unique within the resource group.
|
|
285
|
-
* - `resourceGroup`: The ResourceGroup within which the scale set will be created.
|
|
286
|
-
* - `sku`: The size specification of the VMs (e.g., "Standard_B2s").
|
|
287
|
-
* - `adminUsername`: The administrator username for the VMs.
|
|
288
|
-
* - `adminPassword`: The administrator password for the VMs.
|
|
289
|
-
* - `zones`: The availability zones for deploying the VMs.
|
|
290
|
-
* - `instances`: The number of VM instances in the scale set.
|
|
291
|
-
* - `sourceImageReference`: A reference to the specific Windows image to be used for the VMs.
|
|
292
|
-
* - `sourceImageId`: The identifier for a custom image to use for the VMs.
|
|
293
|
-
* - `tags`: Key-value pairs for resource tagging.
|
|
294
|
-
* - `osDisk`: Configuration for the VMs' operating system disks.
|
|
295
|
-
* - `subnet`: Specifies the subnet within which the VMs will be placed.
|
|
296
|
-
* - `publicIPAddress`: Method used to allocate public IP addresses to the VMs.
|
|
297
|
-
* - `customData`: Scripts or commands passed to the VMs at startup.
|
|
298
|
-
* - `upgradePolicyMode`: The upgrade policy mode for the VMSS.
|
|
299
|
-
* - `overprovision`: Specifies if the VMSS should be overprovisioned to maintain capacity during updates.
|
|
300
|
-
* - `scaleInPolicy`: The scale-in policy for the VMSS.
|
|
301
|
-
* - `bootDiagnosticsStorageURI`: URI for storage where VMSS boot diagnostics are collected.
|
|
302
|
-
* - `enableSshAzureADLogin`: Option to enable Azure AD login for SSH on the VMs.
|
|
303
|
-
*
|
|
304
|
-
* Example usage:
|
|
305
|
-
* ```typescript
|
|
306
|
-
* const windowsCluster = new WindowsCluster(this, 'MyWindowsCluster', {
|
|
307
|
-
* resourceGroup: myResourceGroup,
|
|
308
|
-
* name: 'myCluster',
|
|
309
|
-
* sku: 'Standard_DS1_v2',
|
|
310
|
-
* adminUsername: 'adminuser',
|
|
311
|
-
* adminPassword: 'securepassword123',
|
|
312
|
-
* sourceImageReference: { publisher: 'MicrosoftWindowsServer', offer: 'WindowsServer', sku: '2019-Datacenter', version: 'latest' },
|
|
313
|
-
* osDisk: { caching: 'ReadWrite', storageAccountType: 'Standard_LRS' },
|
|
314
|
-
* subnet: mySubnet,
|
|
315
|
-
* instances: 3,
|
|
316
|
-
* tags: { environment: 'production' }
|
|
317
|
-
* });
|
|
318
|
-
* ```
|
|
319
|
-
* This class initializes a Windows VM Scale Set with the specified configurations, handling details like VM creation,
|
|
320
|
-
* scaling policies, network setup, OS installation, and security settings, providing a robust and scalable infrastructure
|
|
321
|
-
* for hosting cloud-based Windows applications.
|
|
322
|
-
*/
|
|
323
|
-
constructor(scope: Construct, id: string, props: WindowsClusterProps);
|
|
324
|
-
}
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a, _b;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.WindowsCluster = exports.LinuxCluster = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const linux_virtual_machine_scale_set_1 = require("@cdktf/provider-azurerm/lib/linux-virtual-machine-scale-set");
|
|
7
|
-
const virtual_machine_scale_set_extension_1 = require("@cdktf/provider-azurerm/lib/virtual-machine-scale-set-extension");
|
|
8
|
-
const windows_virtual_machine_scale_set_1 = require("@cdktf/provider-azurerm/lib/windows-virtual-machine-scale-set");
|
|
9
|
-
const azure_virtualmachine_1 = require("../../azure-virtualmachine");
|
|
10
|
-
const network_1 = require("../../azure-virtualnetwork/lib/network");
|
|
11
|
-
const lib_1 = require("../../core-azure/lib");
|
|
12
|
-
class LinuxCluster extends lib_1.AzureResource {
|
|
13
|
-
/**
|
|
14
|
-
* Represents a Linux Virtual Machine Scale Set (VMSS) within Microsoft Azure.
|
|
15
|
-
*
|
|
16
|
-
* This class is designed to provision and manage a scale set of Linux virtual machines, providing capabilities such as
|
|
17
|
-
* auto-scaling, high availability, and simplified management. It supports detailed configurations like VM size, operating
|
|
18
|
-
* system image, network settings, and administrative credentials. Additional functionalities include custom data scripts,
|
|
19
|
-
* SSH configurations, and optional features like managed identity and boot diagnostics.
|
|
20
|
-
*
|
|
21
|
-
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
|
|
22
|
-
* @param id - The unique identifier for this instance of the Linux cluster, used within the scope for reference.
|
|
23
|
-
* @param props - Configuration properties for the Linux VM Scale Set, derived from the LinuxClusterProps interface. These include:
|
|
24
|
-
* - `location`: The geographic location where the scale set will be hosted (e.g., "eastus").
|
|
25
|
-
* - `name`: The name of the scale set, which must be unique within the resource group.
|
|
26
|
-
* - `resourceGroup`: The ResourceGroup within which the scale set will be created.
|
|
27
|
-
* - `sku`: The size specification of the VMs (e.g., "Standard_B2s").
|
|
28
|
-
* - `adminUsername`: The administrator username for the VMs.
|
|
29
|
-
* - `adminPassword`: The administrator password for the VMs.
|
|
30
|
-
* - `adminSshKey`: SSH keys for secure access to the VMs.
|
|
31
|
-
* - `zones`: The availability zones for deploying the VMs.
|
|
32
|
-
* - `identity`: Managed identity settings for accessing other Azure services.
|
|
33
|
-
* - `sourceImageReference`: A reference to the specific Linux image to be used for the VMs.
|
|
34
|
-
* - `sourceImageId`: The identifier for a custom image to use for the VMs.
|
|
35
|
-
* - `tags`: Key-value pairs for resource tagging.
|
|
36
|
-
* - `osDisk`: Configuration for the VMs' operating system disks.
|
|
37
|
-
* - `subnet`: Specifies the subnet within which the VMs will be placed.
|
|
38
|
-
* - `publicIPAddress`: Method used to allocate public IP addresses to the VMs.
|
|
39
|
-
* - `customData`: Scripts or commands passed to the VMs at startup.
|
|
40
|
-
* - `instances`: The number of VM instances in the scale set.
|
|
41
|
-
* - `upgradePolicyMode`: The upgrade policy mode for the VMSS.
|
|
42
|
-
* - `overprovision`: Specifies if the VMSS should be overprovisioned to maintain capacity during updates.
|
|
43
|
-
* - `scaleInPolicy`: The scale-in policy for the VMSS.
|
|
44
|
-
* - `bootDiagnosticsStorageURI`: URI for storage where VMSS boot diagnostics are collected.
|
|
45
|
-
* - `enableSshAzureADLogin`: Option to enable Azure AD login for SSH on the VMs.
|
|
46
|
-
*
|
|
47
|
-
* Example usage:
|
|
48
|
-
* ```typescript
|
|
49
|
-
* const linuxCluster = new LinuxCluster(this, 'MyLinuxCluster', {
|
|
50
|
-
* resourceGroup: myResourceGroup,
|
|
51
|
-
* name: 'myCluster',
|
|
52
|
-
* sku: 'Standard_DS1_v2',
|
|
53
|
-
* adminUsername: 'adminuser',
|
|
54
|
-
* adminSshKey: [{ publicKey: 'ssh-rsa AAAAB...' }],
|
|
55
|
-
* sourceImageReference: { publisher: 'Canonical', offer: 'UbuntuServer', sku: '18.04-LTS', version: 'latest' },
|
|
56
|
-
* osDisk: { caching: 'ReadWrite', storageAccountType: 'Standard_LRS' },
|
|
57
|
-
* subnet: mySubnet,
|
|
58
|
-
* instances: 3,
|
|
59
|
-
* tags: { environment: 'production' }
|
|
60
|
-
* });
|
|
61
|
-
* ```
|
|
62
|
-
* This class initializes a Linux VM Scale Set with the specified configurations, handling details like VM creation,
|
|
63
|
-
* scaling policies, network setup, OS installation, and security settings, providing a robust and scalable infrastructure
|
|
64
|
-
* for hosting cloud-based Linux applications.
|
|
65
|
-
*/
|
|
66
|
-
constructor(scope, id, props) {
|
|
67
|
-
super(scope, id);
|
|
68
|
-
this.props = props;
|
|
69
|
-
this.resourceGroup = props.resourceGroup;
|
|
70
|
-
const pathName = this.node.path.split("/")[0];
|
|
71
|
-
const defaults = {
|
|
72
|
-
name: props.name || pathName,
|
|
73
|
-
adminUsername: props.adminUsername || `admin${pathName}`,
|
|
74
|
-
location: props.location || "eastus",
|
|
75
|
-
sku: props.sku || "Standard_B2s",
|
|
76
|
-
instances: props.instances || 1,
|
|
77
|
-
osDisk: props.osDisk || {
|
|
78
|
-
caching: "ReadWrite",
|
|
79
|
-
storageAccountType: "Standard_LRS",
|
|
80
|
-
},
|
|
81
|
-
sourceImageReference: props.sourceImageReference || azure_virtualmachine_1.LinuxImageReferences.ubuntuServer2204LTS,
|
|
82
|
-
subnet: props.subnet ||
|
|
83
|
-
new network_1.Network(this, "vnet", {
|
|
84
|
-
resourceGroup: props.resourceGroup,
|
|
85
|
-
}).subnets.default,
|
|
86
|
-
};
|
|
87
|
-
const azurermLinuxVirtualMachineScaleSet = new linux_virtual_machine_scale_set_1.LinuxVirtualMachineScaleSet(this, "vmss", {
|
|
88
|
-
...defaults,
|
|
89
|
-
resourceGroupName: props.resourceGroup.name,
|
|
90
|
-
adminPassword: props.adminPassword,
|
|
91
|
-
disablePasswordAuthentication: props.adminPassword ? false : true,
|
|
92
|
-
tags: props.tags,
|
|
93
|
-
networkInterface: [
|
|
94
|
-
{
|
|
95
|
-
name: `nic-${defaults.name}`,
|
|
96
|
-
primary: true,
|
|
97
|
-
ipConfiguration: [
|
|
98
|
-
{
|
|
99
|
-
name: "internal",
|
|
100
|
-
subnetId: defaults.subnet.id,
|
|
101
|
-
primary: true,
|
|
102
|
-
publicIpAddress: props.publicIPAddress,
|
|
103
|
-
},
|
|
104
|
-
],
|
|
105
|
-
},
|
|
106
|
-
],
|
|
107
|
-
osDisk: {
|
|
108
|
-
...defaults.osDisk,
|
|
109
|
-
},
|
|
110
|
-
sourceImageId: props.sourceImageId,
|
|
111
|
-
customData: props.customData
|
|
112
|
-
? Buffer.from(props.customData).toString("base64")
|
|
113
|
-
: undefined,
|
|
114
|
-
userData: props.userData
|
|
115
|
-
? Buffer.from(props.userData).toString("base64")
|
|
116
|
-
: undefined,
|
|
117
|
-
adminSshKey: props.adminSshKey,
|
|
118
|
-
identity: props.identity,
|
|
119
|
-
});
|
|
120
|
-
this.id = azurermLinuxVirtualMachineScaleSet.id;
|
|
121
|
-
this.name = azurermLinuxVirtualMachineScaleSet.name;
|
|
122
|
-
this.fqn = azurermLinuxVirtualMachineScaleSet.fqn;
|
|
123
|
-
// Enable SSH Azure AD Login if specified
|
|
124
|
-
if (props.enableSshAzureADLogin) {
|
|
125
|
-
new virtual_machine_scale_set_extension_1.VirtualMachineScaleSetExtensionA(this, "AADSSHlogin", {
|
|
126
|
-
name: "AADSSHLoginForLinux",
|
|
127
|
-
virtualMachineScaleSetId: this.id,
|
|
128
|
-
publisher: "Microsoft.Azure.ActiveDirectory",
|
|
129
|
-
type: "AADSSHLoginForLinux",
|
|
130
|
-
typeHandlerVersion: "1.0",
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
exports.LinuxCluster = LinuxCluster;
|
|
136
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
137
|
-
LinuxCluster[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_virtualmachinescaleset.LinuxCluster", version: "0.0.3-pre.7" };
|
|
138
|
-
class WindowsCluster extends lib_1.AzureResource {
|
|
139
|
-
/**
|
|
140
|
-
* Represents a Windows Virtual Machine Scale Set (VMSS) within Microsoft Azure.
|
|
141
|
-
*
|
|
142
|
-
* This class provides a way to deploy and manage a scale set of Windows virtual machines, allowing for configurations such as
|
|
143
|
-
* auto-scaling, high availability, and simplified patch management. It supports detailed specifications including
|
|
144
|
-
* VM size, the operating system image, network settings, and administrative credentials. Additional capabilities include
|
|
145
|
-
* custom data scripts, automatic OS updates, and optional features like managed identity and boot diagnostics.
|
|
146
|
-
*
|
|
147
|
-
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
|
|
148
|
-
* @param id - The unique identifier for this instance of the Windows cluster, used within the scope for reference.
|
|
149
|
-
* @param props - Configuration properties for the Windows VM Scale Set, derived from the WindowsClusterProps interface. These include:
|
|
150
|
-
* - `location`: The geographic location where the scale set will be hosted (e.g., "eastus").
|
|
151
|
-
* - `name`: The name of the scale set, which must be unique within the resource group.
|
|
152
|
-
* - `resourceGroup`: The ResourceGroup within which the scale set will be created.
|
|
153
|
-
* - `sku`: The size specification of the VMs (e.g., "Standard_B2s").
|
|
154
|
-
* - `adminUsername`: The administrator username for the VMs.
|
|
155
|
-
* - `adminPassword`: The administrator password for the VMs.
|
|
156
|
-
* - `zones`: The availability zones for deploying the VMs.
|
|
157
|
-
* - `instances`: The number of VM instances in the scale set.
|
|
158
|
-
* - `sourceImageReference`: A reference to the specific Windows image to be used for the VMs.
|
|
159
|
-
* - `sourceImageId`: The identifier for a custom image to use for the VMs.
|
|
160
|
-
* - `tags`: Key-value pairs for resource tagging.
|
|
161
|
-
* - `osDisk`: Configuration for the VMs' operating system disks.
|
|
162
|
-
* - `subnet`: Specifies the subnet within which the VMs will be placed.
|
|
163
|
-
* - `publicIPAddress`: Method used to allocate public IP addresses to the VMs.
|
|
164
|
-
* - `customData`: Scripts or commands passed to the VMs at startup.
|
|
165
|
-
* - `upgradePolicyMode`: The upgrade policy mode for the VMSS.
|
|
166
|
-
* - `overprovision`: Specifies if the VMSS should be overprovisioned to maintain capacity during updates.
|
|
167
|
-
* - `scaleInPolicy`: The scale-in policy for the VMSS.
|
|
168
|
-
* - `bootDiagnosticsStorageURI`: URI for storage where VMSS boot diagnostics are collected.
|
|
169
|
-
* - `enableSshAzureADLogin`: Option to enable Azure AD login for SSH on the VMs.
|
|
170
|
-
*
|
|
171
|
-
* Example usage:
|
|
172
|
-
* ```typescript
|
|
173
|
-
* const windowsCluster = new WindowsCluster(this, 'MyWindowsCluster', {
|
|
174
|
-
* resourceGroup: myResourceGroup,
|
|
175
|
-
* name: 'myCluster',
|
|
176
|
-
* sku: 'Standard_DS1_v2',
|
|
177
|
-
* adminUsername: 'adminuser',
|
|
178
|
-
* adminPassword: 'securepassword123',
|
|
179
|
-
* sourceImageReference: { publisher: 'MicrosoftWindowsServer', offer: 'WindowsServer', sku: '2019-Datacenter', version: 'latest' },
|
|
180
|
-
* osDisk: { caching: 'ReadWrite', storageAccountType: 'Standard_LRS' },
|
|
181
|
-
* subnet: mySubnet,
|
|
182
|
-
* instances: 3,
|
|
183
|
-
* tags: { environment: 'production' }
|
|
184
|
-
* });
|
|
185
|
-
* ```
|
|
186
|
-
* This class initializes a Windows VM Scale Set with the specified configurations, handling details like VM creation,
|
|
187
|
-
* scaling policies, network setup, OS installation, and security settings, providing a robust and scalable infrastructure
|
|
188
|
-
* for hosting cloud-based Windows applications.
|
|
189
|
-
*/
|
|
190
|
-
constructor(scope, id, props) {
|
|
191
|
-
super(scope, id);
|
|
192
|
-
this.props = props;
|
|
193
|
-
this.resourceGroup = props.resourceGroup;
|
|
194
|
-
const pathName = this.node.path.split("/")[0];
|
|
195
|
-
// Default configurations for the virtual machine.
|
|
196
|
-
const defaults = {
|
|
197
|
-
name: props.name || this.node.path.split("/")[0],
|
|
198
|
-
adminUsername: props.adminUsername || `admin${pathName}`,
|
|
199
|
-
location: props.location || "eastus",
|
|
200
|
-
sku: props.sku || "Standard_B2s",
|
|
201
|
-
instances: props.instances || 1,
|
|
202
|
-
osDisk: props.osDisk || {
|
|
203
|
-
caching: "ReadWrite",
|
|
204
|
-
storageAccountType: "Standard_LRS",
|
|
205
|
-
},
|
|
206
|
-
sourceImageReference: props.sourceImageReference ||
|
|
207
|
-
azure_virtualmachine_1.WindowsImageReferences.windowsServer2022DatacenterCore,
|
|
208
|
-
subnet: props.subnet ||
|
|
209
|
-
new network_1.Network(this, "vnet", {
|
|
210
|
-
resourceGroup: props.resourceGroup,
|
|
211
|
-
}).subnets.default,
|
|
212
|
-
};
|
|
213
|
-
// Base64 encode custom data if provided.
|
|
214
|
-
const customData = props.customData || props.boostrapCustomData;
|
|
215
|
-
const base64CustomData = customData
|
|
216
|
-
? Buffer.from(customData).toString("base64")
|
|
217
|
-
: undefined;
|
|
218
|
-
// Create the Windows Virtual Machine.
|
|
219
|
-
const azurermWindowsVirtualMachine = new windows_virtual_machine_scale_set_1.WindowsVirtualMachineScaleSet(this, "vmss", {
|
|
220
|
-
...defaults,
|
|
221
|
-
resourceGroupName: props.resourceGroup.name,
|
|
222
|
-
adminUsername: props.adminUsername,
|
|
223
|
-
adminPassword: props.adminPassword,
|
|
224
|
-
tags: props.tags,
|
|
225
|
-
networkInterface: [
|
|
226
|
-
{
|
|
227
|
-
name: `nic-${defaults.name}`,
|
|
228
|
-
primary: true,
|
|
229
|
-
ipConfiguration: [
|
|
230
|
-
{
|
|
231
|
-
name: "internal",
|
|
232
|
-
subnetId: defaults.subnet.id,
|
|
233
|
-
primary: true,
|
|
234
|
-
publicIpAddress: props.publicIPAddress,
|
|
235
|
-
},
|
|
236
|
-
],
|
|
237
|
-
},
|
|
238
|
-
],
|
|
239
|
-
osDisk: {
|
|
240
|
-
...defaults.osDisk,
|
|
241
|
-
},
|
|
242
|
-
sourceImageId: props.sourceImageId,
|
|
243
|
-
customData: base64CustomData,
|
|
244
|
-
bootDiagnostics: { storageAccountUri: props.bootDiagnosticsStorageURI },
|
|
245
|
-
});
|
|
246
|
-
this.id = azurermWindowsVirtualMachine.id;
|
|
247
|
-
this.name = azurermWindowsVirtualMachine.name;
|
|
248
|
-
// Bootstrap VM with custom script extension if bootstrap custom data is provided.
|
|
249
|
-
if (props.boostrapCustomData) {
|
|
250
|
-
new virtual_machine_scale_set_extension_1.VirtualMachineScaleSetExtensionA(this, "script-ext", {
|
|
251
|
-
name: `${this.name}-script-ext`,
|
|
252
|
-
virtualMachineScaleSetId: this.id,
|
|
253
|
-
publisher: "Microsoft.Compute",
|
|
254
|
-
type: "CustomScriptExtension",
|
|
255
|
-
typeHandlerVersion: "1.10",
|
|
256
|
-
protectedSettings: '{"commandToExecute": "rename C:\\\\AzureData\\\\CustomData.bin postdeploy.ps1 & powershell -ExecutionPolicy Unrestricted -File C:\\\\AzureData\\\\postdeploy.ps1"}',
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
exports.WindowsCluster = WindowsCluster;
|
|
262
|
-
_b = JSII_RTTI_SYMBOL_1;
|
|
263
|
-
WindowsCluster[_b] = { fqn: "@microsoft/terraform-cdk-constructs.azure_virtualmachinescaleset.WindowsCluster", version: "0.0.3-pre.7" };
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbWFjaGluZXNjYWxlc2V0L2xpYi9jbHVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsaUhBR3FFO0FBR3JFLHlIQUFtSDtBQUtuSCxxSEFHdUU7QUFHdkUscUVBR29DO0FBQ3BDLG9FQUFpRTtBQUNqRSw4Q0FBcUQ7QUErSHJELE1BQWEsWUFBYSxTQUFRLG1CQUFhO0lBTzdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bb0RHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUV6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUMsTUFBTSxRQUFRLEdBQUc7WUFDZixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxRQUFRO1lBQzVCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLFFBQVEsUUFBUSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVE7WUFDcEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksY0FBYztZQUNoQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDO1lBQy9CLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJO2dCQUN0QixPQUFPLEVBQUUsV0FBVztnQkFDcEIsa0JBQWtCLEVBQUUsY0FBYzthQUNuQztZQUNELG9CQUFvQixFQUNsQixLQUFLLENBQUMsb0JBQW9CLElBQUksMkNBQW9CLENBQUMsbUJBQW1CO1lBQ3hFLE1BQU0sRUFDSixLQUFLLENBQUMsTUFBTTtnQkFDWixJQUFJLGlCQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtvQkFDeEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO2lCQUNuQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU87U0FDckIsQ0FBQztRQUVGLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSw2REFBMkIsQ0FDeEUsSUFBSSxFQUNKLE1BQU0sRUFDTjtZQUNFLEdBQUcsUUFBUTtZQUNYLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSTtZQUMzQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2pFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixnQkFBZ0IsRUFBRTtnQkFDaEI7b0JBQ0UsSUFBSSxFQUFFLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDNUIsT0FBTyxFQUFFLElBQUk7b0JBQ2IsZUFBZSxFQUFFO3dCQUNmOzRCQUNFLElBQUksRUFBRSxVQUFVOzRCQUNoQixRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUM1QixPQUFPLEVBQUUsSUFBSTs0QkFDYixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7eUJBQ3ZDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sR0FBRyxRQUFRLENBQUMsTUFBTTthQUNuQjtZQUNELGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO2dCQUNsRCxDQUFDLENBQUMsU0FBUztZQUNiLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDdEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ2hELENBQUMsQ0FBQyxTQUFTO1lBQ2IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtTQUN6QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsRUFBRSxHQUFHLGtDQUFrQyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLGtDQUFrQyxDQUFDLElBQUksQ0FBQztRQUNwRCxJQUFJLENBQUMsR0FBRyxHQUFHLGtDQUFrQyxDQUFDLEdBQUcsQ0FBQztRQUVsRCx5Q0FBeUM7UUFDekMsSUFBSSxLQUFLLENBQUMscUJBQXFCLEVBQUU7WUFDL0IsSUFBSSxzRUFBZ0MsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUN4RCxJQUFJLEVBQUUscUJBQXFCO2dCQUMzQix3QkFBd0IsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDakMsU0FBUyxFQUFFLGlDQUFpQztnQkFDNUMsSUFBSSxFQUFFLHFCQUFxQjtnQkFDM0Isa0JBQWtCLEVBQUUsS0FBSzthQUMxQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O0FBM0lILG9DQTRJQzs7O0FBZ0hELE1BQWEsY0FBZSxTQUFRLG1CQUFhO0lBTS9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtERztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFFekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlDLGtEQUFrRDtRQUNsRCxNQUFNLFFBQVEsR0FBRztZQUNmLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksUUFBUSxRQUFRLEVBQUU7WUFDeEQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUTtZQUNwQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxjQUFjO1lBQ2hDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUM7WUFDL0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUk7Z0JBQ3RCLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixrQkFBa0IsRUFBRSxjQUFjO2FBQ25DO1lBQ0Qsb0JBQW9CLEVBQ2xCLEtBQUssQ0FBQyxvQkFBb0I7Z0JBQzFCLDZDQUFzQixDQUFDLCtCQUErQjtZQUN4RCxNQUFNLEVBQ0osS0FBSyxDQUFDLE1BQU07Z0JBQ1osSUFBSSxpQkFBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7b0JBQ3hCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtpQkFDbkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPO1NBQ3JCLENBQUM7UUFFRix5Q0FBeUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUM7UUFDaEUsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVO1lBQ2pDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDNUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVkLHNDQUFzQztRQUN0QyxNQUFNLDRCQUE0QixHQUFHLElBQUksaUVBQTZCLENBQ3BFLElBQUksRUFDSixNQUFNLEVBQ047WUFDRSxHQUFHLFFBQVE7WUFDWCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7WUFDM0MsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsZ0JBQWdCLEVBQUU7Z0JBQ2hCO29CQUNFLElBQUksRUFBRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUU7b0JBQzVCLE9BQU8sRUFBRSxJQUFJO29CQUNiLGVBQWUsRUFBRTt3QkFDZjs0QkFDRSxJQUFJLEVBQUUsVUFBVTs0QkFDaEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDNUIsT0FBTyxFQUFFLElBQUk7NEJBQ2IsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO3lCQUN2QztxQkFDRjtpQkFDRjthQUNGO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLEdBQUcsUUFBUSxDQUFDLE1BQU07YUFDbkI7WUFDRCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixlQUFlLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMseUJBQXlCLEVBQUU7U0FDeEUsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUM7UUFFOUMsa0ZBQWtGO1FBQ2xGLElBQUksS0FBSyxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksc0VBQWdDLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDdkQsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksYUFBYTtnQkFDL0Isd0JBQXdCLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pDLFNBQVMsRUFBRSxtQkFBbUI7Z0JBQzlCLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLGtCQUFrQixFQUFFLE1BQU07Z0JBQzFCLGlCQUFpQixFQUNmLHNLQUFzSzthQUN6SyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O0FBNUlILHdDQTZJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIExpbnV4VmlydHVhbE1hY2hpbmVTb3VyY2VJbWFnZVJlZmVyZW5jZSxcbiAgTGludXhWaXJ0dWFsTWFjaGluZU9zRGlzayxcbiAgTGludXhWaXJ0dWFsTWFjaGluZUFkbWluU3NoS2V5LFxuICBMaW51eFZpcnR1YWxNYWNoaW5lSWRlbnRpdHksXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbGludXgtdmlydHVhbC1tYWNoaW5lXCI7XG5pbXBvcnQge1xuICBMaW51eFZpcnR1YWxNYWNoaW5lU2NhbGVTZXQsXG4gIExpbnV4VmlydHVhbE1hY2hpbmVTY2FsZVNldE5ldHdvcmtJbnRlcmZhY2VJcENvbmZpZ3VyYXRpb25QdWJsaWNJcEFkZHJlc3MsXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbGludXgtdmlydHVhbC1tYWNoaW5lLXNjYWxlLXNldFwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IFN1Ym5ldCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvc3VibmV0XCI7XG5pbXBvcnQgeyBWaXJ0dWFsTWFjaGluZVNjYWxlU2V0RXh0ZW5zaW9uQSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvdmlydHVhbC1tYWNoaW5lLXNjYWxlLXNldC1leHRlbnNpb25cIjtcbmltcG9ydCB7XG4gIFdpbmRvd3NWaXJ0dWFsTWFjaGluZU9zRGlzayxcbiAgV2luZG93c1ZpcnR1YWxNYWNoaW5lU291cmNlSW1hZ2VSZWZlcmVuY2UsXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvd2luZG93cy12aXJ0dWFsLW1hY2hpbmVcIjtcbmltcG9ydCB7XG4gIFdpbmRvd3NWaXJ0dWFsTWFjaGluZVNjYWxlU2V0LFxuICBXaW5kb3dzVmlydHVhbE1hY2hpbmVTY2FsZVNldE5ldHdvcmtJbnRlcmZhY2VJcENvbmZpZ3VyYXRpb25QdWJsaWNJcEFkZHJlc3MsXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvd2luZG93cy12aXJ0dWFsLW1hY2hpbmUtc2NhbGUtc2V0XCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBXaW5kb3dzSW1hZ2VSZWZlcmVuY2VzLFxuICBMaW51eEltYWdlUmVmZXJlbmNlcyxcbn0gZnJvbSBcIi4uLy4uL2F6dXJlLXZpcnR1YWxtYWNoaW5lXCI7XG5pbXBvcnQgeyBOZXR3b3JrIH0gZnJvbSBcIi4uLy4uL2F6dXJlLXZpcnR1YWxuZXR3b3JrL2xpYi9uZXR3b3JrXCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGludXhDbHVzdGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIEF6dXJlIGxvY2F0aW9uIHdoZXJlIHRoZSB2aXJ0dWFsIG1hY2hpbmUgc2NhbGUgc2V0IHNob3VsZCBiZSBjcmVhdGVkLlxuICAgKiBAZGVmYXVsdCBcImVhc3R1c1wiXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHZpcnR1YWwgbWFjaGluZSBzY2FsZSBzZXQuXG4gICAqIEBkZWZhdWx0IC0gVXNlcyB0aGUgbmFtZSBkZXJpdmVkIGZyb20gdGhlIGNvbnN0cnVjdCBwYXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFkbWluIHVzZXJuYW1lIGZvciB0aGUgdmlydHVhbCBtYWNoaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRtaW5Vc2VybmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFkbWluIHBhc3N3b3JkIGZvciB0aGUgdmlydHVhbCBtYWNoaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRtaW5QYXNzd29yZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIGdyb3VwIGluIHdoaWNoIHRoZSB2aXJ0dWFsIG1hY2hpbmUgc2NhbGUgc2V0IHdpbGwgYmUgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSB2aXJ0dWFsIG1hY2hpbmVzIGluIHRoZSBzY2FsZSBzZXQuXG4gICAqIEBkZWZhdWx0IFwiU3RhbmRhcmRfQjJzXCJcbiAgICovXG4gIHJlYWRvbmx5IHNrdT86IHN0cmluZztcblxuICAvKipcbiAgICogQ3VzdG9tIGRhdGEgdG8gcGFzcyB0byB0aGUgdmlydHVhbCBtYWNoaW5lcyB1cG9uIGNyZWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckRhdGE/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIFNTSCBrZXlzIGZvciB0aGUgYWRtaW4gdXNlci5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluU3NoS2V5PzogTGludXhWaXJ0dWFsTWFjaGluZUFkbWluU3NoS2V5W10gfCBjZGt0Zi5JUmVzb2x2YWJsZTtcblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJpbGl0eSB6b25lKHMpIGluIHdoaWNoIHRoZSBWTXMgc2hvdWxkIGJlIHBsYWNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHpvbmVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE1hbmFnZWQgaWRlbnRpdHkgc2V0dGluZ3MgZm9yIHRoZSBWTXMuXG4gICAqL1xuICByZWFkb25seSBpZGVudGl0eT86IExpbnV4VmlydHVhbE1hY2hpbmVJZGVudGl0eTtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBpbWFnZSByZWZlcmVuY2UgZm9yIHRoZSB2aXJ0dWFsIG1hY2hpbmVzLlxuICAgKiBAZGVmYXVsdCAtIFVzZXMgYSBkZWZhdWx0IFVidW50dSBpbWFnZS5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUltYWdlUmVmZXJlbmNlPzogTGludXhWaXJ0dWFsTWFjaGluZVNvdXJjZUltYWdlUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHNvdXJjZSBpbWFnZSBmb3IgdGhlIHZpcnR1YWwgbWFjaGluZXMuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VJbWFnZUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYWdzIHRvIGFwcGx5IHRvIHRoZSB2aXJ0dWFsIG1hY2hpbmUgc2NhbGUgc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBPUyBkaXNrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB2aXJ0dWFsIG1hY2hpbmVzLlxuICAgKiBAZGVmYXVsdCAtIFVzZXMgYSBkaXNrIHdpdGggY2FjaGluZyBzZXQgdG8gXCJSZWFkV3JpdGVcIiBhbmQgc3RvcmFnZSBhY2NvdW50IHR5cGUgXCJTdGFuZGFyZF9MUlNcIi5cbiAgICovXG4gIHJlYWRvbmx5IG9zRGlzaz86IExpbnV4VmlydHVhbE1hY2hpbmVPc0Rpc2s7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXQgaW4gd2hpY2ggdGhlIHZpcnR1YWwgbWFjaGluZXMgd2lsbCBiZSBwbGFjZWQuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXQ/OiBTdWJuZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGxvY2F0aW9uIG1ldGhvZCBmb3IgdGhlIHB1YmxpYyBJUC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lQQWRkcmVzcz86IExpbnV4VmlydHVhbE1hY2hpbmVTY2FsZVNldE5ldHdvcmtJbnRlcmZhY2VJcENvbmZpZ3VyYXRpb25QdWJsaWNJcEFkZHJlc3NbXTtcblxuICAvKipcbiAgICogQ3VzdG9tIGRhdGEgdG8gcGFzcyB0byB0aGUgdmlydHVhbCBtYWNoaW5lcyB1cG9uIGNyZWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRGF0YT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBWTSBpbnN0YW5jZXMgaW4gdGhlIHNjYWxlIHNldC5cbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHNjYWxlIHNldCdzIHVwZ3JhZGUgcG9saWN5IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgdXBncmFkZVBvbGljeU1vZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgVk1TUyBzaG91bGQgYmUgb3ZlcnByb3Zpc2lvbmVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBvdmVycHJvdmlzaW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzY2FsZS1pbiBwb2xpY3kgZm9yIHRoZSBWTVNTLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVJblBvbGljeT86IHN0cmluZztcblxuICAvKipcbiAgICogQm9vdCBkaWFnbm9zdGljcyBzZXR0aW5ncyBmb3IgdGhlIFZNU1MuXG4gICAqL1xuICByZWFkb25seSBib290RGlhZ25vc3RpY3NTdG9yYWdlVVJJPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgU1NIIEF6dXJlIEFEIExvZ2luLCByZXF1aXJlZCBtYW5hZ2VkIGlkZW50aXR5IHRvIGJlIHNldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVNzaEF6dXJlQURMb2dpbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBMaW51eENsdXN0ZXIgZXh0ZW5kcyBBenVyZVJlc291cmNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBMaW51eENsdXN0ZXJQcm9wcztcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZnFuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgYSBMaW51eCBWaXJ0dWFsIE1hY2hpbmUgU2NhbGUgU2V0IChWTVNTKSB3aXRoaW4gTWljcm9zb2Z0IEF6dXJlLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGlzIGRlc2lnbmVkIHRvIHByb3Zpc2lvbiBhbmQgbWFuYWdlIGEgc2NhbGUgc2V0IG9mIExpbnV4IHZpcnR1YWwgbWFjaGluZXMsIHByb3ZpZGluZyBjYXBhYmlsaXRpZXMgc3VjaCBhc1xuICAgKiBhdXRvLXNjYWxpbmcsIGhpZ2ggYXZhaWxhYmlsaXR5LCBhbmQgc2ltcGxpZmllZCBtYW5hZ2VtZW50LiBJdCBzdXBwb3J0cyBkZXRhaWxlZCBjb25maWd1cmF0aW9ucyBsaWtlIFZNIHNpemUsIG9wZXJhdGluZ1xuICAgKiBzeXN0ZW0gaW1hZ2UsIG5ldHdvcmsgc2V0dGluZ3MsIGFuZCBhZG1pbmlzdHJhdGl2ZSBjcmVkZW50aWFscy4gQWRkaXRpb25hbCBmdW5jdGlvbmFsaXRpZXMgaW5jbHVkZSBjdXN0b20gZGF0YSBzY3JpcHRzLFxuICAgKiBTU0ggY29uZmlndXJhdGlvbnMsIGFuZCBvcHRpb25hbCBmZWF0dXJlcyBsaWtlIG1hbmFnZWQgaWRlbnRpdHkgYW5kIGJvb3QgZGlhZ25vc3RpY3MuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QsIHR5cGljYWxseSByZXByZXNlbnRpbmcgdGhlIENsb3VkIERldmVsb3BtZW50IEtpdCAoQ0RLKSBhcHBsaWNhdGlvbi5cbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlIG9mIHRoZSBMaW51eCBjbHVzdGVyLCB1c2VkIHdpdGhpbiB0aGUgc2NvcGUgZm9yIHJlZmVyZW5jZS5cbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgTGludXggVk0gU2NhbGUgU2V0LCBkZXJpdmVkIGZyb20gdGhlIExpbnV4Q2x1c3RlclByb3BzIGludGVyZmFjZS4gVGhlc2UgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgbG9jYXRpb25gOiBUaGUgZ2VvZ3JhcGhpYyBsb2NhdGlvbiB3aGVyZSB0aGUgc2NhbGUgc2V0IHdpbGwgYmUgaG9zdGVkIChlLmcuLCBcImVhc3R1c1wiKS5cbiAgICogICAgICAgICAgICAgICAgLSBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBzY2FsZSBzZXQsIHdoaWNoIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcmVzb3VyY2UgZ3JvdXAuXG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBUaGUgUmVzb3VyY2VHcm91cCB3aXRoaW4gd2hpY2ggdGhlIHNjYWxlIHNldCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHNrdWA6IFRoZSBzaXplIHNwZWNpZmljYXRpb24gb2YgdGhlIFZNcyAoZS5nLiwgXCJTdGFuZGFyZF9CMnNcIikuXG4gICAqICAgICAgICAgICAgICAgIC0gYGFkbWluVXNlcm5hbWVgOiBUaGUgYWRtaW5pc3RyYXRvciB1c2VybmFtZSBmb3IgdGhlIFZNcy5cbiAgICogICAgICAgICAgICAgICAgLSBgYWRtaW5QYXNzd29yZGA6IFRoZSBhZG1pbmlzdHJhdG9yIHBhc3N3b3JkIGZvciB0aGUgVk1zLlxuICAgKiAgICAgICAgICAgICAgICAtIGBhZG1pblNzaEtleWA6IFNTSCBrZXlzIGZvciBzZWN1cmUgYWNjZXNzIHRvIHRoZSBWTXMuXG4gICAqICAgICAgICAgICAgICAgIC0gYHpvbmVzYDogVGhlIGF2YWlsYWJpbGl0eSB6b25lcyBmb3IgZGVwbG95aW5nIHRoZSBWTXMuXG4gICAqICAgICAgICAgICAgICAgIC0gYGlkZW50aXR5YDogTWFuYWdlZCBpZGVudGl0eSBzZXR0aW5ncyBmb3IgYWNjZXNzaW5nIG90aGVyIEF6dXJlIHNlcnZpY2VzLlxuICAgKiAgICAgICAgICAgICAgICAtIGBzb3VyY2VJbWFnZVJlZmVyZW5jZWA6IEEgcmVmZXJlbmNlIHRvIHRoZSBzcGVjaWZpYyBMaW51eCBpbWFnZSB0byBiZSB1c2VkIGZvciB0aGUgVk1zLlxuICAgKiAgICAgICAgICAgICAgICAtIGBzb3VyY2VJbWFnZUlkYDogVGhlIGlkZW50aWZpZXIgZm9yIGEgY3VzdG9tIGltYWdlIHRvIHVzZSBmb3IgdGhlIFZNcy5cbiAgICogICAgICAgICAgICAgICAgLSBgdGFnc2A6IEtleS12YWx1ZSBwYWlycyBmb3IgcmVzb3VyY2UgdGFnZ2luZy5cbiAgICogICAgICAgICAgICAgICAgLSBgb3NEaXNrYDogQ29uZmlndXJhdGlvbiBmb3IgdGhlIFZNcycgb3BlcmF0aW5nIHN5c3RlbSBkaXNrcy5cbiAgICogICAgICAgICAgICAgICAgLSBgc3VibmV0YDogU3BlY2lmaWVzIHRoZSBzdWJuZXQgd2l0aGluIHdoaWNoIHRoZSBWTXMgd2lsbCBiZSBwbGFjZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHB1YmxpY0lQQWRkcmVzc2A6IE1ldGhvZCB1c2VkIHRvIGFsbG9jYXRlIHB1YmxpYyBJUCBhZGRyZXNzZXMgdG8gdGhlIFZNcy5cbiAgICogICAgICAgICAgICAgICAgLSBgY3VzdG9tRGF0YWA6IFNjcmlwdHMgb3IgY29tbWFuZHMgcGFzc2VkIHRvIHRoZSBWTXMgYXQgc3RhcnR1cC5cbiAgICogICAgICAgICAgICAgICAgLSBgaW5zdGFuY2VzYDogVGhlIG51bWJlciBvZiBWTSBpbnN0YW5jZXMgaW4gdGhlIHNjYWxlIHNldC5cbiAgICogICAgICAgICAgICAgICAgLSBgdXBncmFkZVBvbGljeU1vZGVgOiBUaGUgdXBncmFkZSBwb2xpY3kgbW9kZSBmb3IgdGhlIFZNU1MuXG4gICAqICAgICAgICAgICAgICAgIC0gYG92ZXJwcm92aXNpb25gOiBTcGVjaWZpZXMgaWYgdGhlIFZNU1Mgc2hvdWxkIGJlIG92ZXJwcm92aXNpb25lZCB0byBtYWludGFpbiBjYXBhY2l0eSBkdXJpbmcgdXBkYXRlcy5cbiAgICogICAgICAgICAgICAgICAgLSBgc2NhbGVJblBvbGljeWA6IFRoZSBzY2FsZS1pbiBwb2xpY3kgZm9yIHRoZSBWTVNTLlxuICAgKiAgICAgICAgICAgICAgICAtIGBib290RGlhZ25vc3RpY3NTdG9yYWdlVVJJYDogVVJJIGZvciBzdG9yYWdlIHdoZXJlIFZNU1MgYm9vdCBkaWFnbm9zdGljcyBhcmUgY29sbGVjdGVkLlxuICAgKiAgICAgICAgICAgICAgICAtIGBlbmFibGVTc2hBenVyZUFETG9naW5gOiBPcHRpb24gdG8gZW5hYmxlIEF6dXJlIEFEIGxvZ2luIGZvciBTU0ggb24gdGhlIFZNcy5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBsaW51eENsdXN0ZXIgPSBuZXcgTGludXhDbHVzdGVyKHRoaXMsICdNeUxpbnV4Q2x1c3RlcicsIHtcbiAgICogICByZXNvdXJjZUdyb3VwOiBteVJlc291cmNlR3JvdXAsXG4gICAqICAgbmFtZTogJ215Q2x1c3RlcicsXG4gICAqICAgc2t1OiAnU3RhbmRhcmRfRFMxX3YyJyxcbiAgICogICBhZG1pblVzZXJuYW1lOiAnYWRtaW51c2VyJyxcbiAgICogICBhZG1pblNzaEtleTogW3sgcHVibGljS2V5OiAnc3NoLXJzYSBBQUFBQi4uLicgfV0sXG4gICAqICAgc291cmNlSW1hZ2VSZWZlcmVuY2U6IHsgcHVibGlzaGVyOiAnQ2Fub25pY2FsJywgb2ZmZXI6ICdVYnVudHVTZXJ2ZXInLCBza3U6ICcxOC4wNC1MVFMnLCB2ZXJzaW9uOiAnbGF0ZXN0JyB9LFxuICAgKiAgIG9zRGlzazogeyBjYWNoaW5nOiAnUmVhZFdyaXRlJywgc3RvcmFnZUFjY291bnRUeXBlOiAnU3RhbmRhcmRfTFJTJyB9LFxuICAgKiAgIHN1Ym5ldDogbXlTdWJuZXQsXG4gICAqICAgaW5zdGFuY2VzOiAzLFxuICAgKiAgIHRhZ3M6IHsgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyB9XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICogVGhpcyBjbGFzcyBpbml0aWFsaXplcyBhIExpbnV4IFZNIFNjYWxlIFNldCB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvbnMsIGhhbmRsaW5nIGRldGFpbHMgbGlrZSBWTSBjcmVhdGlvbixcbiAgICogc2NhbGluZyBwb2xpY2llcywgbmV0d29yayBzZXR1cCwgT1MgaW5zdGFsbGF0aW9uLCBhbmQgc2VjdXJpdHkgc2V0dGluZ3MsIHByb3ZpZGluZyBhIHJvYnVzdCBhbmQgc2NhbGFibGUgaW5mcmFzdHJ1Y3R1cmVcbiAgICogZm9yIGhvc3RpbmcgY2xvdWQtYmFzZWQgTGludXggYXBwbGljYXRpb25zLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IExpbnV4Q2x1c3RlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLnJlc291cmNlR3JvdXAgPSBwcm9wcy5yZXNvdXJjZUdyb3VwO1xuXG4gICAgY29uc3QgcGF0aE5hbWUgPSB0aGlzLm5vZGUucGF0aC5zcGxpdChcIi9cIilbMF07XG5cbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUgfHwgcGF0aE5hbWUsXG4gICAgICBhZG1pblVzZXJuYW1lOiBwcm9wcy5hZG1pblVzZXJuYW1lIHx8IGBhZG1pbiR7cGF0aE5hbWV9YCxcbiAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbiB8fCBcImVhc3R1c1wiLFxuICAgICAgc2t1OiBwcm9wcy5za3UgfHwgXCJTdGFuZGFyZF9CMnNcIixcbiAgICAgIGluc3RhbmNlczogcHJvcHMuaW5zdGFuY2VzIHx8IDEsXG4gICAgICBvc0Rpc2s6IHByb3BzLm9zRGlzayB8fCB7XG4gICAgICAgIGNhY2hpbmc6IFwiUmVhZFdyaXRlXCIsXG4gICAgICAgIHN0b3JhZ2VBY2NvdW50VHlwZTogXCJTdGFuZGFyZF9MUlNcIixcbiAgICAgIH0sXG4gICAgICBzb3VyY2VJbWFnZVJlZmVyZW5jZTpcbiAgICAgICAgcHJvcHMuc291cmNlSW1hZ2VSZWZlcmVuY2UgfHwgTGludXhJbWFnZVJlZmVyZW5jZXMudWJ1bnR1U2VydmVyMjIwNExUUyxcbiAgICAgIHN1Ym5ldDpcbiAgICAgICAgcHJvcHMuc3VibmV0IHx8XG4gICAgICAgIG5ldyBOZXR3b3JrKHRoaXMsIFwidm5ldFwiLCB7XG4gICAgICAgICAgcmVzb3VyY2VHcm91cDogcHJvcHMucmVzb3VyY2VHcm91cCxcbiAgICAgICAgfSkuc3VibmV0cy5kZWZhdWx0LFxuICAgIH07XG5cbiAgICBjb25zdCBhenVyZXJtTGludXhWaXJ0dWFsTWFjaGluZVNjYWxlU2V0ID0gbmV3IExpbnV4VmlydHVhbE1hY2hpbmVTY2FsZVNldChcbiAgICAgIHRoaXMsXG4gICAgICBcInZtc3NcIixcbiAgICAgIHtcbiAgICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgIGFkbWluUGFzc3dvcmQ6IHByb3BzLmFkbWluUGFzc3dvcmQsXG4gICAgICAgIGRpc2FibGVQYXNzd29yZEF1dGhlbnRpY2F0aW9uOiBwcm9wcy5hZG1pblBhc3N3b3JkID8gZmFsc2UgOiB0cnVlLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgICAgICBuZXR3b3JrSW50ZXJmYWNlOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYG5pYy0ke2RlZmF1bHRzLm5hbWV9YCxcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgICBpcENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiaW50ZXJuYWxcIixcbiAgICAgICAgICAgICAgICBzdWJuZXRJZDogZGVmYXVsdHMuc3VibmV0LmlkLFxuICAgICAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgICAgICAgcHVibGljSXBBZGRyZXNzOiBwcm9wcy5wdWJsaWNJUEFkZHJlc3MsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIG9zRGlzazoge1xuICAgICAgICAgIC4uLmRlZmF1bHRzLm9zRGlzayxcbiAgICAgICAgfSxcbiAgICAgICAgc291cmNlSW1hZ2VJZDogcHJvcHMuc291cmNlSW1hZ2VJZCxcbiAgICAgICAgY3VzdG9tRGF0YTogcHJvcHMuY3VzdG9tRGF0YVxuICAgICAgICAgID8gQnVmZmVyLmZyb20ocHJvcHMuY3VzdG9tRGF0YSkudG9TdHJpbmcoXCJiYXNlNjRcIilcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgdXNlckRhdGE6IHByb3BzLnVzZXJEYXRhXG4gICAgICAgICAgPyBCdWZmZXIuZnJvbShwcm9wcy51c2VyRGF0YSkudG9TdHJpbmcoXCJiYXNlNjRcIilcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgYWRtaW5Tc2hLZXk6IHByb3BzLmFkbWluU3NoS2V5LFxuICAgICAgICBpZGVudGl0eTogcHJvcHMuaWRlbnRpdHksXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLmlkID0gYXp1cmVybUxpbnV4VmlydHVhbE1hY2hpbmVTY2FsZVNldC5pZDtcbiAgICB0aGlzLm5hbWUgPSBhenVyZXJtTGludXhWaXJ0dWFsTWFjaGluZVNjYWxlU2V0Lm5hbWU7XG4gICAgdGhpcy5mcW4gPSBhenVyZXJtTGludXhWaXJ0dWFsTWFjaGluZVNjYWxlU2V0LmZxbjtcblxuICAgIC8vIEVuYWJsZSBTU0ggQXp1cmUgQUQgTG9naW4gaWYgc3BlY2lmaWVkXG4gICAgaWYgKHByb3BzLmVuYWJsZVNzaEF6dXJlQURMb2dpbikge1xuICAgICAgbmV3IFZpcnR1YWxNYWNoaW5lU2NhbGVTZXRFeHRlbnNpb25BKHRoaXMsIFwiQUFEU1NIbG9naW5cIiwge1xuICAgICAgICBuYW1lOiBcIkFBRFNTSExvZ2luRm9yTGludXhcIixcbiAgICAgICAgdmlydHVhbE1hY2hpbmVTY2FsZVNldElkOiB0aGlzLmlkLFxuICAgICAgICBwdWJsaXNoZXI6IFwiTWljcm9zb2Z0LkF6dXJlLkFjdGl2ZURpcmVjdG9yeVwiLFxuICAgICAgICB0eXBlOiBcIkFBRFNTSExvZ2luRm9yTGludXhcIixcbiAgICAgICAgdHlwZUhhbmRsZXJWZXJzaW9uOiBcIjEuMFwiLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2luZG93c0NsdXN0ZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQXp1cmUgbG9jYXRpb24gd2hlcmUgdGhlIHZpcnR1YWwgbWFjaGluZSBzaG91bGQgYmUgY3JlYXRlZC5cbiAgICogQGRlZmF1bHQgXCJlYXN0dXNcIlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB2aXJ0dWFsIG1hY2hpbmUuXG4gICAqIEBkZWZhdWx0IC0gVXNlcyB0aGUgbmFtZSBkZXJpdmVkIGZyb20gdGhlIGNvbnN0cnVjdCBwYXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIGdyb3VwIGluIHdoaWNoIHRoZSB2aXJ0dWFsIG1hY2hpbmUgd2lsbCBiZSBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHZpcnR1YWwgbWFjaGluZS5cbiAgICogQGRlZmF1bHQgXCJTdGFuZGFyZF9CMnNcIlxuICAgKi9cbiAgcmVhZG9ubHkgc2t1Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWRtaW4gdXNlcm5hbWUgZm9yIHRoZSB2aXJ0dWFsIG1hY2hpbmUuXG4gICAqL1xuICByZWFkb25seSBhZG1pblVzZXJuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhZG1pbiBwYXNzd29yZCBmb3IgdGhlIHZpcnR1YWwgbWFjaGluZS5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUGFzc3dvcmQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJpbGl0eSB6b25lKHMpIGluIHdoaWNoIHRoZSBWTXMgc2hvdWxkIGJlIHBsYWNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHpvbmVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgVk0gaW5zdGFuY2VzIGluIHRoZSBzY2FsZSBzZXQuXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlcz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBpbWFnZSByZWZlcmVuY2UgZm9yIHRoZSB2aXJ0dWFsIG1hY2hpbmUuXG4gICAqIEBkZWZhdWx0IC0gVXNlcyBXaW5kb3dzU2VydmVyMjAyMkRhdGFjZW50ZXJDb3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlSW1hZ2VSZWZlcmVuY2U/OiBXaW5kb3dzVmlydHVhbE1hY2hpbmVTb3VyY2VJbWFnZVJlZmVyZW5jZTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBzb3VyY2UgaW1hZ2UgZm9yIHRoZSB2aXJ0dWFsIG1hY2hpbmUuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VJbWFnZUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYWdzIHRvIGFwcGx5IHRvIHRoZSB2aXJ0dWFsIG1hY2hpbmUuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIE9TIGRpc2sgY29uZmlndXJhdGlvbiBmb3IgdGhlIHZpcnR1YWwgbWFjaGluZS5cbiAgICogQGRlZmF1bHQgLSBVc2VzIGEgZGlzayB3aXRoIGNhY2hpbmcgc2V0IHRvIFwiUmVhZFdyaXRlXCIgYW5kIHN0b3JhZ2UgYWNjb3VudCB0eXBlIFwiU3RhbmRhcmRfTFJTXCIuXG4gICAqL1xuICByZWFkb25seSBvc0Rpc2s/OiBXaW5kb3dzVmlydHVhbE1hY2hpbmVPc0Rpc2s7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXQgaW4gd2hpY2ggdGhlIHZpcnR1YWwgbWFjaGluZSB3aWxsIGJlIHBsYWNlZC5cbiAgICogQGRlZmF1bHQgLSBVc2VzIHRoZSBkZWZhdWx0IHN1Ym5ldCBmcm9tIGEgbmV3IHZpcnR1YWwgbmV0d29yay5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldD86IFN1Ym5ldDtcblxuICAvKipcbiAgICogVGhlIGFsbG9jYXRpb24gbWV0aG9kIGZvciB0aGUgcHVibGljIElQLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljSVBBZGRyZXNzPzogV2luZG93c1ZpcnR1YWxNYWNoaW5lU2NhbGVTZXROZXR3b3JrSW50ZXJmYWNlSXBDb25maWd1cmF0aW9uUHVibGljSXBBZGRyZXNzW107XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgc2NhbGUgc2V0J3MgdXBncmFkZSBwb2xpY3kgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSB1cGdyYWRlUG9saWN5TW9kZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ3VzdG9tIGRhdGEgdG8gcGFzcyB0byB0aGUgdmlydHVhbCBtYWNoaW5lIHVwb24gY3JlYXRpb24uXG4gICAqL1xuICByZWFkb25seSBjdXN0b21EYXRhPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gZGF0YSB0byBib290c3RyYXAgdGhlIHZpcnR1YWwgbWFjaGluZS4gQXV0b21hdGljYWxseSB0cmlnZ2VycyBBenVyZSBDdXN0b20gU2NyaXB0IGV4dGVuc2lvbiB0byBkZXBsb3kgY29kZSBpbiBjdXN0b20gZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGJvb3N0cmFwQ3VzdG9tRGF0YT86IHN0cmluZztcblxuICAvKipcbiAgICogQm9vdGRpYWdub3N0aWNzIHNldHRpbmdzIGZvciB0aGUgVk0uXG4gICAqL1xuICByZWFkb25seSBib290RGlhZ25vc3RpY3NTdG9yYWdlVVJJPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaWYgdGhlIFZNU1Mgc2hvdWxkIGJlIG92ZXJwcm92aXNpb25lZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnByb3Zpc2lvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgc2NhbGUtaW4gcG9saWN5IGZvciB0aGUgVk1TUy5cbiAgICovXG4gIHJlYWRvbmx5IHNjYWxlSW5Qb2xpY3k/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dzQ2x1c3RlciBleHRlbmRzIEF6dXJlUmVzb3VyY2Uge1xuICByZWFkb25seSBwcm9wczogV2luZG93c0NsdXN0ZXJQcm9wcztcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGEgV2luZG93cyBWaXJ0dWFsIE1hY2hpbmUgU2NhbGUgU2V0IChWTVNTKSB3aXRoaW4gTWljcm9zb2Z0IEF6dXJlLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgd2F5IHRvIGRlcGxveSBhbmQgbWFuYWdlIGEgc2NhbGUgc2V0IG9mIFdpbmRvd3MgdmlydHVhbCBtYWNoaW5lcywgYWxsb3dpbmcgZm9yIGNvbmZpZ3VyYXRpb25zIHN1Y2ggYXNcbiAgICogYXV0by1zY2FsaW5nLCBoaWdoIGF2YWlsYWJpbGl0eSwgYW5kIHNpbXBsaWZpZWQgcGF0Y2ggbWFuYWdlbWVudC4gSXQgc3VwcG9ydHMgZGV0YWlsZWQgc3BlY2lmaWNhdGlvbnMgaW5jbHVkaW5nXG4gICAqIFZNIHNpemUsIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGltYWdlLCBuZXR3b3JrIHNldHRpbmdzLCBhbmQgYWRtaW5pc3RyYXRpdmUgY3JlZGVudGlhbHMuIEFkZGl0aW9uYWwgY2FwYWJpbGl0aWVzIGluY2x1ZGVcbiAgICogY3VzdG9tIGRhdGEgc2NyaXB0cywgYXV0b21hdGljIE9TIHVwZGF0ZXMsIGFuZCBvcHRpb25hbCBmZWF0dXJlcyBsaWtlIG1hbmFnZWQgaWRlbnRpdHkgYW5kIGJvb3QgZGlhZ25vc3RpY3MuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QsIHR5cGljYWxseSByZXByZXNlbnRpbmcgdGhlIENsb3VkIERldmVsb3BtZW50IEtpdCAoQ0RLKSBhcHBsaWNhdGlvbi5cbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlIG9mIHRoZSBXaW5kb3dzIGNsdXN0ZXIsIHVzZWQgd2l0aGluIHRoZSBzY29wZSBmb3IgcmVmZXJlbmNlLlxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBXaW5kb3dzIFZNIFNjYWxlIFNldCwgZGVyaXZlZCBmcm9tIHRoZSBXaW5kb3dzQ2x1c3RlclByb3BzIGludGVyZmFjZS4gVGhlc2UgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgbG9jYXRpb25gOiBUaGUgZ2VvZ3JhcGhpYyBsb2NhdGlvbiB3aGVyZSB0aGUgc2NhbGUgc2V0IHdpbGwgYmUgaG9zdGVkIChlLmcuLCBcImVhc3R1c1wiKS5cbiAgICogICAgICAgICAgICAgICAgLSBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBzY2FsZSBzZXQsIHdoaWNoIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcmVzb3VyY2UgZ3JvdXAuXG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBUaGUgUmVzb3VyY2VHcm91cCB3aXRoaW4gd2hpY2ggdGhlIHNjYWxlIHNldCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHNrdWA6IFRoZSBzaXplIHNwZWNpZmljYXRpb24gb2YgdGhlIFZNcyAoZS5nLiwgXCJTdGFuZGFyZF9CMnNcIikuXG4gICAqICAgICAgICAgICAgICAgIC0gYGFkbWluVXNlcm5hbWVgOiBUaGUgYWRtaW5pc3RyYXRvciB1c2VybmFtZSBmb3IgdGhlIFZNcy5cbiAgICogICAgICAgICAgICAgICAgLSBgYWRtaW5QYXNzd29yZGA6IFRoZSBhZG1pbmlzdHJhdG9yIHBhc3N3b3JkIGZvciB0aGUgVk1zLlxuICAgKiAgICAgICAgICAgICAgICAtIGB6b25lc2A6IFRoZSBhdmFpbGFiaWxpdHkgem9uZXMgZm9yIGRlcGxveWluZyB0aGUgVk1zLlxuICAgKiAgICAgICAgICAgICAgICAtIGBpbnN0YW5jZXNgOiBUaGUgbnVtYmVyIG9mIFZNIGluc3RhbmNlcyBpbiB0aGUgc2NhbGUgc2V0LlxuICAgKiAgICAgICAgICAgICAgICAtIGBzb3VyY2VJbWFnZVJlZmVyZW5jZWA6IEEgcmVmZXJlbmNlIHRvIHRoZSBzcGVjaWZpYyBXaW5kb3dzIGltYWdlIHRvIGJlIHVzZWQgZm9yIHRoZSBWTXMuXG4gICAqICAgICAgICAgICAgICAgIC0gYHNvdXJjZUltYWdlSWRgOiBUaGUgaWRlbnRpZmllciBmb3IgYSBjdXN0b20gaW1hZ2UgdG8gdXNlIGZvciB0aGUgVk1zLlxuICAgKiAgICAgICAgICAgICAgICAtIGB0YWdzYDogS2V5LXZhbHVlIHBhaXJzIGZvciByZXNvdXJjZSB0YWdnaW5nLlxuICAgKiAgICAgICAgICAgICAgICAtIGBvc0Rpc2tgOiBDb25maWd1cmF0aW9uIGZvciB0aGUgVk1zJyBvcGVyYXRpbmcgc3lzdGVtIGRpc2tzLlxuICAgKiAgICAgICAgICAgICAgICAtIGBzdWJuZXRgOiBTcGVjaWZpZXMgdGhlIHN1Ym5ldCB3aXRoaW4gd2hpY2ggdGhlIFZNcyB3aWxsIGJlIHBsYWNlZC5cbiAgICogICAgICAgICAgICAgICAgLSBgcHVibGljSVBBZGRyZXNzYDogTWV0aG9kIHVzZWQgdG8gYWxsb2NhdGUgcHVibGljIElQIGFkZHJlc3NlcyB0byB0aGUgVk1zLlxuICAgKiAgICAgICAgICAgICAgICAtIGBjdXN0b21EYXRhYDogU2NyaXB0cyBvciBjb21tYW5kcyBwYXNzZWQgdG8gdGhlIFZNcyBhdCBzdGFydHVwLlxuICAgKiAgICAgICAgICAgICAgICAtIGB1cGdyYWRlUG9saWN5TW9kZWA6IFRoZSB1cGdyYWRlIHBvbGljeSBtb2RlIGZvciB0aGUgVk1TUy5cbiAgICogICAgICAgICAgICAgICAgLSBgb3ZlcnByb3Zpc2lvbmA6IFNwZWNpZmllcyBpZiB0aGUgVk1TUyBzaG91bGQgYmUgb3ZlcnByb3Zpc2lvbmVkIHRvIG1haW50YWluIGNhcGFjaXR5IGR1cmluZyB1cGRhdGVzLlxuICAgKiAgICAgICAgICAgICAgICAtIGBzY2FsZUluUG9saWN5YDogVGhlIHNjYWxlLWluIHBvbGljeSBmb3IgdGhlIFZNU1MuXG4gICAqICAgICAgICAgICAgICAgIC0gYGJvb3REaWFnbm9zdGljc1N0b3JhZ2VVUklgOiBVUkkgZm9yIHN0b3JhZ2Ugd2hlcmUgVk1TUyBib290IGRpYWdub3N0aWNzIGFyZSBjb2xsZWN0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYGVuYWJsZVNzaEF6dXJlQURMb2dpbmA6IE9wdGlvbiB0byBlbmFibGUgQXp1cmUgQUQgbG9naW4gZm9yIFNTSCBvbiB0aGUgVk1zLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHdpbmRvd3NDbHVzdGVyID0gbmV3IFdpbmRvd3NDbHVzdGVyKHRoaXMsICdNeVdpbmRvd3NDbHVzdGVyJywge1xuICAgKiAgIHJlc291cmNlR3JvdXA6IG15UmVzb3VyY2VHcm91cCxcbiAgICogICBuYW1lOiAnbXlDbHVzdGVyJyxcbiAgICogICBza3U6ICdTdGFuZGFyZF9EUzFfdjInLFxuICAgKiAgIGFkbWluVXNlcm5hbWU6ICdhZG1pbnVzZXInLFxuICAgKiAgIGFkbWluUGFzc3dvcmQ6ICdzZWN1cmVwYXNzd29yZDEyMycsXG4gICAqICAgc291cmNlSW1hZ2VSZWZlcmVuY2U6IHsgcHVibGlzaGVyOiAnTWljcm9zb2Z0V2luZG93c1NlcnZlcicsIG9mZmVyOiAnV2luZG93c1NlcnZlcicsIHNrdTogJzIwMTktRGF0YWNlbnRlcicsIHZlcnNpb246ICdsYXRlc3QnIH0sXG4gICAqICAgb3NEaXNrOiB7IGNhY2hpbmc6ICdSZWFkV3JpdGUnLCBzdG9yYWdlQWNjb3VudFR5cGU6ICdTdGFuZGFyZF9MUlMnIH0sXG4gICAqICAgc3VibmV0OiBteVN1Ym5ldCxcbiAgICogICBpbnN0YW5jZXM6IDMsXG4gICAqICAgdGFnczogeyBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nIH1cbiAgICogfSk7XG4gICAqIGBgYFxuICAgKiBUaGlzIGNsYXNzIGluaXRpYWxpemVzIGEgV2luZG93cyBWTSBTY2FsZSBTZXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZ3VyYXRpb25zLCBoYW5kbGluZyBkZXRhaWxzIGxpa2UgVk0gY3JlYXRpb24sXG4gICAqIHNjYWxpbmcgcG9saWNpZXMsIG5ldHdvcmsgc2V0dXAsIE9TIGluc3RhbGxhdGlvbiwgYW5kIHNlY3VyaXR5IHNldHRpbmdzLCBwcm92aWRpbmcgYSByb2J1c3QgYW5kIHNjYWxhYmxlIGluZnJhc3RydWN0dXJlXG4gICAqIGZvciBob3N0aW5nIGNsb3VkLWJhc2VkIFdpbmRvd3MgYXBwbGljYXRpb25zLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdpbmRvd3NDbHVzdGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHByb3BzLnJlc291cmNlR3JvdXA7XG5cbiAgICBjb25zdCBwYXRoTmFtZSA9IHRoaXMubm9kZS5wYXRoLnNwbGl0KFwiL1wiKVswXTtcblxuICAgIC8vIERlZmF1bHQgY29uZmlndXJhdGlvbnMgZm9yIHRoZSB2aXJ0dWFsIG1hY2hpbmUuXG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBuYW1lOiBwcm9wcy5uYW1lIHx8IHRoaXMubm9kZS5wYXRoLnNwbGl0KFwiL1wiKVswXSxcbiAgICAgIGFkbWluVXNlcm5hbWU6IHByb3BzLmFkbWluVXNlcm5hbWUgfHwgYGFkbWluJHtwYXRoTmFtZX1gLFxuICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uIHx8IFwiZWFzdHVzXCIsXG4gICAgICBza3U6IHByb3BzLnNrdSB8fCBcIlN0YW5kYXJkX0Iyc1wiLFxuICAgICAgaW5zdGFuY2VzOiBwcm9wcy5pbnN0YW5jZXMgfHwgMSxcbiAgICAgIG9zRGlzazogcHJvcHMub3NEaXNrIHx8IHtcbiAgICAgICAgY2FjaGluZzogXCJSZWFkV3JpdGVcIixcbiAgICAgICAgc3RvcmFnZUFjY291bnRUeXBlOiBcIlN0YW5kYXJkX0xSU1wiLFxuICAgICAgfSxcbiAgICAgIHNvdXJjZUltYWdlUmVmZXJlbmNlOlxuICAgICAgICBwcm9wcy5zb3VyY2VJbWFnZVJlZmVyZW5jZSB8fFxuICAgICAgICBXaW5kb3dzSW1hZ2VSZWZlcmVuY2VzLndpbmRvd3NTZXJ2ZXIyMDIyRGF0YWNlbnRlckNvcmUsXG4gICAgICBzdWJuZXQ6XG4gICAgICAgIHByb3BzLnN1Ym5ldCB8fFxuICAgICAgICBuZXcgTmV0d29yayh0aGlzLCBcInZuZXRcIiwge1xuICAgICAgICAgIHJlc291cmNlR3JvdXA6IHByb3BzLnJlc291cmNlR3JvdXAsXG4gICAgICAgIH0pLnN1Ym5ldHMuZGVmYXVsdCxcbiAgICB9O1xuXG4gICAgLy8gQmFzZTY0IGVuY29kZSBjdXN0b20gZGF0YSBpZiBwcm92aWRlZC5cbiAgICBjb25zdCBjdXN0b21EYXRhID0gcHJvcHMuY3VzdG9tRGF0YSB8fCBwcm9wcy5ib29zdHJhcEN1c3RvbURhdGE7XG4gICAgY29uc3QgYmFzZTY0Q3VzdG9tRGF0YSA9IGN1c3RvbURhdGFcbiAgICAgID8gQnVmZmVyLmZyb20oY3VzdG9tRGF0YSkudG9TdHJpbmcoXCJiYXNlNjRcIilcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBXaW5kb3dzIFZpcnR1YWwgTWFjaGluZS5cbiAgICBjb25zdCBhenVyZXJtV2luZG93c1ZpcnR1YWxNYWNoaW5lID0gbmV3IFdpbmRvd3NWaXJ0dWFsTWFjaGluZVNjYWxlU2V0KFxuICAgICAgdGhpcyxcbiAgICAgIFwidm1zc1wiLFxuICAgICAge1xuICAgICAgICAuLi5kZWZhdWx0cyxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHByb3BzLnJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgICAgYWRtaW5Vc2VybmFtZTogcHJvcHMuYWRtaW5Vc2VybmFtZSxcbiAgICAgICAgYWRtaW5QYXNzd29yZDogcHJvcHMuYWRtaW5QYXNzd29yZCxcbiAgICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgICAgbmV0d29ya0ludGVyZmFjZTogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBuaWMtJHtkZWZhdWx0cy5uYW1lfWAsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgICAgaXBDb25maWd1cmF0aW9uOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImludGVybmFsXCIsXG4gICAgICAgICAgICAgICAgc3VibmV0SWQ6IGRlZmF1bHRzLnN1Ym5ldC5pZCxcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgICAgICAgIHB1YmxpY0lwQWRkcmVzczogcHJvcHMucHVibGljSVBBZGRyZXNzLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvc0Rpc2s6IHtcbiAgICAgICAgICAuLi5kZWZhdWx0cy5vc0Rpc2ssXG4gICAgICAgIH0sXG4gICAgICAgIHNvdXJjZUltYWdlSWQ6IHByb3BzLnNvdXJjZUltYWdlSWQsXG4gICAgICAgIGN1c3RvbURhdGE6IGJhc2U2NEN1c3RvbURhdGEsXG4gICAgICAgIGJvb3REaWFnbm9zdGljczogeyBzdG9yYWdlQWNjb3VudFVyaTogcHJvcHMuYm9vdERpYWdub3N0aWNzU3RvcmFnZVVSSSB9LFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5pZCA9IGF6dXJlcm1XaW5kb3dzVmlydHVhbE1hY2hpbmUuaWQ7XG4gICAgdGhpcy5uYW1lID0gYXp1cmVybVdpbmRvd3NWaXJ0dWFsTWFjaGluZS5uYW1lO1xuXG4gICAgLy8gQm9vdHN0cmFwIFZNIHdpdGggY3VzdG9tIHNjcmlwdCBleHRlbnNpb24gaWYgYm9vdHN0cmFwIGN1c3RvbSBkYXRhIGlzIHByb3ZpZGVkLlxuICAgIGlmIChwcm9wcy5ib29zdHJhcEN1c3RvbURhdGEpIHtcbiAgICAgIG5ldyBWaXJ0dWFsTWFjaGluZVNjYWxlU2V0RXh0ZW5zaW9uQSh0aGlzLCBcInNjcmlwdC1leHRcIiwge1xuICAgICAgICBuYW1lOiBgJHt0aGlzLm5hbWV9LXNjcmlwdC1leHRgLFxuICAgICAgICB2aXJ0dWFsTWFjaGluZVNjYWxlU2V0SWQ6IHRoaXMuaWQsXG4gICAgICAgIHB1Ymxpc2hlcjogXCJNaWNyb3NvZnQuQ29tcHV0ZVwiLFxuICAgICAgICB0eXBlOiBcIkN1c3RvbVNjcmlwdEV4dGVuc2lvblwiLFxuICAgICAgICB0eXBlSGFuZGxlclZlcnNpb246IFwiMS4xMFwiLFxuICAgICAgICBwcm90ZWN0ZWRTZXR0aW5nczpcbiAgICAgICAgICAne1wiY29tbWFuZFRvRXhlY3V0ZVwiOiBcInJlbmFtZSAgQzpcXFxcXFxcXEF6dXJlRGF0YVxcXFxcXFxcQ3VzdG9tRGF0YS5iaW4gIHBvc3RkZXBsb3kucHMxICYgcG93ZXJzaGVsbCAtRXhlY3V0aW9uUG9saWN5IFVucmVzdHJpY3RlZCAtRmlsZSBDOlxcXFxcXFxcQXp1cmVEYXRhXFxcXFxcXFxwb3N0ZGVwbG95LnBzMVwifScsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|