@microsoft/terraform-cdk-constructs 0.0.3-pre.10
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 +62 -0
- package/.jsii +18296 -0
- package/API.md +19698 -0
- package/CODE_OF_CONDUCT.md +9 -0
- package/CONTRIBUTING.md +85 -0
- package/LICENSE +19 -0
- package/README.md +152 -0
- package/SECURITY.md +41 -0
- package/SUPPORT.md +25 -0
- package/cdktf.json +11 -0
- package/cdktf.out/manifest.json +13 -0
- package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +111 -0
- package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +588 -0
- package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +245 -0
- package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +179 -0
- package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +236 -0
- package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +436 -0
- package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +152 -0
- package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +209 -0
- package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +439 -0
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +283 -0
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +261 -0
- package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +309 -0
- package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +161 -0
- package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +271 -0
- package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +122 -0
- package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +88 -0
- package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +339 -0
- package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +264 -0
- package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +261 -0
- package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +280 -0
- package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +167 -0
- package/docs/design_guide.md +309 -0
- package/docs/images/ide-documentation.png +0 -0
- package/docs/testing.md +347 -0
- package/go.mod +73 -0
- package/go.sum +1006 -0
- package/help +51 -0
- package/jest.config.js.old +187 -0
- package/lib/azure-actiongroup/index.d.ts +1 -0
- package/lib/azure-actiongroup/index.js +18 -0
- package/lib/azure-actiongroup/lib/actiongroup.d.ts +49 -0
- package/lib/azure-actiongroup/lib/actiongroup.js +85 -0
- package/lib/azure-actiongroup/lib/index.d.ts +1 -0
- package/lib/azure-actiongroup/lib/index.js +18 -0
- package/lib/azure-actiongroup/model/action-group-props.d.ts +47 -0
- package/lib/azure-actiongroup/model/action-group-props.js +3 -0
- package/lib/azure-actiongroup/model/arm-role-receiver-props.d.ts +20 -0
- package/lib/azure-actiongroup/model/arm-role-receiver-props.js +3 -0
- package/lib/azure-actiongroup/model/azure-app-push-receiver-props.d.ts +14 -0
- package/lib/azure-actiongroup/model/azure-app-push-receiver-props.js +3 -0
- package/lib/azure-actiongroup/model/email-receiver-props.d.ts +19 -0
- package/lib/azure-actiongroup/model/email-receiver-props.js +3 -0
- package/lib/azure-actiongroup/model/eventhub-receiver-props.d.ts +23 -0
- package/lib/azure-actiongroup/model/eventhub-receiver-props.js +3 -0
- package/lib/azure-actiongroup/model/function.d.ts +40 -0
- package/lib/azure-actiongroup/model/function.js +118 -0
- package/lib/azure-actiongroup/model/index.d.ts +10 -0
- package/lib/azure-actiongroup/model/index.js +27 -0
- package/lib/azure-actiongroup/model/logic-app-receiver-props.d.ts +23 -0
- package/lib/azure-actiongroup/model/logic-app-receiver-props.js +3 -0
- package/lib/azure-actiongroup/model/sms-receiver-props.d.ts +18 -0
- package/lib/azure-actiongroup/model/sms-receiver-props.js +3 -0
- package/lib/azure-actiongroup/model/voice-receiver-props.d.ts +18 -0
- package/lib/azure-actiongroup/model/voice-receiver-props.js +3 -0
- package/lib/azure-actiongroup/model/webhook-receiver-props.d.ts +18 -0
- package/lib/azure-actiongroup/model/webhook-receiver-props.js +3 -0
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.d.ts +1 -0
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +294 -0
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +5 -0
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +66 -0
- package/lib/azure-applicationgateway/index.d.ts +1 -0
- package/lib/azure-applicationgateway/index.js +18 -0
- package/lib/azure-applicationgateway/lib/gateway.d.ts +248 -0
- package/lib/azure-applicationgateway/lib/gateway.js +199 -0
- package/lib/azure-applicationgateway/lib/index.d.ts +1 -0
- package/lib/azure-applicationgateway/lib/index.js +18 -0
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.d.ts +1 -0
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +106 -0
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +5 -0
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +267 -0
- package/lib/azure-applicationinsights/index.d.ts +1 -0
- package/lib/azure-applicationinsights/index.js +18 -0
- package/lib/azure-applicationinsights/lib/appinsights.d.ts +110 -0
- package/lib/azure-applicationinsights/lib/appinsights.js +134 -0
- package/lib/azure-applicationinsights/lib/index.d.ts +1 -0
- package/lib/azure-applicationinsights/lib/index.js +18 -0
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.d.ts +1 -0
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +55 -0
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +5 -0
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +87 -0
- package/lib/azure-containerregistry/index.d.ts +1 -0
- package/lib/azure-containerregistry/index.js +18 -0
- package/lib/azure-containerregistry/lib/index.d.ts +1 -0
- package/lib/azure-containerregistry/lib/index.js +18 -0
- package/lib/azure-containerregistry/lib/registry.d.ts +70 -0
- package/lib/azure-containerregistry/lib/registry.js +76 -0
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.d.ts +1 -0
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +50 -0
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +5 -0
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +57 -0
- package/lib/azure-datalake/index.d.ts +1 -0
- package/lib/azure-datalake/index.js +18 -0
- package/lib/azure-datalake/lib/datalake.d.ts +64 -0
- package/lib/azure-datalake/lib/datalake.js +92 -0
- package/lib/azure-datalake/lib/filesystem.d.ts +70 -0
- package/lib/azure-datalake/lib/filesystem.js +83 -0
- package/lib/azure-datalake/lib/index.d.ts +3 -0
- package/lib/azure-datalake/lib/index.js +20 -0
- package/lib/azure-datalake/lib/path.d.ts +49 -0
- package/lib/azure-datalake/lib/path.js +51 -0
- package/lib/azure-eventhub/index.d.ts +1 -0
- package/lib/azure-eventhub/index.js +18 -0
- package/lib/azure-eventhub/lib/authorization.d.ts +58 -0
- package/lib/azure-eventhub/lib/authorization.js +84 -0
- package/lib/azure-eventhub/lib/cluster.d.ts +56 -0
- package/lib/azure-eventhub/lib/cluster.js +64 -0
- package/lib/azure-eventhub/lib/consumer.d.ts +54 -0
- package/lib/azure-eventhub/lib/consumer.js +59 -0
- package/lib/azure-eventhub/lib/index.d.ts +6 -0
- package/lib/azure-eventhub/lib/index.js +23 -0
- package/lib/azure-eventhub/lib/instance.d.ts +164 -0
- package/lib/azure-eventhub/lib/instance.js +184 -0
- package/lib/azure-eventhub/lib/kusto-connection.d.ts +109 -0
- package/lib/azure-eventhub/lib/kusto-connection.js +76 -0
- package/lib/azure-eventhub/lib/namespace.d.ts +151 -0
- package/lib/azure-eventhub/lib/namespace.js +131 -0
- package/lib/azure-eventhub/test/AzureEventhub.spec.d.ts +1 -0
- package/lib/azure-eventhub/test/AzureEventhub.spec.js +56 -0
- package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +5 -0
- package/lib/azure-eventhub/test/ExampleAzureEventhub.js +72 -0
- package/lib/azure-functionapp/index.d.ts +1 -0
- package/lib/azure-functionapp/index.js +18 -0
- package/lib/azure-functionapp/lib/functionapplinux.d.ts +211 -0
- package/lib/azure-functionapp/lib/functionapplinux.js +141 -0
- package/lib/azure-functionapp/lib/index.d.ts +1 -0
- package/lib/azure-functionapp/lib/index.js +18 -0
- package/lib/azure-functionapp/serviceplanskus.d.ts +70 -0
- package/lib/azure-functionapp/serviceplanskus.js +81 -0
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.d.ts +1 -0
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +48 -0
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +5 -0
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +123 -0
- package/lib/azure-keyvault/index.d.ts +1 -0
- package/lib/azure-keyvault/index.js +18 -0
- package/lib/azure-keyvault/lib/certificate.d.ts +133 -0
- package/lib/azure-keyvault/lib/certificate.js +146 -0
- package/lib/azure-keyvault/lib/index.d.ts +5 -0
- package/lib/azure-keyvault/lib/index.js +22 -0
- package/lib/azure-keyvault/lib/key.d.ts +72 -0
- package/lib/azure-keyvault/lib/key.js +69 -0
- package/lib/azure-keyvault/lib/policy.d.ts +76 -0
- package/lib/azure-keyvault/lib/policy.js +56 -0
- package/lib/azure-keyvault/lib/secret.d.ts +70 -0
- package/lib/azure-keyvault/lib/secret.js +64 -0
- package/lib/azure-keyvault/lib/vault.d.ts +282 -0
- package/lib/azure-keyvault/lib/vault.js +392 -0
- package/lib/azure-keyvault/test/AzureKeyVault.spec.d.ts +1 -0
- package/lib/azure-keyvault/test/AzureKeyVault.spec.js +63 -0
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +5 -0
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +112 -0
- package/lib/azure-kubernetes/index.d.ts +1 -0
- package/lib/azure-kubernetes/index.js +18 -0
- package/lib/azure-kubernetes/lib/cluster.d.ts +93 -0
- package/lib/azure-kubernetes/lib/cluster.js +63 -0
- package/lib/azure-kubernetes/lib/index.d.ts +1 -0
- package/lib/azure-kubernetes/lib/index.js +18 -0
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.d.ts +1 -0
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +56 -0
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +5 -0
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +65 -0
- package/lib/azure-kusto/index.d.ts +1 -0
- package/lib/azure-kusto/index.js +18 -0
- package/lib/azure-kusto/lib/cluster.d.ts +136 -0
- package/lib/azure-kusto/lib/cluster.js +138 -0
- package/lib/azure-kusto/lib/compute-specification.d.ts +71 -0
- package/lib/azure-kusto/lib/compute-specification.js +651 -0
- package/lib/azure-kusto/lib/database.d.ts +162 -0
- package/lib/azure-kusto/lib/database.js +180 -0
- package/lib/azure-kusto/lib/index.d.ts +3 -0
- package/lib/azure-kusto/lib/index.js +20 -0
- package/lib/azure-kusto/test/AzureKusto.spec.d.ts +1 -0
- package/lib/azure-kusto/test/AzureKusto.spec.js +50 -0
- package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +5 -0
- package/lib/azure-kusto/test/ExampleAzureKusto.js +71 -0
- package/lib/azure-loganalytics/index.d.ts +1 -0
- package/lib/azure-loganalytics/index.js +18 -0
- package/lib/azure-loganalytics/lib/index.d.ts +1 -0
- package/lib/azure-loganalytics/lib/index.js +18 -0
- package/lib/azure-loganalytics/lib/workspace.d.ts +163 -0
- package/lib/azure-loganalytics/lib/workspace.js +126 -0
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.d.ts +1 -0
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +50 -0
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +5 -0
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +115 -0
- package/lib/azure-metricalert/index.d.ts +2 -0
- package/lib/azure-metricalert/index.js +19 -0
- package/lib/azure-metricalert/lib/index.d.ts +1 -0
- package/lib/azure-metricalert/lib/index.js +18 -0
- package/lib/azure-metricalert/lib/metric-alert.d.ts +56 -0
- package/lib/azure-metricalert/lib/metric-alert.js +128 -0
- package/lib/azure-metricalert/model/action-props.d.ts +11 -0
- package/lib/azure-metricalert/model/action-props.js +3 -0
- package/lib/azure-metricalert/model/criteria-base-props.d.ts +38 -0
- package/lib/azure-metricalert/model/criteria-base-props.js +3 -0
- package/lib/azure-metricalert/model/criteria-dimension-props.d.ts +21 -0
- package/lib/azure-metricalert/model/criteria-dimension-props.js +3 -0
- package/lib/azure-metricalert/model/criteria-props.d.ts +12 -0
- package/lib/azure-metricalert/model/criteria-props.js +3 -0
- package/lib/azure-metricalert/model/dynamic-criteria-props.d.ts +29 -0
- package/lib/azure-metricalert/model/dynamic-criteria-props.js +3 -0
- package/lib/azure-metricalert/model/function.d.ts +28 -0
- package/lib/azure-metricalert/model/function.js +78 -0
- package/lib/azure-metricalert/model/index.d.ts +7 -0
- package/lib/azure-metricalert/model/index.js +24 -0
- package/lib/azure-metricalert/model/metric-alert-props.d.ts +86 -0
- package/lib/azure-metricalert/model/metric-alert-props.js +3 -0
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.d.ts +1 -0
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +63 -0
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +5 -0
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +81 -0
- package/lib/azure-networksecuritygroup/index.d.ts +1 -0
- package/lib/azure-networksecuritygroup/index.js +18 -0
- package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -0
- package/lib/azure-networksecuritygroup/lib/index.js +19 -0
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.d.ts +77 -0
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +608 -0
- package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +190 -0
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +172 -0
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.d.ts +1 -0
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +54 -0
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +5 -0
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +97 -0
- package/lib/azure-queryrulealert/index.d.ts +1 -0
- package/lib/azure-queryrulealert/index.js +18 -0
- package/lib/azure-queryrulealert/lib/index.d.ts +1 -0
- package/lib/azure-queryrulealert/lib/index.js +18 -0
- package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +175 -0
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +205 -0
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.d.ts +1 -0
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +67 -0
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +5 -0
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +67 -0
- package/lib/azure-resourcegroup/index.d.ts +1 -0
- package/lib/azure-resourcegroup/index.js +18 -0
- package/lib/azure-resourcegroup/lib/index.d.ts +1 -0
- package/lib/azure-resourcegroup/lib/index.js +18 -0
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +66 -0
- package/lib/azure-resourcegroup/lib/resource-group.js +77 -0
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.d.ts +1 -0
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +41 -0
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +5 -0
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +29 -0
- package/lib/azure-storageaccount/index.d.ts +1 -0
- package/lib/azure-storageaccount/index.js +18 -0
- package/lib/azure-storageaccount/lib/account.d.ts +232 -0
- package/lib/azure-storageaccount/lib/account.js +225 -0
- package/lib/azure-storageaccount/lib/container.d.ts +122 -0
- package/lib/azure-storageaccount/lib/container.js +167 -0
- package/lib/azure-storageaccount/lib/fileshare.d.ts +105 -0
- package/lib/azure-storageaccount/lib/fileshare.js +126 -0
- package/lib/azure-storageaccount/lib/index.d.ts +5 -0
- package/lib/azure-storageaccount/lib/index.js +22 -0
- package/lib/azure-storageaccount/lib/queue.d.ts +35 -0
- package/lib/azure-storageaccount/lib/queue.js +52 -0
- package/lib/azure-storageaccount/lib/table.d.ts +38 -0
- package/lib/azure-storageaccount/lib/table.js +55 -0
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.d.ts +1 -0
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +45 -0
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +5 -0
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +102 -0
- package/lib/azure-virtualmachine/index.d.ts +1 -0
- package/lib/azure-virtualmachine/index.js +18 -0
- package/lib/azure-virtualmachine/lib/image-references.d.ts +22 -0
- package/lib/azure-virtualmachine/lib/image-references.js +128 -0
- package/lib/azure-virtualmachine/lib/index.d.ts +2 -0
- package/lib/azure-virtualmachine/lib/index.js +19 -0
- package/lib/azure-virtualmachine/lib/vm.d.ts +281 -0
- package/lib/azure-virtualmachine/lib/vm.js +283 -0
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.d.ts +1 -0
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +48 -0
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.d.ts +1 -0
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +50 -0
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +5 -0
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +106 -0
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +5 -0
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +102 -0
- package/lib/azure-virtualmachinescaleset/index.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/index.js +18 -0
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +324 -0
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +264 -0
- package/lib/azure-virtualmachinescaleset/lib/index.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/lib/index.js +18 -0
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +48 -0
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +50 -0
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +5 -0
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +107 -0
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +5 -0
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +103 -0
- package/lib/azure-virtualnetwork/index.d.ts +1 -0
- package/lib/azure-virtualnetwork/index.js +18 -0
- package/lib/azure-virtualnetwork/lib/index.d.ts +2 -0
- package/lib/azure-virtualnetwork/lib/index.js +19 -0
- package/lib/azure-virtualnetwork/lib/network.d.ts +122 -0
- package/lib/azure-virtualnetwork/lib/network.js +120 -0
- package/lib/azure-virtualnetwork/lib/peering.d.ts +90 -0
- package/lib/azure-virtualnetwork/lib/peering.js +71 -0
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.d.ts +1 -0
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +48 -0
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +5 -0
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +88 -0
- package/lib/core-azure/index.d.ts +1 -0
- package/lib/core-azure/index.js +18 -0
- package/lib/core-azure/lib/diagsettings.d.ts +89 -0
- package/lib/core-azure/lib/diagsettings.js +83 -0
- package/lib/core-azure/lib/index.d.ts +3 -0
- package/lib/core-azure/lib/index.js +20 -0
- package/lib/core-azure/lib/rbac.d.ts +50 -0
- package/lib/core-azure/lib/rbac.js +48 -0
- package/lib/core-azure/lib/resource.d.ts +62 -0
- package/lib/core-azure/lib/resource.js +118 -0
- package/lib/core-azure/test/AzureResource.spec.d.ts +1 -0
- package/lib/core-azure/test/AzureResource.spec.js +19 -0
- package/lib/core-azure/test/ExampleAzureResource.d.ts +5 -0
- package/lib/core-azure/test/ExampleAzureResource.js +67 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.js +22 -0
- package/lib/testing/index.d.ts +6 -0
- package/lib/testing/index.js +18 -0
- package/lib/util/azureTenantIdHelpers.d.ts +2 -0
- package/lib/util/azureTenantIdHelpers.js +34 -0
- package/lib/util/randomName.d.ts +1 -0
- package/lib/util/randomName.js +13 -0
- package/node_modules/moment/CHANGELOG.md +996 -0
- package/node_modules/moment/LICENSE +22 -0
- package/node_modules/moment/README.md +55 -0
- package/node_modules/moment/dist/locale/af.js +71 -0
- package/node_modules/moment/dist/locale/ar-dz.js +156 -0
- package/node_modules/moment/dist/locale/ar-kw.js +55 -0
- package/node_modules/moment/dist/locale/ar-ly.js +171 -0
- package/node_modules/moment/dist/locale/ar-ma.js +56 -0
- package/node_modules/moment/dist/locale/ar-ps.js +112 -0
- package/node_modules/moment/dist/locale/ar-sa.js +105 -0
- package/node_modules/moment/dist/locale/ar-tn.js +55 -0
- package/node_modules/moment/dist/locale/ar.js +189 -0
- package/node_modules/moment/dist/locale/az.js +102 -0
- package/node_modules/moment/dist/locale/be.js +142 -0
- package/node_modules/moment/dist/locale/bg.js +87 -0
- package/node_modules/moment/dist/locale/bm.js +52 -0
- package/node_modules/moment/dist/locale/bn-bd.js +129 -0
- package/node_modules/moment/dist/locale/bn.js +119 -0
- package/node_modules/moment/dist/locale/bo.js +124 -0
- package/node_modules/moment/dist/locale/br.js +168 -0
- package/node_modules/moment/dist/locale/bs.js +160 -0
- package/node_modules/moment/dist/locale/ca.js +100 -0
- package/node_modules/moment/dist/locale/cs.js +181 -0
- package/node_modules/moment/dist/locale/cv.js +63 -0
- package/node_modules/moment/dist/locale/cy.js +98 -0
- package/node_modules/moment/dist/locale/da.js +53 -0
- package/node_modules/moment/dist/locale/de-at.js +79 -0
- package/node_modules/moment/dist/locale/de-ch.js +78 -0
- package/node_modules/moment/dist/locale/de.js +78 -0
- package/node_modules/moment/dist/locale/dv.js +90 -0
- package/node_modules/moment/dist/locale/el.js +106 -0
- package/node_modules/moment/dist/locale/en-au.js +68 -0
- package/node_modules/moment/dist/locale/en-ca.js +64 -0
- package/node_modules/moment/dist/locale/en-gb.js +68 -0
- package/node_modules/moment/dist/locale/en-ie.js +68 -0
- package/node_modules/moment/dist/locale/en-il.js +64 -0
- package/node_modules/moment/dist/locale/en-in.js +68 -0
- package/node_modules/moment/dist/locale/en-nz.js +68 -0
- package/node_modules/moment/dist/locale/en-sg.js +68 -0
- package/node_modules/moment/dist/locale/eo.js +68 -0
- package/node_modules/moment/dist/locale/es-do.js +108 -0
- package/node_modules/moment/dist/locale/es-mx.js +110 -0
- package/node_modules/moment/dist/locale/es-us.js +110 -0
- package/node_modules/moment/dist/locale/es.js +110 -0
- package/node_modules/moment/dist/locale/et.js +78 -0
- package/node_modules/moment/dist/locale/eu.js +65 -0
- package/node_modules/moment/dist/locale/fa.js +113 -0
- package/node_modules/moment/dist/locale/fi.js +124 -0
- package/node_modules/moment/dist/locale/fil.js +58 -0
- package/node_modules/moment/dist/locale/fo.js +57 -0
- package/node_modules/moment/dist/locale/fr-ca.js +70 -0
- package/node_modules/moment/dist/locale/fr-ch.js +74 -0
- package/node_modules/moment/dist/locale/fr.js +108 -0
- package/node_modules/moment/dist/locale/fy.js +75 -0
- package/node_modules/moment/dist/locale/ga.js +95 -0
- package/node_modules/moment/dist/locale/gd.js +95 -0
- package/node_modules/moment/dist/locale/gl.js +75 -0
- package/node_modules/moment/dist/locale/gom-deva.js +126 -0
- package/node_modules/moment/dist/locale/gom-latn.js +124 -0
- package/node_modules/moment/dist/locale/gu.js +122 -0
- package/node_modules/moment/dist/locale/he.js +94 -0
- package/node_modules/moment/dist/locale/hi.js +168 -0
- package/node_modules/moment/dist/locale/hr.js +156 -0
- package/node_modules/moment/dist/locale/hu.js +118 -0
- package/node_modules/moment/dist/locale/hy-am.js +94 -0
- package/node_modules/moment/dist/locale/id.js +76 -0
- package/node_modules/moment/dist/locale/is.js +140 -0
- package/node_modules/moment/dist/locale/it-ch.js +64 -0
- package/node_modules/moment/dist/locale/it.js +106 -0
- package/node_modules/moment/dist/locale/ja.js +148 -0
- package/node_modules/moment/dist/locale/jv.js +76 -0
- package/node_modules/moment/dist/locale/ka.js +92 -0
- package/node_modules/moment/dist/locale/kk.js +82 -0
- package/node_modules/moment/dist/locale/km.js +103 -0
- package/node_modules/moment/dist/locale/kn.js +124 -0
- package/node_modules/moment/dist/locale/ko.js +75 -0
- package/node_modules/moment/dist/locale/ku-kmr.js +121 -0
- package/node_modules/moment/dist/locale/ku.js +118 -0
- package/node_modules/moment/dist/locale/ky.js +84 -0
- package/node_modules/moment/dist/locale/lb.js +137 -0
- package/node_modules/moment/dist/locale/lo.js +66 -0
- package/node_modules/moment/dist/locale/lt.js +125 -0
- package/node_modules/moment/dist/locale/lv.js +94 -0
- package/node_modules/moment/dist/locale/me.js +117 -0
- package/node_modules/moment/dist/locale/mi.js +60 -0
- package/node_modules/moment/dist/locale/mk.js +85 -0
- package/node_modules/moment/dist/locale/ml.js +82 -0
- package/node_modules/moment/dist/locale/mn.js +100 -0
- package/node_modules/moment/dist/locale/mr.js +203 -0
- package/node_modules/moment/dist/locale/ms-my.js +76 -0
- package/node_modules/moment/dist/locale/ms.js +75 -0
- package/node_modules/moment/dist/locale/mt.js +56 -0
- package/node_modules/moment/dist/locale/my.js +91 -0
- package/node_modules/moment/dist/locale/nb.js +60 -0
- package/node_modules/moment/dist/locale/ne.js +121 -0
- package/node_modules/moment/dist/locale/nl-be.js +102 -0
- package/node_modules/moment/dist/locale/nl.js +104 -0
- package/node_modules/moment/dist/locale/nn.js +59 -0
- package/node_modules/moment/dist/locale/oc-lnc.js +85 -0
- package/node_modules/moment/dist/locale/pa-in.js +122 -0
- package/node_modules/moment/dist/locale/pl.js +140 -0
- package/node_modules/moment/dist/locale/pt-br.js +58 -0
- package/node_modules/moment/dist/locale/pt.js +63 -0
- package/node_modules/moment/dist/locale/ro.js +76 -0
- package/node_modules/moment/dist/locale/ru.js +213 -0
- package/node_modules/moment/dist/locale/sd.js +81 -0
- package/node_modules/moment/dist/locale/se.js +57 -0
- package/node_modules/moment/dist/locale/si.js +69 -0
- package/node_modules/moment/dist/locale/sk.js +145 -0
- package/node_modules/moment/dist/locale/sl.js +171 -0
- package/node_modules/moment/dist/locale/sq.js +65 -0
- package/node_modules/moment/dist/locale/sr-cyrl.js +127 -0
- package/node_modules/moment/dist/locale/sr.js +129 -0
- package/node_modules/moment/dist/locale/ss.js +84 -0
- package/node_modules/moment/dist/locale/sv.js +68 -0
- package/node_modules/moment/dist/locale/sw.js +55 -0
- package/node_modules/moment/dist/locale/ta.js +131 -0
- package/node_modules/moment/dist/locale/te.js +88 -0
- package/node_modules/moment/dist/locale/tet.js +68 -0
- package/node_modules/moment/dist/locale/tg.js +117 -0
- package/node_modules/moment/dist/locale/th.js +65 -0
- package/node_modules/moment/dist/locale/tk.js +91 -0
- package/node_modules/moment/dist/locale/tl-ph.js +57 -0
- package/node_modules/moment/dist/locale/tlh.js +124 -0
- package/node_modules/moment/dist/locale/tr.js +106 -0
- package/node_modules/moment/dist/locale/tzl.js +89 -0
- package/node_modules/moment/dist/locale/tzm-latn.js +54 -0
- package/node_modules/moment/dist/locale/tzm.js +54 -0
- package/node_modules/moment/dist/locale/ug-cn.js +111 -0
- package/node_modules/moment/dist/locale/uk.js +167 -0
- package/node_modules/moment/dist/locale/ur.js +82 -0
- package/node_modules/moment/dist/locale/uz-latn.js +54 -0
- package/node_modules/moment/dist/locale/uz.js +51 -0
- package/node_modules/moment/dist/locale/vi.js +80 -0
- package/node_modules/moment/dist/locale/x-pseudo.js +73 -0
- package/node_modules/moment/dist/locale/yo.js +53 -0
- package/node_modules/moment/dist/locale/zh-cn.js +120 -0
- package/node_modules/moment/dist/locale/zh-hk.js +101 -0
- package/node_modules/moment/dist/locale/zh-mo.js +100 -0
- package/node_modules/moment/dist/locale/zh-tw.js +99 -0
- package/node_modules/moment/dist/moment.js +5680 -0
- package/node_modules/moment/ender.js +1 -0
- package/node_modules/moment/locale/af.js +82 -0
- package/node_modules/moment/locale/ar-dz.js +167 -0
- package/node_modules/moment/locale/ar-kw.js +66 -0
- package/node_modules/moment/locale/ar-ly.js +182 -0
- package/node_modules/moment/locale/ar-ma.js +67 -0
- package/node_modules/moment/locale/ar-ps.js +123 -0
- package/node_modules/moment/locale/ar-sa.js +116 -0
- package/node_modules/moment/locale/ar-tn.js +66 -0
- package/node_modules/moment/locale/ar.js +200 -0
- package/node_modules/moment/locale/az.js +113 -0
- package/node_modules/moment/locale/be.js +153 -0
- package/node_modules/moment/locale/bg.js +98 -0
- package/node_modules/moment/locale/bm.js +62 -0
- package/node_modules/moment/locale/bn-bd.js +140 -0
- package/node_modules/moment/locale/bn.js +130 -0
- package/node_modules/moment/locale/bo.js +135 -0
- package/node_modules/moment/locale/br.js +179 -0
- package/node_modules/moment/locale/bs.js +171 -0
- package/node_modules/moment/locale/ca.js +111 -0
- package/node_modules/moment/locale/cs.js +192 -0
- package/node_modules/moment/locale/cv.js +74 -0
- package/node_modules/moment/locale/cy.js +109 -0
- package/node_modules/moment/locale/da.js +64 -0
- package/node_modules/moment/locale/de-at.js +90 -0
- package/node_modules/moment/locale/de-ch.js +87 -0
- package/node_modules/moment/locale/de.js +89 -0
- package/node_modules/moment/locale/dv.js +101 -0
- package/node_modules/moment/locale/el.js +117 -0
- package/node_modules/moment/locale/en-au.js +79 -0
- package/node_modules/moment/locale/en-ca.js +75 -0
- package/node_modules/moment/locale/en-gb.js +79 -0
- package/node_modules/moment/locale/en-ie.js +79 -0
- package/node_modules/moment/locale/en-il.js +75 -0
- package/node_modules/moment/locale/en-in.js +79 -0
- package/node_modules/moment/locale/en-nz.js +79 -0
- package/node_modules/moment/locale/en-sg.js +79 -0
- package/node_modules/moment/locale/eo.js +79 -0
- package/node_modules/moment/locale/es-do.js +119 -0
- package/node_modules/moment/locale/es-mx.js +121 -0
- package/node_modules/moment/locale/es-us.js +121 -0
- package/node_modules/moment/locale/es.js +121 -0
- package/node_modules/moment/locale/et.js +89 -0
- package/node_modules/moment/locale/eu.js +76 -0
- package/node_modules/moment/locale/fa.js +124 -0
- package/node_modules/moment/locale/fi.js +135 -0
- package/node_modules/moment/locale/fil.js +69 -0
- package/node_modules/moment/locale/fo.js +68 -0
- package/node_modules/moment/locale/fr-ca.js +81 -0
- package/node_modules/moment/locale/fr-ch.js +85 -0
- package/node_modules/moment/locale/fr.js +119 -0
- package/node_modules/moment/locale/fy.js +86 -0
- package/node_modules/moment/locale/ga.js +106 -0
- package/node_modules/moment/locale/gd.js +106 -0
- package/node_modules/moment/locale/gl.js +86 -0
- package/node_modules/moment/locale/gom-deva.js +137 -0
- package/node_modules/moment/locale/gom-latn.js +135 -0
- package/node_modules/moment/locale/gu.js +133 -0
- package/node_modules/moment/locale/he.js +105 -0
- package/node_modules/moment/locale/hi.js +179 -0
- package/node_modules/moment/locale/hr.js +167 -0
- package/node_modules/moment/locale/hu.js +129 -0
- package/node_modules/moment/locale/hy-am.js +105 -0
- package/node_modules/moment/locale/id.js +87 -0
- package/node_modules/moment/locale/is.js +151 -0
- package/node_modules/moment/locale/it-ch.js +75 -0
- package/node_modules/moment/locale/it.js +117 -0
- package/node_modules/moment/locale/ja.js +159 -0
- package/node_modules/moment/locale/jv.js +87 -0
- package/node_modules/moment/locale/ka.js +103 -0
- package/node_modules/moment/locale/kk.js +93 -0
- package/node_modules/moment/locale/km.js +114 -0
- package/node_modules/moment/locale/kn.js +135 -0
- package/node_modules/moment/locale/ko.js +86 -0
- package/node_modules/moment/locale/ku-kmr.js +125 -0
- package/node_modules/moment/locale/ku.js +129 -0
- package/node_modules/moment/locale/ky.js +95 -0
- package/node_modules/moment/locale/lb.js +148 -0
- package/node_modules/moment/locale/lo.js +77 -0
- package/node_modules/moment/locale/lt.js +136 -0
- package/node_modules/moment/locale/lv.js +105 -0
- package/node_modules/moment/locale/me.js +128 -0
- package/node_modules/moment/locale/mi.js +71 -0
- package/node_modules/moment/locale/mk.js +97 -0
- package/node_modules/moment/locale/ml.js +93 -0
- package/node_modules/moment/locale/mn.js +111 -0
- package/node_modules/moment/locale/mr.js +214 -0
- package/node_modules/moment/locale/ms-my.js +87 -0
- package/node_modules/moment/locale/ms.js +86 -0
- package/node_modules/moment/locale/mt.js +67 -0
- package/node_modules/moment/locale/my.js +102 -0
- package/node_modules/moment/locale/nb.js +71 -0
- package/node_modules/moment/locale/ne.js +132 -0
- package/node_modules/moment/locale/nl-be.js +113 -0
- package/node_modules/moment/locale/nl.js +115 -0
- package/node_modules/moment/locale/nn.js +70 -0
- package/node_modules/moment/locale/oc-lnc.js +96 -0
- package/node_modules/moment/locale/pa-in.js +133 -0
- package/node_modules/moment/locale/pl.js +151 -0
- package/node_modules/moment/locale/pt-br.js +69 -0
- package/node_modules/moment/locale/pt.js +74 -0
- package/node_modules/moment/locale/ro.js +87 -0
- package/node_modules/moment/locale/ru.js +224 -0
- package/node_modules/moment/locale/sd.js +92 -0
- package/node_modules/moment/locale/se.js +68 -0
- package/node_modules/moment/locale/si.js +80 -0
- package/node_modules/moment/locale/sk.js +156 -0
- package/node_modules/moment/locale/sl.js +182 -0
- package/node_modules/moment/locale/sq.js +76 -0
- package/node_modules/moment/locale/sr-cyrl.js +138 -0
- package/node_modules/moment/locale/sr.js +140 -0
- package/node_modules/moment/locale/ss.js +95 -0
- package/node_modules/moment/locale/sv.js +79 -0
- package/node_modules/moment/locale/sw.js +66 -0
- package/node_modules/moment/locale/ta.js +142 -0
- package/node_modules/moment/locale/te.js +99 -0
- package/node_modules/moment/locale/tet.js +79 -0
- package/node_modules/moment/locale/tg.js +128 -0
- package/node_modules/moment/locale/th.js +76 -0
- package/node_modules/moment/locale/tk.js +102 -0
- package/node_modules/moment/locale/tl-ph.js +68 -0
- package/node_modules/moment/locale/tlh.js +135 -0
- package/node_modules/moment/locale/tr.js +117 -0
- package/node_modules/moment/locale/tzl.js +100 -0
- package/node_modules/moment/locale/tzm-latn.js +65 -0
- package/node_modules/moment/locale/tzm.js +65 -0
- package/node_modules/moment/locale/ug-cn.js +122 -0
- package/node_modules/moment/locale/uk.js +178 -0
- package/node_modules/moment/locale/ur.js +93 -0
- package/node_modules/moment/locale/uz-latn.js +65 -0
- package/node_modules/moment/locale/uz.js +62 -0
- package/node_modules/moment/locale/vi.js +91 -0
- package/node_modules/moment/locale/x-pseudo.js +84 -0
- package/node_modules/moment/locale/yo.js +64 -0
- package/node_modules/moment/locale/zh-cn.js +131 -0
- package/node_modules/moment/locale/zh-hk.js +112 -0
- package/node_modules/moment/locale/zh-mo.js +111 -0
- package/node_modules/moment/locale/zh-tw.js +110 -0
- package/node_modules/moment/min/locales.js +12800 -0
- package/node_modules/moment/min/locales.min.js +2 -0
- package/node_modules/moment/min/locales.min.js.map +1 -0
- package/node_modules/moment/min/moment-with-locales.js +18472 -0
- package/node_modules/moment/min/moment-with-locales.min.js +2 -0
- package/node_modules/moment/min/moment-with-locales.min.js.map +1 -0
- package/node_modules/moment/min/moment.min.js +2 -0
- package/node_modules/moment/min/moment.min.js.map +1 -0
- package/node_modules/moment/moment.d.ts +796 -0
- package/node_modules/moment/moment.js +5688 -0
- package/node_modules/moment/package.js +11 -0
- package/node_modules/moment/package.json +116 -0
- package/node_modules/moment/src/lib/create/check-overflow.js +57 -0
- package/node_modules/moment/src/lib/create/date-from-array.js +35 -0
- package/node_modules/moment/src/lib/create/from-anything.js +117 -0
- package/node_modules/moment/src/lib/create/from-array.js +187 -0
- package/node_modules/moment/src/lib/create/from-object.js +20 -0
- package/node_modules/moment/src/lib/create/from-string-and-array.js +67 -0
- package/node_modules/moment/src/lib/create/from-string-and-format.js +135 -0
- package/node_modules/moment/src/lib/create/from-string.js +258 -0
- package/node_modules/moment/src/lib/create/local.js +5 -0
- package/node_modules/moment/src/lib/create/parsing-flags.js +28 -0
- package/node_modules/moment/src/lib/create/utc.js +5 -0
- package/node_modules/moment/src/lib/create/valid.js +51 -0
- package/node_modules/moment/src/lib/duration/abs.js +18 -0
- package/node_modules/moment/src/lib/duration/add-subtract.js +21 -0
- package/node_modules/moment/src/lib/duration/as.js +76 -0
- package/node_modules/moment/src/lib/duration/bubble.js +68 -0
- package/node_modules/moment/src/lib/duration/clone.js +5 -0
- package/node_modules/moment/src/lib/duration/constructor.js +42 -0
- package/node_modules/moment/src/lib/duration/create.js +133 -0
- package/node_modules/moment/src/lib/duration/duration.js +16 -0
- package/node_modules/moment/src/lib/duration/get.js +27 -0
- package/node_modules/moment/src/lib/duration/humanize.js +114 -0
- package/node_modules/moment/src/lib/duration/iso-string.js +68 -0
- package/node_modules/moment/src/lib/duration/prototype.js +78 -0
- package/node_modules/moment/src/lib/duration/valid.js +55 -0
- package/node_modules/moment/src/lib/format/format.js +104 -0
- package/node_modules/moment/src/lib/locale/base-config.js +41 -0
- package/node_modules/moment/src/lib/locale/calendar.js +15 -0
- package/node_modules/moment/src/lib/locale/constructor.js +5 -0
- package/node_modules/moment/src/lib/locale/en.js +39 -0
- package/node_modules/moment/src/lib/locale/formats.js +36 -0
- package/node_modules/moment/src/lib/locale/invalid.js +5 -0
- package/node_modules/moment/src/lib/locale/lists.js +93 -0
- package/node_modules/moment/src/lib/locale/locale.js +45 -0
- package/node_modules/moment/src/lib/locale/locales.js +249 -0
- package/node_modules/moment/src/lib/locale/ordinal.js +8 -0
- package/node_modules/moment/src/lib/locale/pre-post-format.js +3 -0
- package/node_modules/moment/src/lib/locale/prototype.js +88 -0
- package/node_modules/moment/src/lib/locale/relative.js +32 -0
- package/node_modules/moment/src/lib/locale/set.js +56 -0
- package/node_modules/moment/src/lib/moment/add-subtract.js +61 -0
- package/node_modules/moment/src/lib/moment/calendar.js +53 -0
- package/node_modules/moment/src/lib/moment/clone.js +5 -0
- package/node_modules/moment/src/lib/moment/compare.js +72 -0
- package/node_modules/moment/src/lib/moment/constructor.js +80 -0
- package/node_modules/moment/src/lib/moment/creation-data.js +9 -0
- package/node_modules/moment/src/lib/moment/diff.js +79 -0
- package/node_modules/moment/src/lib/moment/format.js +78 -0
- package/node_modules/moment/src/lib/moment/from.js +20 -0
- package/node_modules/moment/src/lib/moment/get-set.js +117 -0
- package/node_modules/moment/src/lib/moment/locale.js +34 -0
- package/node_modules/moment/src/lib/moment/min-max.js +62 -0
- package/node_modules/moment/src/lib/moment/moment.js +28 -0
- package/node_modules/moment/src/lib/moment/now.js +3 -0
- package/node_modules/moment/src/lib/moment/prototype.js +197 -0
- package/node_modules/moment/src/lib/moment/start-end-of.js +164 -0
- package/node_modules/moment/src/lib/moment/to-type.js +42 -0
- package/node_modules/moment/src/lib/moment/to.js +20 -0
- package/node_modules/moment/src/lib/moment/valid.js +15 -0
- package/node_modules/moment/src/lib/parse/regex.js +84 -0
- package/node_modules/moment/src/lib/parse/token.js +36 -0
- package/node_modules/moment/src/lib/units/aliases.js +75 -0
- package/node_modules/moment/src/lib/units/constants.js +9 -0
- package/node_modules/moment/src/lib/units/day-of-month.js +35 -0
- package/node_modules/moment/src/lib/units/day-of-week.js +432 -0
- package/node_modules/moment/src/lib/units/day-of-year.js +28 -0
- package/node_modules/moment/src/lib/units/era.js +293 -0
- package/node_modules/moment/src/lib/units/hour.js +152 -0
- package/node_modules/moment/src/lib/units/millisecond.js +66 -0
- package/node_modules/moment/src/lib/units/minute.js +24 -0
- package/node_modules/moment/src/lib/units/month.js +340 -0
- package/node_modules/moment/src/lib/units/offset.js +249 -0
- package/node_modules/moment/src/lib/units/priorities.js +34 -0
- package/node_modules/moment/src/lib/units/quarter.js +24 -0
- package/node_modules/moment/src/lib/units/second.js +24 -0
- package/node_modules/moment/src/lib/units/timestamp.js +20 -0
- package/node_modules/moment/src/lib/units/timezone.js +16 -0
- package/node_modules/moment/src/lib/units/units.js +20 -0
- package/node_modules/moment/src/lib/units/week-calendar-utils.js +66 -0
- package/node_modules/moment/src/lib/units/week-year.js +128 -0
- package/node_modules/moment/src/lib/units/week.js +62 -0
- package/node_modules/moment/src/lib/units/year.js +75 -0
- package/node_modules/moment/src/lib/utils/abs-ceil.js +7 -0
- package/node_modules/moment/src/lib/utils/abs-floor.js +8 -0
- package/node_modules/moment/src/lib/utils/abs-round.js +7 -0
- package/node_modules/moment/src/lib/utils/compare-arrays.js +18 -0
- package/node_modules/moment/src/lib/utils/defaults.js +10 -0
- package/node_modules/moment/src/lib/utils/deprecate.js +69 -0
- package/node_modules/moment/src/lib/utils/extend.js +19 -0
- package/node_modules/moment/src/lib/utils/has-own-prop.js +3 -0
- package/node_modules/moment/src/lib/utils/hooks.js +13 -0
- package/node_modules/moment/src/lib/utils/index-of.js +18 -0
- package/node_modules/moment/src/lib/utils/is-array.js +6 -0
- package/node_modules/moment/src/lib/utils/is-calendar-spec.js +25 -0
- package/node_modules/moment/src/lib/utils/is-date.js +6 -0
- package/node_modules/moment/src/lib/utils/is-function.js +6 -0
- package/node_modules/moment/src/lib/utils/is-leap-year.js +3 -0
- package/node_modules/moment/src/lib/utils/is-moment-input.js +75 -0
- package/node_modules/moment/src/lib/utils/is-number.js +6 -0
- package/node_modules/moment/src/lib/utils/is-object-empty.js +15 -0
- package/node_modules/moment/src/lib/utils/is-object.js +8 -0
- package/node_modules/moment/src/lib/utils/is-string.js +3 -0
- package/node_modules/moment/src/lib/utils/is-undefined.js +3 -0
- package/node_modules/moment/src/lib/utils/keys.js +20 -0
- package/node_modules/moment/src/lib/utils/map.js +9 -0
- package/node_modules/moment/src/lib/utils/mod.js +3 -0
- package/node_modules/moment/src/lib/utils/some.js +20 -0
- package/node_modules/moment/src/lib/utils/to-int.js +12 -0
- package/node_modules/moment/src/lib/utils/zero-fill.js +10 -0
- package/node_modules/moment/src/locale/af.js +71 -0
- package/node_modules/moment/src/locale/ar-dz.js +156 -0
- package/node_modules/moment/src/locale/ar-kw.js +55 -0
- package/node_modules/moment/src/locale/ar-ly.js +171 -0
- package/node_modules/moment/src/locale/ar-ma.js +56 -0
- package/node_modules/moment/src/locale/ar-ps.js +112 -0
- package/node_modules/moment/src/locale/ar-sa.js +105 -0
- package/node_modules/moment/src/locale/ar-tn.js +55 -0
- package/node_modules/moment/src/locale/ar.js +189 -0
- package/node_modules/moment/src/locale/az.js +102 -0
- package/node_modules/moment/src/locale/be.js +142 -0
- package/node_modules/moment/src/locale/bg.js +87 -0
- package/node_modules/moment/src/locale/bm.js +52 -0
- package/node_modules/moment/src/locale/bn-bd.js +129 -0
- package/node_modules/moment/src/locale/bn.js +119 -0
- package/node_modules/moment/src/locale/bo.js +124 -0
- package/node_modules/moment/src/locale/br.js +168 -0
- package/node_modules/moment/src/locale/bs.js +160 -0
- package/node_modules/moment/src/locale/ca.js +100 -0
- package/node_modules/moment/src/locale/cs.js +181 -0
- package/node_modules/moment/src/locale/cv.js +63 -0
- package/node_modules/moment/src/locale/cy.js +98 -0
- package/node_modules/moment/src/locale/da.js +53 -0
- package/node_modules/moment/src/locale/de-at.js +79 -0
- package/node_modules/moment/src/locale/de-ch.js +78 -0
- package/node_modules/moment/src/locale/de.js +78 -0
- package/node_modules/moment/src/locale/dv.js +90 -0
- package/node_modules/moment/src/locale/el.js +106 -0
- package/node_modules/moment/src/locale/en-au.js +68 -0
- package/node_modules/moment/src/locale/en-ca.js +64 -0
- package/node_modules/moment/src/locale/en-gb.js +68 -0
- package/node_modules/moment/src/locale/en-ie.js +68 -0
- package/node_modules/moment/src/locale/en-il.js +64 -0
- package/node_modules/moment/src/locale/en-in.js +68 -0
- package/node_modules/moment/src/locale/en-nz.js +68 -0
- package/node_modules/moment/src/locale/en-sg.js +68 -0
- package/node_modules/moment/src/locale/eo.js +68 -0
- package/node_modules/moment/src/locale/es-do.js +108 -0
- package/node_modules/moment/src/locale/es-mx.js +110 -0
- package/node_modules/moment/src/locale/es-us.js +110 -0
- package/node_modules/moment/src/locale/es.js +110 -0
- package/node_modules/moment/src/locale/et.js +78 -0
- package/node_modules/moment/src/locale/eu.js +65 -0
- package/node_modules/moment/src/locale/fa.js +113 -0
- package/node_modules/moment/src/locale/fi.js +124 -0
- package/node_modules/moment/src/locale/fil.js +58 -0
- package/node_modules/moment/src/locale/fo.js +57 -0
- package/node_modules/moment/src/locale/fr-ca.js +70 -0
- package/node_modules/moment/src/locale/fr-ch.js +74 -0
- package/node_modules/moment/src/locale/fr.js +108 -0
- package/node_modules/moment/src/locale/fy.js +75 -0
- package/node_modules/moment/src/locale/ga.js +95 -0
- package/node_modules/moment/src/locale/gd.js +95 -0
- package/node_modules/moment/src/locale/gl.js +75 -0
- package/node_modules/moment/src/locale/gom-deva.js +126 -0
- package/node_modules/moment/src/locale/gom-latn.js +124 -0
- package/node_modules/moment/src/locale/gu.js +122 -0
- package/node_modules/moment/src/locale/he.js +94 -0
- package/node_modules/moment/src/locale/hi.js +168 -0
- package/node_modules/moment/src/locale/hr.js +156 -0
- package/node_modules/moment/src/locale/hu.js +118 -0
- package/node_modules/moment/src/locale/hy-am.js +94 -0
- package/node_modules/moment/src/locale/id.js +76 -0
- package/node_modules/moment/src/locale/is.js +140 -0
- package/node_modules/moment/src/locale/it-ch.js +64 -0
- package/node_modules/moment/src/locale/it.js +106 -0
- package/node_modules/moment/src/locale/ja.js +148 -0
- package/node_modules/moment/src/locale/jv.js +76 -0
- package/node_modules/moment/src/locale/ka.js +92 -0
- package/node_modules/moment/src/locale/kk.js +82 -0
- package/node_modules/moment/src/locale/km.js +103 -0
- package/node_modules/moment/src/locale/kn.js +124 -0
- package/node_modules/moment/src/locale/ko.js +75 -0
- package/node_modules/moment/src/locale/ku-kmr.js +121 -0
- package/node_modules/moment/src/locale/ku.js +118 -0
- package/node_modules/moment/src/locale/ky.js +84 -0
- package/node_modules/moment/src/locale/lb.js +137 -0
- package/node_modules/moment/src/locale/lo.js +66 -0
- package/node_modules/moment/src/locale/lt.js +125 -0
- package/node_modules/moment/src/locale/lv.js +94 -0
- package/node_modules/moment/src/locale/me.js +117 -0
- package/node_modules/moment/src/locale/mi.js +60 -0
- package/node_modules/moment/src/locale/mk.js +85 -0
- package/node_modules/moment/src/locale/ml.js +82 -0
- package/node_modules/moment/src/locale/mn.js +100 -0
- package/node_modules/moment/src/locale/mr.js +203 -0
- package/node_modules/moment/src/locale/ms-my.js +76 -0
- package/node_modules/moment/src/locale/ms.js +75 -0
- package/node_modules/moment/src/locale/mt.js +56 -0
- package/node_modules/moment/src/locale/my.js +91 -0
- package/node_modules/moment/src/locale/nb.js +60 -0
- package/node_modules/moment/src/locale/ne.js +121 -0
- package/node_modules/moment/src/locale/nl-be.js +102 -0
- package/node_modules/moment/src/locale/nl.js +104 -0
- package/node_modules/moment/src/locale/nn.js +59 -0
- package/node_modules/moment/src/locale/oc-lnc.js +85 -0
- package/node_modules/moment/src/locale/pa-in.js +122 -0
- package/node_modules/moment/src/locale/pl.js +140 -0
- package/node_modules/moment/src/locale/pt-br.js +58 -0
- package/node_modules/moment/src/locale/pt.js +63 -0
- package/node_modules/moment/src/locale/ro.js +76 -0
- package/node_modules/moment/src/locale/ru.js +213 -0
- package/node_modules/moment/src/locale/sd.js +81 -0
- package/node_modules/moment/src/locale/se.js +57 -0
- package/node_modules/moment/src/locale/si.js +69 -0
- package/node_modules/moment/src/locale/sk.js +145 -0
- package/node_modules/moment/src/locale/sl.js +171 -0
- package/node_modules/moment/src/locale/sq.js +65 -0
- package/node_modules/moment/src/locale/sr-cyrl.js +127 -0
- package/node_modules/moment/src/locale/sr.js +129 -0
- package/node_modules/moment/src/locale/ss.js +84 -0
- package/node_modules/moment/src/locale/sv.js +68 -0
- package/node_modules/moment/src/locale/sw.js +55 -0
- package/node_modules/moment/src/locale/ta.js +131 -0
- package/node_modules/moment/src/locale/te.js +88 -0
- package/node_modules/moment/src/locale/tet.js +68 -0
- package/node_modules/moment/src/locale/tg.js +117 -0
- package/node_modules/moment/src/locale/th.js +65 -0
- package/node_modules/moment/src/locale/tk.js +91 -0
- package/node_modules/moment/src/locale/tl-ph.js +57 -0
- package/node_modules/moment/src/locale/tlh.js +124 -0
- package/node_modules/moment/src/locale/tr.js +106 -0
- package/node_modules/moment/src/locale/tzl.js +89 -0
- package/node_modules/moment/src/locale/tzm-latn.js +54 -0
- package/node_modules/moment/src/locale/tzm.js +54 -0
- package/node_modules/moment/src/locale/ug-cn.js +111 -0
- package/node_modules/moment/src/locale/uk.js +167 -0
- package/node_modules/moment/src/locale/ur.js +82 -0
- package/node_modules/moment/src/locale/uz-latn.js +54 -0
- package/node_modules/moment/src/locale/uz.js +51 -0
- package/node_modules/moment/src/locale/vi.js +80 -0
- package/node_modules/moment/src/locale/x-pseudo.js +73 -0
- package/node_modules/moment/src/locale/yo.js +53 -0
- package/node_modules/moment/src/locale/zh-cn.js +120 -0
- package/node_modules/moment/src/locale/zh-hk.js +101 -0
- package/node_modules/moment/src/locale/zh-mo.js +100 -0
- package/node_modules/moment/src/locale/zh-tw.js +99 -0
- package/node_modules/moment/src/moment.js +93 -0
- package/node_modules/moment/ts3.1-typings/moment.d.ts +785 -0
- package/node_modules/nanoid/LICENSE +20 -0
- package/node_modules/nanoid/README.md +38 -0
- package/node_modules/nanoid/async/index.browser.js +33 -0
- package/node_modules/nanoid/async/index.d.ts +56 -0
- package/node_modules/nanoid/async/index.js +34 -0
- package/node_modules/nanoid/async/index.native.js +25 -0
- package/node_modules/nanoid/bin/nanoid.js +46 -0
- package/node_modules/nanoid/index.browser.js +33 -0
- package/node_modules/nanoid/index.d.ts +91 -0
- package/node_modules/nanoid/index.js +45 -0
- package/node_modules/nanoid/nanoid.js +1 -0
- package/node_modules/nanoid/non-secure/index.d.ts +33 -0
- package/node_modules/nanoid/non-secure/index.js +20 -0
- package/node_modules/nanoid/package.json +46 -0
- package/node_modules/nanoid/url-alphabet/index.js +2 -0
- package/node_modules/ts-md5/LICENSE +21 -0
- package/node_modules/ts-md5/README.md +101 -0
- package/node_modules/ts-md5/dist/cjs/index.d.ts +3 -0
- package/node_modules/ts-md5/dist/cjs/index.js +10 -0
- package/node_modules/ts-md5/dist/cjs/index.js.map +1 -0
- package/node_modules/ts-md5/dist/cjs/md5.d.ts +70 -0
- package/node_modules/ts-md5/dist/cjs/md5.js +429 -0
- package/node_modules/ts-md5/dist/cjs/md5.js.map +1 -0
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.d.ts +25 -0
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js +96 -0
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js.map +1 -0
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.d.ts +22 -0
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.js +69 -0
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.js.map +1 -0
- package/node_modules/ts-md5/dist/esm/index.d.ts +3 -0
- package/node_modules/ts-md5/dist/esm/index.js +4 -0
- package/node_modules/ts-md5/dist/esm/index.js.map +1 -0
- package/node_modules/ts-md5/dist/esm/md5.d.ts +70 -0
- package/node_modules/ts-md5/dist/esm/md5.js +421 -0
- package/node_modules/ts-md5/dist/esm/md5.js.map +1 -0
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.d.ts +25 -0
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.js +89 -0
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.js.map +1 -0
- package/node_modules/ts-md5/dist/esm/parallel_hasher.d.ts +22 -0
- package/node_modules/ts-md5/dist/esm/parallel_hasher.js +64 -0
- package/node_modules/ts-md5/dist/esm/parallel_hasher.js.map +1 -0
- package/node_modules/ts-md5/dist/md5.js +429 -0
- package/node_modules/ts-md5/dist/md5_worker.js +523 -0
- package/node_modules/ts-md5/package.json +82 -0
- package/node_modules/ts-md5/src/index.ts +4 -0
- package/node_modules/ts-md5/src/md5.ts +473 -0
- package/node_modules/ts-md5/src/md5_file_hasher.ts +110 -0
- package/node_modules/ts-md5/src/parallel_hasher.ts +90 -0
- package/node_modules/ts-md5/src/worker.js +20 -0
- package/package.json +160 -0
- package/scripts/generate-index.js +52 -0
- package/setup.js +2 -0
- package/tfsec.json +4 -0
- package/util/compute.go +106 -0
- package/util/terraform.go +213 -0
- package/util/util.go +100 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { NetworkInterface } from "@cdktf/provider-azurerm/lib/network-interface";
|
|
2
|
+
import { ResourceGroup } from "@cdktf/provider-azurerm/lib/resource-group";
|
|
3
|
+
import { Subnet } from "@cdktf/provider-azurerm/lib/subnet";
|
|
4
|
+
import { Construct } from "constructs";
|
|
5
|
+
import { AzureResource } from "../../core-azure/lib";
|
|
6
|
+
/**
|
|
7
|
+
* Configuration properties for defining a rule within an Azure Network Security Group.
|
|
8
|
+
*/
|
|
9
|
+
export interface RuleConfig {
|
|
10
|
+
/**
|
|
11
|
+
* The name of the security rule.
|
|
12
|
+
*/
|
|
13
|
+
readonly name: string;
|
|
14
|
+
/**
|
|
15
|
+
* The priority of the rule. Lower numbers have higher priority. Allowed values are from 100 to 4096.
|
|
16
|
+
*/
|
|
17
|
+
readonly priority: number;
|
|
18
|
+
/**
|
|
19
|
+
* The direction of the rule, which can be 'Inbound' or 'Outbound'.
|
|
20
|
+
*/
|
|
21
|
+
readonly direction: string;
|
|
22
|
+
/**
|
|
23
|
+
* The access type of the rule, which determines whether the rule permits or denies traffic. Common values are 'Allow' or 'Deny'.
|
|
24
|
+
*/
|
|
25
|
+
readonly access: string;
|
|
26
|
+
/**
|
|
27
|
+
* The protocol to which the rule applies, such as 'Tcp', 'Udp', or '*' (for all protocols).
|
|
28
|
+
*/
|
|
29
|
+
readonly protocol: string;
|
|
30
|
+
/**
|
|
31
|
+
* The range of source ports to which the rule applies. Can be a single port or a range like '1024-2048'.
|
|
32
|
+
*/
|
|
33
|
+
readonly sourcePortRange: string;
|
|
34
|
+
/**
|
|
35
|
+
* The range of destination ports to which the rule applies. Can also be a single port or a range.
|
|
36
|
+
*/
|
|
37
|
+
readonly destinationPortRange: string;
|
|
38
|
+
/**
|
|
39
|
+
* The CIDR or source IP range or '*' to match any IP. This is the range of source IPs for which the rule applies.
|
|
40
|
+
*/
|
|
41
|
+
readonly sourceAddressPrefix: string;
|
|
42
|
+
/**
|
|
43
|
+
* The CIDR or destination IP range or '*' to match any IP. This specifies the range of destination IPs for which the rule is applicable.
|
|
44
|
+
*/
|
|
45
|
+
readonly destinationAddressPrefix: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Properties for defining an Azure Network Security Group.
|
|
49
|
+
*/
|
|
50
|
+
export interface SecurityGroupProps {
|
|
51
|
+
/**
|
|
52
|
+
* The name of the resource group under which the network security group will be created.
|
|
53
|
+
*/
|
|
54
|
+
readonly resourceGroup: ResourceGroup;
|
|
55
|
+
/**
|
|
56
|
+
* The Azure region in which to create the network security group, e.g., 'East US', 'West Europe'.
|
|
57
|
+
*/
|
|
58
|
+
readonly location: string;
|
|
59
|
+
/**
|
|
60
|
+
* The name of the network security group. Must be unique within the resource group.
|
|
61
|
+
*/
|
|
62
|
+
readonly name: string;
|
|
63
|
+
/**
|
|
64
|
+
* An array of rule configurations to be applied to the network security group.
|
|
65
|
+
*/
|
|
66
|
+
readonly rules: RuleConfig[];
|
|
67
|
+
}
|
|
68
|
+
export declare class SecurityGroup extends AzureResource {
|
|
69
|
+
readonly props: SecurityGroupProps;
|
|
70
|
+
id: string;
|
|
71
|
+
readonly name: string;
|
|
72
|
+
resourceGroup: ResourceGroup;
|
|
73
|
+
/**
|
|
74
|
+
* Represents an Azure Network Security Group (NSG).
|
|
75
|
+
*
|
|
76
|
+
* This class is responsible for the creation and management of an Azure Network Security Group, which acts as a virtual firewall
|
|
77
|
+
* for virtual network resources. A Network Security Group contains a list of security rules that allow or deny network traffic
|
|
78
|
+
* to resources connected to Azure Virtual Networks (VNet). Each rule specifies a combination of source and destination, port,
|
|
79
|
+
* and protocol, and an action (allow or deny) based on those combinations. This class allows for detailed configuration of these
|
|
80
|
+
* rules to enforce security policies for inbound and outbound network traffic.
|
|
81
|
+
*
|
|
82
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
83
|
+
* @param id - The unique identifier for this instance of the security group.
|
|
84
|
+
* @param props - The properties required to configure the Network Security Group, as defined in the SecurityGroupProps interface. These include:
|
|
85
|
+
* - `resourceGroup`: The Azure Resource Group under which the NSG will be deployed.
|
|
86
|
+
* - `location`: The Azure region where the NSG will be created.
|
|
87
|
+
* - `name`: The name of the NSG, which must be unique within the resource group.
|
|
88
|
+
* - `rules`: A list of rules that define the security policies for traffic control.
|
|
89
|
+
*
|
|
90
|
+
* Example usage:
|
|
91
|
+
* ```typescript
|
|
92
|
+
* new SecurityGroup(this, 'MySecurityGroup', {
|
|
93
|
+
* resourceGroup: myResourceGroup,
|
|
94
|
+
* location: 'East US',
|
|
95
|
+
* name: 'myNsg',
|
|
96
|
+
* rules: [{
|
|
97
|
+
* name: 'AllowSSH',
|
|
98
|
+
* priority: 100,
|
|
99
|
+
* direction: 'Inbound',
|
|
100
|
+
* access: 'Allow',
|
|
101
|
+
* protocol: 'Tcp',
|
|
102
|
+
* sourcePortRange: '*',
|
|
103
|
+
* destinationPortRange: '22',
|
|
104
|
+
* sourceAddressPrefix: '*',
|
|
105
|
+
* destinationAddressPrefix: '*'
|
|
106
|
+
* }]
|
|
107
|
+
* });
|
|
108
|
+
* ```
|
|
109
|
+
* This class initializes a Network Security Group with specified rules, handling network security management tasks efficiently.
|
|
110
|
+
*/
|
|
111
|
+
constructor(scope: Construct, id: string, props: SecurityGroupProps);
|
|
112
|
+
/**
|
|
113
|
+
* Associates this Network Security Group with a specified subnet.
|
|
114
|
+
*
|
|
115
|
+
* This method facilitates the attachment of the security group to a subnet, applying the security group's rules to all
|
|
116
|
+
* resources within the subnet. This is crucial for managing network access and security policies at the subnet level.
|
|
117
|
+
*
|
|
118
|
+
* @param subnet - The subnet object to which this network security group will be associated.
|
|
119
|
+
*
|
|
120
|
+
* Example usage:
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const mySubnet = { id: 'subnet-123', name: 'SubnetA' };
|
|
123
|
+
* mySecurityGroup.associateToSubnet(mySubnet);
|
|
124
|
+
* ```
|
|
125
|
+
* This operation ensures that the security rules defined in the network security group are enforced on all network interfaces
|
|
126
|
+
* attached to the specified subnet.
|
|
127
|
+
*/
|
|
128
|
+
associateToSubnet(subnet: Subnet): void;
|
|
129
|
+
/**
|
|
130
|
+
* Associates this Network Security Group with a specified network interface.
|
|
131
|
+
*
|
|
132
|
+
* This method attaches the security group to a network interface, applying the security group's rules to the network interface.
|
|
133
|
+
* This allows for fine-grained control of network traffic to and from the specific network interface.
|
|
134
|
+
*
|
|
135
|
+
* @param networkInterface - The network interface object to which this network security group will be associated.
|
|
136
|
+
*
|
|
137
|
+
* Example usage:
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const myNetworkInterface = { id: 'nic-456', name: 'NetworkInterfaceA' };
|
|
140
|
+
* mySecurityGroup.associateToNetworkInterface(myNetworkInterface);
|
|
141
|
+
* ```
|
|
142
|
+
* This operation ensures that the security rules defined in the network security group are applied directly to the specified
|
|
143
|
+
* network interface, controlling access in a more targeted manner.
|
|
144
|
+
*/
|
|
145
|
+
associateToNetworkInterface(networkInterface: NetworkInterface): void;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Properties for associating Azure Network Security Groups with subnets and network interfaces.
|
|
149
|
+
*/
|
|
150
|
+
export interface SecurityGroupAssociationsProps {
|
|
151
|
+
/**
|
|
152
|
+
* The ID of the network security group to be associated.
|
|
153
|
+
*/
|
|
154
|
+
readonly networkSecurityGroupId: string;
|
|
155
|
+
/**
|
|
156
|
+
* Optional subnet ID to associate with the network security group.
|
|
157
|
+
* If provided, the security group will be associated with this subnet.
|
|
158
|
+
*/
|
|
159
|
+
readonly subnetId?: string;
|
|
160
|
+
/**
|
|
161
|
+
* Optional network interface ID to associate with the network security group.
|
|
162
|
+
* If provided, the security group will be associated with this network interface.
|
|
163
|
+
*/
|
|
164
|
+
readonly networkInterfaceId?: string;
|
|
165
|
+
}
|
|
166
|
+
export declare class SecurityGroupAssociations extends Construct {
|
|
167
|
+
/**
|
|
168
|
+
* Manages the associations of Azure Network Security Groups with subnets and network interfaces.
|
|
169
|
+
*
|
|
170
|
+
* This class provides the functionality to associate a network security group with either subnets or network interfaces
|
|
171
|
+
* within the Azure environment. By managing these associations, it helps enforce security rules at both the subnet level
|
|
172
|
+
* and the network interface level, enhancing security configurations and compliance.
|
|
173
|
+
*
|
|
174
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
175
|
+
* @param id - The unique identifier for the association instance.
|
|
176
|
+
* @param props - The properties for the association. Includes the network security group ID and optionally a subnet ID or network interface ID.
|
|
177
|
+
*
|
|
178
|
+
* Example usage:
|
|
179
|
+
* ```typescript
|
|
180
|
+
* new SecurityGroupAssociations(this, 'MyAssociations', {
|
|
181
|
+
* networkSecurityGroupId: 'nsg-123',
|
|
182
|
+
* subnetId: 'subnet-123',
|
|
183
|
+
* networkInterfaceId: 'nic-456',
|
|
184
|
+
* });
|
|
185
|
+
* ```
|
|
186
|
+
* Depending on the properties provided, this class will create the appropriate associations to apply the network security group
|
|
187
|
+
* to the specified subnet or network interface.
|
|
188
|
+
*/
|
|
189
|
+
constructor(scope: Construct, id: string, props: SecurityGroupAssociationsProps);
|
|
190
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SecurityGroupAssociations = exports.SecurityGroup = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const network_interface_security_group_association_1 = require("@cdktf/provider-azurerm/lib/network-interface-security-group-association");
|
|
7
|
+
const network_security_group_1 = require("@cdktf/provider-azurerm/lib/network-security-group");
|
|
8
|
+
const network_security_rule_1 = require("@cdktf/provider-azurerm/lib/network-security-rule");
|
|
9
|
+
const subnet_network_security_group_association_1 = require("@cdktf/provider-azurerm/lib/subnet-network-security-group-association");
|
|
10
|
+
const constructs_1 = require("constructs");
|
|
11
|
+
const lib_1 = require("../../core-azure/lib");
|
|
12
|
+
class SecurityGroup extends lib_1.AzureResource {
|
|
13
|
+
/**
|
|
14
|
+
* Represents an Azure Network Security Group (NSG).
|
|
15
|
+
*
|
|
16
|
+
* This class is responsible for the creation and management of an Azure Network Security Group, which acts as a virtual firewall
|
|
17
|
+
* for virtual network resources. A Network Security Group contains a list of security rules that allow or deny network traffic
|
|
18
|
+
* to resources connected to Azure Virtual Networks (VNet). Each rule specifies a combination of source and destination, port,
|
|
19
|
+
* and protocol, and an action (allow or deny) based on those combinations. This class allows for detailed configuration of these
|
|
20
|
+
* rules to enforce security policies for inbound and outbound network traffic.
|
|
21
|
+
*
|
|
22
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
23
|
+
* @param id - The unique identifier for this instance of the security group.
|
|
24
|
+
* @param props - The properties required to configure the Network Security Group, as defined in the SecurityGroupProps interface. These include:
|
|
25
|
+
* - `resourceGroup`: The Azure Resource Group under which the NSG will be deployed.
|
|
26
|
+
* - `location`: The Azure region where the NSG will be created.
|
|
27
|
+
* - `name`: The name of the NSG, which must be unique within the resource group.
|
|
28
|
+
* - `rules`: A list of rules that define the security policies for traffic control.
|
|
29
|
+
*
|
|
30
|
+
* Example usage:
|
|
31
|
+
* ```typescript
|
|
32
|
+
* new SecurityGroup(this, 'MySecurityGroup', {
|
|
33
|
+
* resourceGroup: myResourceGroup,
|
|
34
|
+
* location: 'East US',
|
|
35
|
+
* name: 'myNsg',
|
|
36
|
+
* rules: [{
|
|
37
|
+
* name: 'AllowSSH',
|
|
38
|
+
* priority: 100,
|
|
39
|
+
* direction: 'Inbound',
|
|
40
|
+
* access: 'Allow',
|
|
41
|
+
* protocol: 'Tcp',
|
|
42
|
+
* sourcePortRange: '*',
|
|
43
|
+
* destinationPortRange: '22',
|
|
44
|
+
* sourceAddressPrefix: '*',
|
|
45
|
+
* destinationAddressPrefix: '*'
|
|
46
|
+
* }]
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
* This class initializes a Network Security Group with specified rules, handling network security management tasks efficiently.
|
|
50
|
+
*/
|
|
51
|
+
constructor(scope, id, props) {
|
|
52
|
+
super(scope, id);
|
|
53
|
+
this.props = props;
|
|
54
|
+
this.resourceGroup = props.resourceGroup;
|
|
55
|
+
// Create a network security group
|
|
56
|
+
const nsg = new network_security_group_1.NetworkSecurityGroup(this, "nsg", {
|
|
57
|
+
name: props.name,
|
|
58
|
+
resourceGroupName: props.resourceGroup.name,
|
|
59
|
+
location: props.location,
|
|
60
|
+
});
|
|
61
|
+
// Create security rules within the network security group
|
|
62
|
+
for (const ruleConfig of props.rules) {
|
|
63
|
+
new network_security_rule_1.NetworkSecurityRule(this, ruleConfig.name, {
|
|
64
|
+
name: ruleConfig.name,
|
|
65
|
+
resourceGroupName: props.resourceGroup.name,
|
|
66
|
+
networkSecurityGroupName: nsg.name,
|
|
67
|
+
priority: ruleConfig.priority,
|
|
68
|
+
direction: ruleConfig.direction,
|
|
69
|
+
access: ruleConfig.access,
|
|
70
|
+
protocol: ruleConfig.protocol,
|
|
71
|
+
sourcePortRange: ruleConfig.sourcePortRange,
|
|
72
|
+
destinationPortRange: ruleConfig.destinationPortRange,
|
|
73
|
+
sourceAddressPrefix: ruleConfig.sourceAddressPrefix,
|
|
74
|
+
destinationAddressPrefix: ruleConfig.destinationAddressPrefix,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
this.id = nsg.id;
|
|
78
|
+
this.name = nsg.name;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Associates this Network Security Group with a specified subnet.
|
|
82
|
+
*
|
|
83
|
+
* This method facilitates the attachment of the security group to a subnet, applying the security group's rules to all
|
|
84
|
+
* resources within the subnet. This is crucial for managing network access and security policies at the subnet level.
|
|
85
|
+
*
|
|
86
|
+
* @param subnet - The subnet object to which this network security group will be associated.
|
|
87
|
+
*
|
|
88
|
+
* Example usage:
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const mySubnet = { id: 'subnet-123', name: 'SubnetA' };
|
|
91
|
+
* mySecurityGroup.associateToSubnet(mySubnet);
|
|
92
|
+
* ```
|
|
93
|
+
* This operation ensures that the security rules defined in the network security group are enforced on all network interfaces
|
|
94
|
+
* attached to the specified subnet.
|
|
95
|
+
*/
|
|
96
|
+
associateToSubnet(subnet) {
|
|
97
|
+
new SecurityGroupAssociations(this, subnet.name, {
|
|
98
|
+
subnetId: subnet.id,
|
|
99
|
+
networkSecurityGroupId: this.id,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Associates this Network Security Group with a specified network interface.
|
|
104
|
+
*
|
|
105
|
+
* This method attaches the security group to a network interface, applying the security group's rules to the network interface.
|
|
106
|
+
* This allows for fine-grained control of network traffic to and from the specific network interface.
|
|
107
|
+
*
|
|
108
|
+
* @param networkInterface - The network interface object to which this network security group will be associated.
|
|
109
|
+
*
|
|
110
|
+
* Example usage:
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const myNetworkInterface = { id: 'nic-456', name: 'NetworkInterfaceA' };
|
|
113
|
+
* mySecurityGroup.associateToNetworkInterface(myNetworkInterface);
|
|
114
|
+
* ```
|
|
115
|
+
* This operation ensures that the security rules defined in the network security group are applied directly to the specified
|
|
116
|
+
* network interface, controlling access in a more targeted manner.
|
|
117
|
+
*/
|
|
118
|
+
associateToNetworkInterface(networkInterface) {
|
|
119
|
+
new SecurityGroupAssociations(this, networkInterface.name, {
|
|
120
|
+
networkInterfaceId: networkInterface.id,
|
|
121
|
+
networkSecurityGroupId: this.id,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.SecurityGroup = SecurityGroup;
|
|
126
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
127
|
+
SecurityGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.SecurityGroup", version: "0.0.3-pre.10" };
|
|
128
|
+
class SecurityGroupAssociations extends constructs_1.Construct {
|
|
129
|
+
/**
|
|
130
|
+
* Manages the associations of Azure Network Security Groups with subnets and network interfaces.
|
|
131
|
+
*
|
|
132
|
+
* This class provides the functionality to associate a network security group with either subnets or network interfaces
|
|
133
|
+
* within the Azure environment. By managing these associations, it helps enforce security rules at both the subnet level
|
|
134
|
+
* and the network interface level, enhancing security configurations and compliance.
|
|
135
|
+
*
|
|
136
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
137
|
+
* @param id - The unique identifier for the association instance.
|
|
138
|
+
* @param props - The properties for the association. Includes the network security group ID and optionally a subnet ID or network interface ID.
|
|
139
|
+
*
|
|
140
|
+
* Example usage:
|
|
141
|
+
* ```typescript
|
|
142
|
+
* new SecurityGroupAssociations(this, 'MyAssociations', {
|
|
143
|
+
* networkSecurityGroupId: 'nsg-123',
|
|
144
|
+
* subnetId: 'subnet-123',
|
|
145
|
+
* networkInterfaceId: 'nic-456',
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
148
|
+
* Depending on the properties provided, this class will create the appropriate associations to apply the network security group
|
|
149
|
+
* to the specified subnet or network interface.
|
|
150
|
+
*/
|
|
151
|
+
constructor(scope, id, props) {
|
|
152
|
+
super(scope, id);
|
|
153
|
+
// If subnetId is provided, create a SubnetNetworkSecurityGroupAssociation
|
|
154
|
+
if (props.subnetId) {
|
|
155
|
+
new subnet_network_security_group_association_1.SubnetNetworkSecurityGroupAssociation(this, "subassociation", {
|
|
156
|
+
subnetId: props.subnetId,
|
|
157
|
+
networkSecurityGroupId: props.networkSecurityGroupId,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
// If networkInterfaceId is provided, create a NetworkInterfaceSecurityGroupAssociation
|
|
161
|
+
if (props.networkInterfaceId) {
|
|
162
|
+
new network_interface_security_group_association_1.NetworkInterfaceSecurityGroupAssociation(this, "nicassociation", {
|
|
163
|
+
networkInterfaceId: props.networkInterfaceId,
|
|
164
|
+
networkSecurityGroupId: props.networkSecurityGroupId,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.SecurityGroupAssociations = SecurityGroupAssociations;
|
|
170
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
171
|
+
SecurityGroupAssociations[_b] = { fqn: "@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.SecurityGroupAssociations", version: "0.0.3-pre.10" };
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1uZXR3b3Jrc2VjdXJpdHlncm91cC9saWIvc2VjdXJpdHlncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDJJQUFvSTtBQUNwSSwrRkFBMEY7QUFDMUYsNkZBQXdGO0FBR3hGLHFJQUE4SDtBQUM5SCwyQ0FBdUM7QUFDdkMsOENBQXFEO0FBNkVyRCxNQUFhLGFBQWMsU0FBUSxtQkFBYTtJQU05Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFDRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFFekMsa0NBQWtDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksNkNBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtZQUNoRCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO1lBQzNDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtTQUN6QixDQUFDLENBQUM7UUFFSCwwREFBMEQ7UUFDMUQsS0FBSyxNQUFNLFVBQVUsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3BDLElBQUksMkNBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQzdDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2dCQUMzQyx3QkFBd0IsRUFBRSxHQUFHLENBQUMsSUFBSTtnQkFDbEMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO2dCQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7Z0JBQy9CLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO2dCQUM3QixlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWU7Z0JBQzNDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxvQkFBb0I7Z0JBQ3JELG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxtQkFBbUI7Z0JBQ25ELHdCQUF3QixFQUFFLFVBQVUsQ0FBQyx3QkFBd0I7YUFDOUQsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSSxpQkFBaUIsQ0FBQyxNQUFjO1FBQ3JDLElBQUkseUJBQXlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDL0MsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ25CLHNCQUFzQixFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSSwyQkFBMkIsQ0FBQyxnQkFBa0M7UUFDbkUsSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQ3pELGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLEVBQUU7WUFDdkMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUExSEgsc0NBMkhDOzs7QUF3QkQsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQUN0RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BcUJHO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBcUM7UUFFckMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQiwwRUFBMEU7UUFDMUUsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksaUZBQXFDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUNoRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3hCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7YUFDckQsQ0FBQyxDQUFDO1NBQ0o7UUFFRCx1RkFBdUY7UUFDdkYsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUU7WUFDNUIsSUFBSSx1RkFBd0MsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ25FLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7Z0JBQzVDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7YUFDckQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQTVDSCw4REE2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXR3b3JrSW50ZXJmYWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9uZXR3b3JrLWludGVyZmFjZVwiOyAvLyBJbXBvcnQgdGhlIE5ldHdvcmtJbnRlcmZhY2UgY2xhc3NcbmltcG9ydCB7IE5ldHdvcmtJbnRlcmZhY2VTZWN1cml0eUdyb3VwQXNzb2NpYXRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL25ldHdvcmstaW50ZXJmYWNlLXNlY3VyaXR5LWdyb3VwLWFzc29jaWF0aW9uXCI7XG5pbXBvcnQgeyBOZXR3b3JrU2VjdXJpdHlHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbmV0d29yay1zZWN1cml0eS1ncm91cFwiO1xuaW1wb3J0IHsgTmV0d29ya1NlY3VyaXR5UnVsZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbmV0d29yay1zZWN1cml0eS1ydWxlXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdWJuZXRcIjtcbmltcG9ydCB7IFN1Ym5ldE5ldHdvcmtTZWN1cml0eUdyb3VwQXNzb2NpYXRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N1Ym5ldC1uZXR3b3JrLXNlY3VyaXR5LWdyb3VwLWFzc29jaWF0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXp1cmVSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYlwiO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYSBydWxlIHdpdGhpbiBhbiBBenVyZSBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVDb25maWcge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlY3VyaXR5IHJ1bGUuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBvZiB0aGUgcnVsZS4gTG93ZXIgbnVtYmVycyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gQWxsb3dlZCB2YWx1ZXMgYXJlIGZyb20gMTAwIHRvIDQwOTYuXG4gICAqL1xuICByZWFkb25seSBwcmlvcml0eTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0aW9uIG9mIHRoZSBydWxlLCB3aGljaCBjYW4gYmUgJ0luYm91bmQnIG9yICdPdXRib3VuZCcuXG4gICAqL1xuICByZWFkb25seSBkaXJlY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFjY2VzcyB0eXBlIG9mIHRoZSBydWxlLCB3aGljaCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHJ1bGUgcGVybWl0cyBvciBkZW5pZXMgdHJhZmZpYy4gQ29tbW9uIHZhbHVlcyBhcmUgJ0FsbG93JyBvciAnRGVueScuXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3RvY29sIHRvIHdoaWNoIHRoZSBydWxlIGFwcGxpZXMsIHN1Y2ggYXMgJ1RjcCcsICdVZHAnLCBvciAnKicgKGZvciBhbGwgcHJvdG9jb2xzKS5cbiAgICovXG4gIHJlYWRvbmx5IHByb3RvY29sOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByYW5nZSBvZiBzb3VyY2UgcG9ydHMgdG8gd2hpY2ggdGhlIHJ1bGUgYXBwbGllcy4gQ2FuIGJlIGEgc2luZ2xlIHBvcnQgb3IgYSByYW5nZSBsaWtlICcxMDI0LTIwNDgnLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlUG9ydFJhbmdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByYW5nZSBvZiBkZXN0aW5hdGlvbiBwb3J0cyB0byB3aGljaCB0aGUgcnVsZSBhcHBsaWVzLiBDYW4gYWxzbyBiZSBhIHNpbmdsZSBwb3J0IG9yIGEgcmFuZ2UuXG4gICAqL1xuICByZWFkb25seSBkZXN0aW5hdGlvblBvcnRSYW5nZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ0lEUiBvciBzb3VyY2UgSVAgcmFuZ2Ugb3IgJyonIHRvIG1hdGNoIGFueSBJUC4gVGhpcyBpcyB0aGUgcmFuZ2Ugb2Ygc291cmNlIElQcyBmb3Igd2hpY2ggdGhlIHJ1bGUgYXBwbGllcy5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUFkZHJlc3NQcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIENJRFIgb3IgZGVzdGluYXRpb24gSVAgcmFuZ2Ugb3IgJyonIHRvIG1hdGNoIGFueSBJUC4gVGhpcyBzcGVjaWZpZXMgdGhlIHJhbmdlIG9mIGRlc3RpbmF0aW9uIElQcyBmb3Igd2hpY2ggdGhlIHJ1bGUgaXMgYXBwbGljYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uQWRkcmVzc1ByZWZpeDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGFuIEF6dXJlIE5ldHdvcmsgU2VjdXJpdHkgR3JvdXAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlHcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSBncm91cCB1bmRlciB3aGljaCB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuXG4gIC8qKlxuICAgKiBUaGUgQXp1cmUgcmVnaW9uIGluIHdoaWNoIHRvIGNyZWF0ZSB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cCwgZS5nLiwgJ0Vhc3QgVVMnLCAnV2VzdCBFdXJvcGUnLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG5ldHdvcmsgc2VjdXJpdHkgZ3JvdXAuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcmVzb3VyY2UgZ3JvdXAuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHJ1bGUgY29uZmlndXJhdGlvbnMgdG8gYmUgYXBwbGllZCB0byB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cC5cbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzOiBSdWxlQ29uZmlnW107XG59XG5cbmV4cG9ydCBjbGFzcyBTZWN1cml0eUdyb3VwIGV4dGVuZHMgQXp1cmVSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHByb3BzOiBTZWN1cml0eUdyb3VwUHJvcHM7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyBhbiBBenVyZSBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwIChOU0cpLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgYW4gQXp1cmUgTmV0d29yayBTZWN1cml0eSBHcm91cCwgd2hpY2ggYWN0cyBhcyBhIHZpcnR1YWwgZmlyZXdhbGxcbiAgICogZm9yIHZpcnR1YWwgbmV0d29yayByZXNvdXJjZXMuIEEgTmV0d29yayBTZWN1cml0eSBHcm91cCBjb250YWlucyBhIGxpc3Qgb2Ygc2VjdXJpdHkgcnVsZXMgdGhhdCBhbGxvdyBvciBkZW55IG5ldHdvcmsgdHJhZmZpY1xuICAgKiB0byByZXNvdXJjZXMgY29ubmVjdGVkIHRvIEF6dXJlIFZpcnR1YWwgTmV0d29ya3MgKFZOZXQpLiBFYWNoIHJ1bGUgc3BlY2lmaWVzIGEgY29tYmluYXRpb24gb2Ygc291cmNlIGFuZCBkZXN0aW5hdGlvbiwgcG9ydCxcbiAgICogYW5kIHByb3RvY29sLCBhbmQgYW4gYWN0aW9uIChhbGxvdyBvciBkZW55KSBiYXNlZCBvbiB0aG9zZSBjb21iaW5hdGlvbnMuIFRoaXMgY2xhc3MgYWxsb3dzIGZvciBkZXRhaWxlZCBjb25maWd1cmF0aW9uIG9mIHRoZXNlXG4gICAqIHJ1bGVzIHRvIGVuZm9yY2Ugc2VjdXJpdHkgcG9saWNpZXMgZm9yIGluYm91bmQgYW5kIG91dGJvdW5kIG5ldHdvcmsgdHJhZmZpYy5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdCwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0IChDREspIHN0YWNrLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIHNlY3VyaXR5IGdyb3VwLlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcHJvcGVydGllcyByZXF1aXJlZCB0byBjb25maWd1cmUgdGhlIE5ldHdvcmsgU2VjdXJpdHkgR3JvdXAsIGFzIGRlZmluZWQgaW4gdGhlIFNlY3VyaXR5R3JvdXBQcm9wcyBpbnRlcmZhY2UuIFRoZXNlIGluY2x1ZGU6XG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBUaGUgQXp1cmUgUmVzb3VyY2UgR3JvdXAgdW5kZXIgd2hpY2ggdGhlIE5TRyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2NhdGlvbmA6IFRoZSBBenVyZSByZWdpb24gd2hlcmUgdGhlIE5TRyB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgTlNHLCB3aGljaCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHJlc291cmNlIGdyb3VwLlxuICAgKiAgICAgICAgICAgICAgICAtIGBydWxlc2A6IEEgbGlzdCBvZiBydWxlcyB0aGF0IGRlZmluZSB0aGUgc2VjdXJpdHkgcG9saWNpZXMgZm9yIHRyYWZmaWMgY29udHJvbC5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBuZXcgU2VjdXJpdHlHcm91cCh0aGlzLCAnTXlTZWN1cml0eUdyb3VwJywge1xuICAgKiAgIHJlc291cmNlR3JvdXA6IG15UmVzb3VyY2VHcm91cCxcbiAgICogICBsb2NhdGlvbjogJ0Vhc3QgVVMnLFxuICAgKiAgIG5hbWU6ICdteU5zZycsXG4gICAqICAgcnVsZXM6IFt7XG4gICAqICAgICBuYW1lOiAnQWxsb3dTU0gnLFxuICAgKiAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICogICAgIGRpcmVjdGlvbjogJ0luYm91bmQnLFxuICAgKiAgICAgYWNjZXNzOiAnQWxsb3cnLFxuICAgKiAgICAgcHJvdG9jb2w6ICdUY3AnLFxuICAgKiAgICAgc291cmNlUG9ydFJhbmdlOiAnKicsXG4gICAqICAgICBkZXN0aW5hdGlvblBvcnRSYW5nZTogJzIyJyxcbiAgICogICAgIHNvdXJjZUFkZHJlc3NQcmVmaXg6ICcqJyxcbiAgICogICAgIGRlc3RpbmF0aW9uQWRkcmVzc1ByZWZpeDogJyonXG4gICAqICAgfV1cbiAgICogfSk7XG4gICAqIGBgYFxuICAgKiBUaGlzIGNsYXNzIGluaXRpYWxpemVzIGEgTmV0d29yayBTZWN1cml0eSBHcm91cCB3aXRoIHNwZWNpZmllZCBydWxlcywgaGFuZGxpbmcgbmV0d29yayBzZWN1cml0eSBtYW5hZ2VtZW50IHRhc2tzIGVmZmljaWVudGx5LlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNlY3VyaXR5R3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5yZXNvdXJjZUdyb3VwID0gcHJvcHMucmVzb3VyY2VHcm91cDtcblxuICAgIC8vIENyZWF0ZSBhIG5ldHdvcmsgc2VjdXJpdHkgZ3JvdXBcbiAgICBjb25zdCBuc2cgPSBuZXcgTmV0d29ya1NlY3VyaXR5R3JvdXAodGhpcywgXCJuc2dcIiwge1xuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24sXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgc2VjdXJpdHkgcnVsZXMgd2l0aGluIHRoZSBuZXR3b3JrIHNlY3VyaXR5IGdyb3VwXG4gICAgZm9yIChjb25zdCBydWxlQ29uZmlnIG9mIHByb3BzLnJ1bGVzKSB7XG4gICAgICBuZXcgTmV0d29ya1NlY3VyaXR5UnVsZSh0aGlzLCBydWxlQ29uZmlnLm5hbWUsIHtcbiAgICAgICAgbmFtZTogcnVsZUNvbmZpZy5uYW1lLFxuICAgICAgICByZXNvdXJjZUdyb3VwTmFtZTogcHJvcHMucmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgICBuZXR3b3JrU2VjdXJpdHlHcm91cE5hbWU6IG5zZy5uYW1lLFxuICAgICAgICBwcmlvcml0eTogcnVsZUNvbmZpZy5wcmlvcml0eSxcbiAgICAgICAgZGlyZWN0aW9uOiBydWxlQ29uZmlnLmRpcmVjdGlvbixcbiAgICAgICAgYWNjZXNzOiBydWxlQ29uZmlnLmFjY2VzcyxcbiAgICAgICAgcHJvdG9jb2w6IHJ1bGVDb25maWcucHJvdG9jb2wsXG4gICAgICAgIHNvdXJjZVBvcnRSYW5nZTogcnVsZUNvbmZpZy5zb3VyY2VQb3J0UmFuZ2UsXG4gICAgICAgIGRlc3RpbmF0aW9uUG9ydFJhbmdlOiBydWxlQ29uZmlnLmRlc3RpbmF0aW9uUG9ydFJhbmdlLFxuICAgICAgICBzb3VyY2VBZGRyZXNzUHJlZml4OiBydWxlQ29uZmlnLnNvdXJjZUFkZHJlc3NQcmVmaXgsXG4gICAgICAgIGRlc3RpbmF0aW9uQWRkcmVzc1ByZWZpeDogcnVsZUNvbmZpZy5kZXN0aW5hdGlvbkFkZHJlc3NQcmVmaXgsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmlkID0gbnNnLmlkO1xuICAgIHRoaXMubmFtZSA9IG5zZy5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZXMgdGhpcyBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwIHdpdGggYSBzcGVjaWZpZWQgc3VibmV0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBmYWNpbGl0YXRlcyB0aGUgYXR0YWNobWVudCBvZiB0aGUgc2VjdXJpdHkgZ3JvdXAgdG8gYSBzdWJuZXQsIGFwcGx5aW5nIHRoZSBzZWN1cml0eSBncm91cCdzIHJ1bGVzIHRvIGFsbFxuICAgKiByZXNvdXJjZXMgd2l0aGluIHRoZSBzdWJuZXQuIFRoaXMgaXMgY3J1Y2lhbCBmb3IgbWFuYWdpbmcgbmV0d29yayBhY2Nlc3MgYW5kIHNlY3VyaXR5IHBvbGljaWVzIGF0IHRoZSBzdWJuZXQgbGV2ZWwuXG4gICAqXG4gICAqIEBwYXJhbSBzdWJuZXQgLSBUaGUgc3VibmV0IG9iamVjdCB0byB3aGljaCB0aGlzIG5ldHdvcmsgc2VjdXJpdHkgZ3JvdXAgd2lsbCBiZSBhc3NvY2lhdGVkLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IG15U3VibmV0ID0geyBpZDogJ3N1Ym5ldC0xMjMnLCBuYW1lOiAnU3VibmV0QScgfTtcbiAgICogbXlTZWN1cml0eUdyb3VwLmFzc29jaWF0ZVRvU3VibmV0KG15U3VibmV0KTtcbiAgICogYGBgXG4gICAqIFRoaXMgb3BlcmF0aW9uIGVuc3VyZXMgdGhhdCB0aGUgc2VjdXJpdHkgcnVsZXMgZGVmaW5lZCBpbiB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cCBhcmUgZW5mb3JjZWQgb24gYWxsIG5ldHdvcmsgaW50ZXJmYWNlc1xuICAgKiBhdHRhY2hlZCB0byB0aGUgc3BlY2lmaWVkIHN1Ym5ldC5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVUb1N1Ym5ldChzdWJuZXQ6IFN1Ym5ldCkge1xuICAgIG5ldyBTZWN1cml0eUdyb3VwQXNzb2NpYXRpb25zKHRoaXMsIHN1Ym5ldC5uYW1lLCB7XG4gICAgICBzdWJuZXRJZDogc3VibmV0LmlkLFxuICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXBJZDogdGhpcy5pZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGVzIHRoaXMgTmV0d29yayBTZWN1cml0eSBHcm91cCB3aXRoIGEgc3BlY2lmaWVkIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhdHRhY2hlcyB0aGUgc2VjdXJpdHkgZ3JvdXAgdG8gYSBuZXR3b3JrIGludGVyZmFjZSwgYXBwbHlpbmcgdGhlIHNlY3VyaXR5IGdyb3VwJ3MgcnVsZXMgdG8gdGhlIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKiBUaGlzIGFsbG93cyBmb3IgZmluZS1ncmFpbmVkIGNvbnRyb2wgb2YgbmV0d29yayB0cmFmZmljIHRvIGFuZCBmcm9tIHRoZSBzcGVjaWZpYyBuZXR3b3JrIGludGVyZmFjZS5cbiAgICpcbiAgICogQHBhcmFtIG5ldHdvcmtJbnRlcmZhY2UgLSBUaGUgbmV0d29yayBpbnRlcmZhY2Ugb2JqZWN0IHRvIHdoaWNoIHRoaXMgbmV0d29yayBzZWN1cml0eSBncm91cCB3aWxsIGJlIGFzc29jaWF0ZWQuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgbXlOZXR3b3JrSW50ZXJmYWNlID0geyBpZDogJ25pYy00NTYnLCBuYW1lOiAnTmV0d29ya0ludGVyZmFjZUEnIH07XG4gICAqIG15U2VjdXJpdHlHcm91cC5hc3NvY2lhdGVUb05ldHdvcmtJbnRlcmZhY2UobXlOZXR3b3JrSW50ZXJmYWNlKTtcbiAgICogYGBgXG4gICAqIFRoaXMgb3BlcmF0aW9uIGVuc3VyZXMgdGhhdCB0aGUgc2VjdXJpdHkgcnVsZXMgZGVmaW5lZCBpbiB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cCBhcmUgYXBwbGllZCBkaXJlY3RseSB0byB0aGUgc3BlY2lmaWVkXG4gICAqIG5ldHdvcmsgaW50ZXJmYWNlLCBjb250cm9sbGluZyBhY2Nlc3MgaW4gYSBtb3JlIHRhcmdldGVkIG1hbm5lci5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVUb05ldHdvcmtJbnRlcmZhY2UobmV0d29ya0ludGVyZmFjZTogTmV0d29ya0ludGVyZmFjZSkge1xuICAgIG5ldyBTZWN1cml0eUdyb3VwQXNzb2NpYXRpb25zKHRoaXMsIG5ldHdvcmtJbnRlcmZhY2UubmFtZSwge1xuICAgICAgbmV0d29ya0ludGVyZmFjZUlkOiBuZXR3b3JrSW50ZXJmYWNlLmlkLFxuICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXBJZDogdGhpcy5pZCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGFzc29jaWF0aW5nIEF6dXJlIE5ldHdvcmsgU2VjdXJpdHkgR3JvdXBzIHdpdGggc3VibmV0cyBhbmQgbmV0d29yayBpbnRlcmZhY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5R3JvdXBBc3NvY2lhdGlvbnNQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIG5ldHdvcmsgc2VjdXJpdHkgZ3JvdXAgdG8gYmUgYXNzb2NpYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtTZWN1cml0eUdyb3VwSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgc3VibmV0IElEIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBuZXR3b3JrIHNlY3VyaXR5IGdyb3VwLlxuICAgKiBJZiBwcm92aWRlZCwgdGhlIHNlY3VyaXR5IGdyb3VwIHdpbGwgYmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3VibmV0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5ldHdvcmsgaW50ZXJmYWNlIElEIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBuZXR3b3JrIHNlY3VyaXR5IGdyb3VwLlxuICAgKiBJZiBwcm92aWRlZCwgdGhlIHNlY3VyaXR5IGdyb3VwIHdpbGwgYmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbmV0d29yayBpbnRlcmZhY2UuXG4gICAqL1xuICByZWFkb25seSBuZXR3b3JrSW50ZXJmYWNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTZWN1cml0eUdyb3VwQXNzb2NpYXRpb25zIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIE1hbmFnZXMgdGhlIGFzc29jaWF0aW9ucyBvZiBBenVyZSBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwcyB3aXRoIHN1Ym5ldHMgYW5kIG5ldHdvcmsgaW50ZXJmYWNlcy5cbiAgICpcbiAgICogVGhpcyBjbGFzcyBwcm92aWRlcyB0aGUgZnVuY3Rpb25hbGl0eSB0byBhc3NvY2lhdGUgYSBuZXR3b3JrIHNlY3VyaXR5IGdyb3VwIHdpdGggZWl0aGVyIHN1Ym5ldHMgb3IgbmV0d29yayBpbnRlcmZhY2VzXG4gICAqIHdpdGhpbiB0aGUgQXp1cmUgZW52aXJvbm1lbnQuIEJ5IG1hbmFnaW5nIHRoZXNlIGFzc29jaWF0aW9ucywgaXQgaGVscHMgZW5mb3JjZSBzZWN1cml0eSBydWxlcyBhdCBib3RoIHRoZSBzdWJuZXQgbGV2ZWxcbiAgICogYW5kIHRoZSBuZXR3b3JrIGludGVyZmFjZSBsZXZlbCwgZW5oYW5jaW5nIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb25zIGFuZCBjb21wbGlhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LCB0eXBpY2FsbHkgcmVwcmVzZW50aW5nIHRoZSBDbG91ZCBEZXZlbG9wbWVudCBLaXQgKENESykgc3RhY2suXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGFzc29jaWF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcHJvcGVydGllcyBmb3IgdGhlIGFzc29jaWF0aW9uLiBJbmNsdWRlcyB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cCBJRCBhbmQgb3B0aW9uYWxseSBhIHN1Ym5ldCBJRCBvciBuZXR3b3JrIGludGVyZmFjZSBJRC5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBuZXcgU2VjdXJpdHlHcm91cEFzc29jaWF0aW9ucyh0aGlzLCAnTXlBc3NvY2lhdGlvbnMnLCB7XG4gICAqICAgbmV0d29ya1NlY3VyaXR5R3JvdXBJZDogJ25zZy0xMjMnLFxuICAgKiAgIHN1Ym5ldElkOiAnc3VibmV0LTEyMycsXG4gICAqICAgbmV0d29ya0ludGVyZmFjZUlkOiAnbmljLTQ1NicsXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICogRGVwZW5kaW5nIG9uIHRoZSBwcm9wZXJ0aWVzIHByb3ZpZGVkLCB0aGlzIGNsYXNzIHdpbGwgY3JlYXRlIHRoZSBhcHByb3ByaWF0ZSBhc3NvY2lhdGlvbnMgdG8gYXBwbHkgdGhlIG5ldHdvcmsgc2VjdXJpdHkgZ3JvdXBcbiAgICogdG8gdGhlIHNwZWNpZmllZCBzdWJuZXQgb3IgbmV0d29yayBpbnRlcmZhY2UuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFNlY3VyaXR5R3JvdXBBc3NvY2lhdGlvbnNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBJZiBzdWJuZXRJZCBpcyBwcm92aWRlZCwgY3JlYXRlIGEgU3VibmV0TmV0d29ya1NlY3VyaXR5R3JvdXBBc3NvY2lhdGlvblxuICAgIGlmIChwcm9wcy5zdWJuZXRJZCkge1xuICAgICAgbmV3IFN1Ym5ldE5ldHdvcmtTZWN1cml0eUdyb3VwQXNzb2NpYXRpb24odGhpcywgXCJzdWJhc3NvY2lhdGlvblwiLCB7XG4gICAgICAgIHN1Ym5ldElkOiBwcm9wcy5zdWJuZXRJZCxcbiAgICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXBJZDogcHJvcHMubmV0d29ya1NlY3VyaXR5R3JvdXBJZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIG5ldHdvcmtJbnRlcmZhY2VJZCBpcyBwcm92aWRlZCwgY3JlYXRlIGEgTmV0d29ya0ludGVyZmFjZVNlY3VyaXR5R3JvdXBBc3NvY2lhdGlvblxuICAgIGlmIChwcm9wcy5uZXR3b3JrSW50ZXJmYWNlSWQpIHtcbiAgICAgIG5ldyBOZXR3b3JrSW50ZXJmYWNlU2VjdXJpdHlHcm91cEFzc29jaWF0aW9uKHRoaXMsIFwibmljYXNzb2NpYXRpb25cIiwge1xuICAgICAgICBuZXR3b3JrSW50ZXJmYWNlSWQ6IHByb3BzLm5ldHdvcmtJbnRlcmZhY2VJZCxcbiAgICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXBJZDogcHJvcHMubmV0d29ya1NlY3VyaXR5R3JvdXBJZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "cdktf/lib/testing/adapters/jest";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
4
|
+
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
5
|
+
const cdktf_1 = require("cdktf");
|
|
6
|
+
require("cdktf/lib/testing/adapters/jest");
|
|
7
|
+
const ExampleAzureNetworkSecurityGroup_1 = require("./ExampleAzureNetworkSecurityGroup");
|
|
8
|
+
const network = require("..");
|
|
9
|
+
describe("Azure Network Security Group With Defaults", () => {
|
|
10
|
+
let stack;
|
|
11
|
+
let fullSynthResult;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
const app = cdktf_1.Testing.app();
|
|
14
|
+
stack = new cdktf_1.TerraformStack(app, "test");
|
|
15
|
+
new provider_1.AzurermProvider(stack, "azureFeature", { features: {} });
|
|
16
|
+
const rg = new resource_group_1.ResourceGroup(stack, "MyResourceGroup", {
|
|
17
|
+
name: "rg-test",
|
|
18
|
+
location: "eastus",
|
|
19
|
+
});
|
|
20
|
+
// Create a network security group with the defined rules
|
|
21
|
+
new network.SecurityGroup(stack, "testAzureNetworkSecurityGroupDefaults", {
|
|
22
|
+
name: "my-nsg",
|
|
23
|
+
location: "eastus",
|
|
24
|
+
resourceGroup: rg,
|
|
25
|
+
rules: [
|
|
26
|
+
network.PreconfiguredRules.addSourceAddress(network.PreconfiguredRules.ssh, "10.0.0.0/24"),
|
|
27
|
+
],
|
|
28
|
+
});
|
|
29
|
+
fullSynthResult = cdktf_1.Testing.fullSynth(stack); // Save the result for reuse
|
|
30
|
+
});
|
|
31
|
+
it("renders an Azure Network Security Group with defaults and checks snapshot", () => {
|
|
32
|
+
expect(cdktf_1.Testing.synth(stack)).toMatchSnapshot(); // Compare the already prepared stack
|
|
33
|
+
});
|
|
34
|
+
it("check if the produced terraform configuration is valid", () => {
|
|
35
|
+
expect(fullSynthResult).toBeValidTerraform(); // Use the saved result
|
|
36
|
+
});
|
|
37
|
+
it("check if this can be planned", () => {
|
|
38
|
+
expect(fullSynthResult).toPlanSuccessfully(); // Use the saved result
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe("Azure Network Security Group Example", () => {
|
|
42
|
+
it("renders the Example Network Security Group and checks snapshot", () => {
|
|
43
|
+
expect(cdktf_1.Testing.synth(new ExampleAzureNetworkSecurityGroup_1.exampleAzureNetworkSecurityGroup(cdktf_1.Testing.app(), "testNetworkSecurityGroupExample"))).toMatchSnapshot();
|
|
44
|
+
});
|
|
45
|
+
it("check if the produced terraform configuration is valid", () => {
|
|
46
|
+
// We need to do a full synth to plan the terraform configuration
|
|
47
|
+
expect(cdktf_1.Testing.fullSynth(new ExampleAzureNetworkSecurityGroup_1.exampleAzureNetworkSecurityGroup(cdktf_1.Testing.app(), "testNetworkSecurityGroupExample"))).toBeValidTerraform();
|
|
48
|
+
});
|
|
49
|
+
it("check if this can be planned", () => {
|
|
50
|
+
// We need to do a full synth to plan the terraform configuration
|
|
51
|
+
expect(cdktf_1.Testing.fullSynth(new ExampleAzureNetworkSecurityGroup_1.exampleAzureNetworkSecurityGroup(cdktf_1.Testing.app(), "testNetworkSecurityGroupExample"))).toPlanSuccessfully();
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVOZXR3b3JrU2VjdXJpdHlHcm91cC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLW5ldHdvcmtzZWN1cml0eWdyb3VwL3Rlc3QvQXp1cmVOZXR3b3JrU2VjdXJpdHlHcm91cC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBZ0Q7QUFDaEQsMkNBQXlDO0FBQ3pDLHlGQUFzRjtBQUN0Riw4QkFBOEI7QUFFOUIsUUFBUSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRTtJQUMxRCxJQUFJLEtBQXFCLENBQUM7SUFDMUIsSUFBSSxlQUFvQixDQUFDO0lBRXpCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxNQUFNLEdBQUcsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsS0FBSyxHQUFHLElBQUksc0JBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFeEMsSUFBSSwwQkFBZSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3RCxNQUFNLEVBQUUsR0FBRyxJQUFJLDhCQUFhLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFO1lBQ3JELElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBRUgseURBQXlEO1FBQ3pELElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsdUNBQXVDLEVBQUU7WUFDeEUsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsUUFBUTtZQUNsQixhQUFhLEVBQUUsRUFBRTtZQUNqQixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUN6QyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUM5QixhQUFhLENBQ2Q7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILGVBQWUsR0FBRyxlQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsNEJBQTRCO0lBQzFFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDJFQUEyRSxFQUFFLEdBQUcsRUFBRTtRQUNuRixNQUFNLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMscUNBQXFDO0lBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEdBQUcsRUFBRTtRQUNoRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QjtJQUN2RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7UUFDdEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyx1QkFBdUI7SUFDdkUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7SUFDcEQsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsRUFBRTtRQUN4RSxNQUFNLENBQ0osZUFBTyxDQUFDLEtBQUssQ0FDWCxJQUFJLG1FQUFnQyxDQUNsQyxlQUFPLENBQUMsR0FBRyxFQUFFLEVBQ2IsaUNBQWlDLENBQ2xDLENBQ0YsQ0FDRixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEdBQUcsRUFBRTtRQUNoRSxpRUFBaUU7UUFDakUsTUFBTSxDQUNKLGVBQU8sQ0FBQyxTQUFTLENBQ2YsSUFBSSxtRUFBZ0MsQ0FDbEMsZUFBTyxDQUFDLEdBQUcsRUFBRSxFQUNiLGlDQUFpQyxDQUNsQyxDQUNGLENBQ0YsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtRQUN0QyxpRUFBaUU7UUFDakUsTUFBTSxDQUNKLGVBQU8sQ0FBQyxTQUFTLENBQ2YsSUFBSSxtRUFBZ0MsQ0FDbEMsZUFBTyxDQUFDLEdBQUcsRUFBRSxFQUNiLGlDQUFpQyxDQUNsQyxDQUNGLENBQ0YsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgVGVzdGluZywgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCBcImNka3RmL2xpYi90ZXN0aW5nL2FkYXB0ZXJzL2plc3RcIjtcbmltcG9ydCB7IGV4YW1wbGVBenVyZU5ldHdvcmtTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4vRXhhbXBsZUF6dXJlTmV0d29ya1NlY3VyaXR5R3JvdXBcIjtcbmltcG9ydCAqIGFzIG5ldHdvcmsgZnJvbSBcIi4uXCI7XG5cbmRlc2NyaWJlKFwiQXp1cmUgTmV0d29yayBTZWN1cml0eSBHcm91cCBXaXRoIERlZmF1bHRzXCIsICgpID0+IHtcbiAgbGV0IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgbGV0IGZ1bGxTeW50aFJlc3VsdDogYW55O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgVGVycmFmb3JtU3RhY2soYXBwLCBcInRlc3RcIik7XG5cbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHN0YWNrLCBcImF6dXJlRmVhdHVyZVwiLCB7IGZlYXR1cmVzOiB7fSB9KTtcblxuICAgIGNvbnN0IHJnID0gbmV3IFJlc291cmNlR3JvdXAoc3RhY2ssIFwiTXlSZXNvdXJjZUdyb3VwXCIsIHtcbiAgICAgIG5hbWU6IFwicmctdGVzdFwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgYSBuZXR3b3JrIHNlY3VyaXR5IGdyb3VwIHdpdGggdGhlIGRlZmluZWQgcnVsZXNcbiAgICBuZXcgbmV0d29yay5TZWN1cml0eUdyb3VwKHN0YWNrLCBcInRlc3RBenVyZU5ldHdvcmtTZWN1cml0eUdyb3VwRGVmYXVsdHNcIiwge1xuICAgICAgbmFtZTogXCJteS1uc2dcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmcsXG4gICAgICBydWxlczogW1xuICAgICAgICBuZXR3b3JrLlByZWNvbmZpZ3VyZWRSdWxlcy5hZGRTb3VyY2VBZGRyZXNzKFxuICAgICAgICAgIG5ldHdvcmsuUHJlY29uZmlndXJlZFJ1bGVzLnNzaCxcbiAgICAgICAgICBcIjEwLjAuMC4wLzI0XCIsXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgZnVsbFN5bnRoUmVzdWx0ID0gVGVzdGluZy5mdWxsU3ludGgoc3RhY2spOyAvLyBTYXZlIHRoZSByZXN1bHQgZm9yIHJldXNlXG4gIH0pO1xuXG4gIGl0KFwicmVuZGVycyBhbiBBenVyZSBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwIHdpdGggZGVmYXVsdHMgYW5kIGNoZWNrcyBzbmFwc2hvdFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFRlc3Rpbmcuc3ludGgoc3RhY2spKS50b01hdGNoU25hcHNob3QoKTsgLy8gQ29tcGFyZSB0aGUgYWxyZWFkeSBwcmVwYXJlZCBzdGFja1xuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoZSBwcm9kdWNlZCB0ZXJyYWZvcm0gY29uZmlndXJhdGlvbiBpcyB2YWxpZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGZ1bGxTeW50aFJlc3VsdCkudG9CZVZhbGlkVGVycmFmb3JtKCk7IC8vIFVzZSB0aGUgc2F2ZWQgcmVzdWx0XG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhpcyBjYW4gYmUgcGxhbm5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGZ1bGxTeW50aFJlc3VsdCkudG9QbGFuU3VjY2Vzc2Z1bGx5KCk7IC8vIFVzZSB0aGUgc2F2ZWQgcmVzdWx0XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiQXp1cmUgTmV0d29yayBTZWN1cml0eSBHcm91cCBFeGFtcGxlXCIsICgpID0+IHtcbiAgaXQoXCJyZW5kZXJzIHRoZSBFeGFtcGxlIE5ldHdvcmsgU2VjdXJpdHkgR3JvdXAgYW5kIGNoZWNrcyBzbmFwc2hvdFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgVGVzdGluZy5zeW50aChcbiAgICAgICAgbmV3IGV4YW1wbGVBenVyZU5ldHdvcmtTZWN1cml0eUdyb3VwKFxuICAgICAgICAgIFRlc3RpbmcuYXBwKCksXG4gICAgICAgICAgXCJ0ZXN0TmV0d29ya1NlY3VyaXR5R3JvdXBFeGFtcGxlXCIsXG4gICAgICAgICksXG4gICAgICApLFxuICAgICkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhlIHByb2R1Y2VkIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGlzIHZhbGlkXCIsICgpID0+IHtcbiAgICAvLyBXZSBuZWVkIHRvIGRvIGEgZnVsbCBzeW50aCB0byBwbGFuIHRoZSB0ZXJyYWZvcm0gY29uZmlndXJhdGlvblxuICAgIGV4cGVjdChcbiAgICAgIFRlc3RpbmcuZnVsbFN5bnRoKFxuICAgICAgICBuZXcgZXhhbXBsZUF6dXJlTmV0d29ya1NlY3VyaXR5R3JvdXAoXG4gICAgICAgICAgVGVzdGluZy5hcHAoKSxcbiAgICAgICAgICBcInRlc3ROZXR3b3JrU2VjdXJpdHlHcm91cEV4YW1wbGVcIixcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKS50b0JlVmFsaWRUZXJyYWZvcm0oKTtcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGlzIGNhbiBiZSBwbGFubmVkXCIsICgpID0+IHtcbiAgICAvLyBXZSBuZWVkIHRvIGRvIGEgZnVsbCBzeW50aCB0byBwbGFuIHRoZSB0ZXJyYWZvcm0gY29uZmlndXJhdGlvblxuICAgIGV4cGVjdChcbiAgICAgIFRlc3RpbmcuZnVsbFN5bnRoKFxuICAgICAgICBuZXcgZXhhbXBsZUF6dXJlTmV0d29ya1NlY3VyaXR5R3JvdXAoXG4gICAgICAgICAgVGVzdGluZy5hcHAoKSxcbiAgICAgICAgICBcInRlc3ROZXR3b3JrU2VjdXJpdHlHcm91cEV4YW1wbGVcIixcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKS50b1BsYW5TdWNjZXNzZnVsbHkoKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exampleAzureNetworkSecurityGroup = void 0;
|
|
4
|
+
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
+
const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analytics-workspace");
|
|
6
|
+
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
7
|
+
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
8
|
+
const subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
|
|
9
|
+
const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
|
|
10
|
+
const cdktf_1 = require("cdktf");
|
|
11
|
+
const cdktf = require("cdktf");
|
|
12
|
+
const network = require("..");
|
|
13
|
+
const testing_1 = require("../../testing");
|
|
14
|
+
const preconfigured_rules_1 = require("../lib/preconfigured-rules");
|
|
15
|
+
const app = new cdktf_1.App();
|
|
16
|
+
class exampleAzureNetworkSecurityGroup extends testing_1.BaseTestStack {
|
|
17
|
+
constructor(scope, id) {
|
|
18
|
+
super(scope, id);
|
|
19
|
+
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
20
|
+
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
21
|
+
features: {},
|
|
22
|
+
});
|
|
23
|
+
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
24
|
+
location: "eastus",
|
|
25
|
+
name: `rg-${this.name}`,
|
|
26
|
+
});
|
|
27
|
+
const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
|
|
28
|
+
name: `vnet-${this.name}`,
|
|
29
|
+
location: resourceGroup.location,
|
|
30
|
+
resourceGroupName: resourceGroup.name,
|
|
31
|
+
addressSpace: ["10.0.0.0/16"],
|
|
32
|
+
});
|
|
33
|
+
const subnet = new subnet_1.Subnet(this, "subnet1", {
|
|
34
|
+
name: "subnet1",
|
|
35
|
+
resourceGroupName: resourceGroup.name,
|
|
36
|
+
virtualNetworkName: vnet.name,
|
|
37
|
+
addressPrefixes: ["10.0.1.0/24"],
|
|
38
|
+
});
|
|
39
|
+
const subnet2 = new subnet_1.Subnet(this, "subnet2", {
|
|
40
|
+
name: "subnet2",
|
|
41
|
+
resourceGroupName: resourceGroup.name,
|
|
42
|
+
virtualNetworkName: vnet.name,
|
|
43
|
+
addressPrefixes: ["10.0.2.0/24"],
|
|
44
|
+
});
|
|
45
|
+
const nsg = new network.SecurityGroup(this, "nsg", {
|
|
46
|
+
name: `nsg-${this.name}`,
|
|
47
|
+
location: "eastus",
|
|
48
|
+
resourceGroup: resourceGroup,
|
|
49
|
+
rules: [
|
|
50
|
+
{
|
|
51
|
+
name: "SSH",
|
|
52
|
+
priority: 1001,
|
|
53
|
+
direction: "Inbound",
|
|
54
|
+
access: "Allow",
|
|
55
|
+
protocol: "Tcp",
|
|
56
|
+
sourcePortRange: "*",
|
|
57
|
+
destinationPortRange: "22",
|
|
58
|
+
sourceAddressPrefix: "10.23.15.38",
|
|
59
|
+
destinationAddressPrefix: "VirtualNetwork",
|
|
60
|
+
},
|
|
61
|
+
preconfigured_rules_1.PreconfiguredRules.addSourceAddress(preconfigured_rules_1.PreconfiguredRules.rdp, "10.0.0.0/24"),
|
|
62
|
+
],
|
|
63
|
+
});
|
|
64
|
+
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
65
|
+
location: "eastus",
|
|
66
|
+
name: `la-${this.name}`,
|
|
67
|
+
resourceGroupName: resourceGroup.name,
|
|
68
|
+
});
|
|
69
|
+
//Diag Settings
|
|
70
|
+
nsg.addDiagSettings({
|
|
71
|
+
name: "diagsettings",
|
|
72
|
+
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
73
|
+
});
|
|
74
|
+
//RBAC
|
|
75
|
+
nsg.addAccess(clientConfig.objectId, "Contributor");
|
|
76
|
+
// associate the nsg to the subnet
|
|
77
|
+
nsg.associateToSubnet(subnet);
|
|
78
|
+
nsg.associateToSubnet(subnet2);
|
|
79
|
+
// Outputs to use for End to End Test
|
|
80
|
+
const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
81
|
+
value: resourceGroup.name,
|
|
82
|
+
});
|
|
83
|
+
const cdktfTerraformOutputNsgName = new cdktf.TerraformOutput(this, "nsg_name", {
|
|
84
|
+
value: nsg.name,
|
|
85
|
+
});
|
|
86
|
+
const cdktfTerraformOutputSnetName = new cdktf.TerraformOutput(this, "ssh_rule_name", {
|
|
87
|
+
value: "SSH",
|
|
88
|
+
});
|
|
89
|
+
cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
|
|
90
|
+
cdktfTerraformOutputNsgName.overrideLogicalId("nsg_name");
|
|
91
|
+
cdktfTerraformOutputSnetName.overrideLogicalId("ssh_rule_name");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.exampleAzureNetworkSecurityGroup = exampleAzureNetworkSecurityGroup;
|
|
95
|
+
new exampleAzureNetworkSecurityGroup(app, "testAzureNetworkSecurityGroup");
|
|
96
|
+
app.synth();
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlTmV0d29ya1NlY3VyaXR5R3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya3NlY3VyaXR5Z3JvdXAvdGVzdC9FeGFtcGxlQXp1cmVOZXR3b3JrU2VjdXJpdHlHcm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsK0RBQTREO0FBQzVELGlGQUE2RTtBQUM3RSxpQ0FBNEI7QUFDNUIsK0JBQStCO0FBRS9CLDhCQUE4QjtBQUM5QiwyQ0FBOEM7QUFDOUMsb0VBQWdFO0FBRWhFLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSxnQ0FBaUMsU0FBUSx1QkFBYTtJQUNqRSxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLElBQUksb0RBQXVCLENBQzlDLElBQUksRUFDSixxQkFBcUIsRUFDckIsRUFBRSxDQUNILENBQUM7UUFFRixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDNUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDaEMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLElBQUk7WUFDckMsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDekMsSUFBSSxFQUFFLFNBQVM7WUFDZixpQkFBaUIsRUFBRSxhQUFhLENBQUMsSUFBSTtZQUNyQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUM3QixlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUMxQyxJQUFJLEVBQUUsU0FBUztZQUNmLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3JDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJO1lBQzdCLGVBQWUsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFFSCxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtZQUNqRCxJQUFJLEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxJQUFJLEVBQUUsS0FBSztvQkFDWCxRQUFRLEVBQUUsSUFBSTtvQkFDZCxTQUFTLEVBQUUsU0FBUztvQkFDcEIsTUFBTSxFQUFFLE9BQU87b0JBQ2YsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsZUFBZSxFQUFFLEdBQUc7b0JBQ3BCLG9CQUFvQixFQUFFLElBQUk7b0JBQzFCLG1CQUFtQixFQUFFLGFBQWE7b0JBQ2xDLHdCQUF3QixFQUFFLGdCQUFnQjtpQkFDM0M7Z0JBQ0Qsd0NBQWtCLENBQUMsZ0JBQWdCLENBQ2pDLHdDQUFrQixDQUFDLEdBQUcsRUFDdEIsYUFBYSxDQUNkO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLHFCQUFxQixHQUFHLElBQUksK0NBQXFCLENBQ3JELElBQUksRUFDSixlQUFlLEVBQ2Y7WUFDRSxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxJQUFJO1NBQ3RDLENBQ0YsQ0FBQztRQUVGLGVBQWU7UUFDZixHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ2xCLElBQUksRUFBRSxjQUFjO1lBQ3BCLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLEVBQUU7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsTUFBTTtRQUNOLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVwRCxrQ0FBa0M7UUFDbEMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQixxQ0FBcUM7UUFDckMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzFELElBQUksRUFDSixxQkFBcUIsRUFDckI7WUFDRSxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUk7U0FDMUIsQ0FDRixDQUFDO1FBRUYsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzNELElBQUksRUFDSixVQUFVLEVBQ1Y7WUFDRSxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUk7U0FDaEIsQ0FDRixDQUFDO1FBRUYsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzVELElBQUksRUFDSixlQUFlLEVBQ2Y7WUFDRSxLQUFLLEVBQUUsS0FBSztTQUNiLENBQ0YsQ0FBQztRQUVGLDBCQUEwQixDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEUsMkJBQTJCLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsNEJBQTRCLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBbkhELDRFQW1IQztBQUVELElBQUksZ0NBQWdDLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDLENBQUM7QUFFM0UsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdWJuZXRcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi92aXJ0dWFsLW5ldHdvcmtcIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgbmV0d29yayBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuaW1wb3J0IHsgUHJlY29uZmlndXJlZFJ1bGVzIH0gZnJvbSBcIi4uL2xpYi9wcmVjb25maWd1cmVkLXJ1bGVzXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuZXhwb3J0IGNsYXNzIGV4YW1wbGVBenVyZU5ldHdvcmtTZWN1cml0eUdyb3VwIGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ3VycmVudENsaWVudENvbmZpZ1wiLFxuICAgICAge30sXG4gICAgKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZuZXQgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0XCIsIHtcbiAgICAgIG5hbWU6IGB2bmV0LSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBhZGRyZXNzU3BhY2U6IFtcIjEwLjAuMC4wLzE2XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0ID0gbmV3IFN1Ym5ldCh0aGlzLCBcInN1Ym5ldDFcIiwge1xuICAgICAgbmFtZTogXCJzdWJuZXQxXCIsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgdmlydHVhbE5ldHdvcmtOYW1lOiB2bmV0Lm5hbWUsXG4gICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMS4wLzI0XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0MiA9IG5ldyBTdWJuZXQodGhpcywgXCJzdWJuZXQyXCIsIHtcbiAgICAgIG5hbWU6IFwic3VibmV0MlwiLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogdm5ldC5uYW1lLFxuICAgICAgYWRkcmVzc1ByZWZpeGVzOiBbXCIxMC4wLjIuMC8yNFwiXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG5zZyA9IG5ldyBuZXR3b3JrLlNlY3VyaXR5R3JvdXAodGhpcywgXCJuc2dcIiwge1xuICAgICAgbmFtZTogYG5zZy0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiU1NIXCIsXG4gICAgICAgICAgcHJpb3JpdHk6IDEwMDEsXG4gICAgICAgICAgZGlyZWN0aW9uOiBcIkluYm91bmRcIixcbiAgICAgICAgICBhY2Nlc3M6IFwiQWxsb3dcIixcbiAgICAgICAgICBwcm90b2NvbDogXCJUY3BcIixcbiAgICAgICAgICBzb3VyY2VQb3J0UmFuZ2U6IFwiKlwiLFxuICAgICAgICAgIGRlc3RpbmF0aW9uUG9ydFJhbmdlOiBcIjIyXCIsXG4gICAgICAgICAgc291cmNlQWRkcmVzc1ByZWZpeDogXCIxMC4yMy4xNS4zOFwiLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQWRkcmVzc1ByZWZpeDogXCJWaXJ0dWFsTmV0d29ya1wiLFxuICAgICAgICB9LFxuICAgICAgICBQcmVjb25maWd1cmVkUnVsZXMuYWRkU291cmNlQWRkcmVzcyhcbiAgICAgICAgICBQcmVjb25maWd1cmVkUnVsZXMucmRwLFxuICAgICAgICAgIFwiMTAuMC4wLjAvMjRcIixcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBsb2dBbmFseXRpY3NXb3Jrc3BhY2UgPSBuZXcgTG9nQW5hbHl0aWNzV29ya3NwYWNlKFxuICAgICAgdGhpcyxcbiAgICAgIFwibG9nX2FuYWx5dGljc1wiLFxuICAgICAge1xuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgbmFtZTogYGxhLSR7dGhpcy5uYW1lfWAsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvL0RpYWcgU2V0dGluZ3NcbiAgICBuc2cuYWRkRGlhZ1NldHRpbmdzKHtcbiAgICAgIG5hbWU6IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICAgIH0pO1xuXG4gICAgLy9SQkFDXG4gICAgbnNnLmFkZEFjY2VzcyhjbGllbnRDb25maWcub2JqZWN0SWQsIFwiQ29udHJpYnV0b3JcIik7XG5cbiAgICAvLyBhc3NvY2lhdGUgdGhlIG5zZyB0byB0aGUgc3VibmV0XG4gICAgbnNnLmFzc29jaWF0ZVRvU3VibmV0KHN1Ym5ldCk7XG4gICAgbnNnLmFzc29jaWF0ZVRvU3VibmV0KHN1Ym5ldDIpO1xuXG4gICAgLy8gT3V0cHV0cyB0byB1c2UgZm9yIEVuZCB0byBFbmQgVGVzdFxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0UkdOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInJlc291cmNlX2dyb3VwX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0TnNnTmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJuc2dfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogbnNnLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFNuZXROYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInNzaF9ydWxlX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IFwiU1NIXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFJHTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2dyb3VwX25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXROc2dOYW1lLm92ZXJyaWRlTG9naWNhbElkKFwibnNnX25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRTbmV0TmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInNzaF9ydWxlX25hbWVcIik7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZU5ldHdvcmtTZWN1cml0eUdyb3VwKGFwcCwgXCJ0ZXN0QXp1cmVOZXR3b3JrU2VjdXJpdHlHcm91cFwiKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./lib";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./lib"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtcXVlcnlydWxlYWxlcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xpYlwiO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./query-rule-alert";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./query-rule-alert"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcXVlcnlydWxlYWxlcnQvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9xdWVyeS1ydWxlLWFsZXJ0XCI7XG4iXX0=
|