@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,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
4
|
+
const public_ip_1 = require("@cdktf/provider-azurerm/lib/public-ip");
|
|
5
|
+
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
6
|
+
const cdktf_1 = require("cdktf");
|
|
7
|
+
const ExampleAzureApplicationGateway_1 = require("./ExampleAzureApplicationGateway");
|
|
8
|
+
require("cdktf/lib/testing/adapters/jest");
|
|
9
|
+
const apgw = require("..");
|
|
10
|
+
const util = require("../../util/azureTenantIdHelpers");
|
|
11
|
+
describe("Application Gateway With Defaults", () => {
|
|
12
|
+
let stack;
|
|
13
|
+
let fullSynthResult;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
const app = cdktf_1.Testing.app();
|
|
16
|
+
stack = new cdktf_1.TerraformStack(app, "test");
|
|
17
|
+
new provider_1.AzurermProvider(stack, "azureFeature", { features: {} });
|
|
18
|
+
const resourceGroup = new resource_group_1.ResourceGroup(stack, "MyResourceGroup", {
|
|
19
|
+
name: "testrg",
|
|
20
|
+
location: "eastus",
|
|
21
|
+
});
|
|
22
|
+
const publicIp = new public_ip_1.PublicIp(stack, "publicIp", {
|
|
23
|
+
name: "testip",
|
|
24
|
+
location: "eastus",
|
|
25
|
+
resourceGroupName: resourceGroup.name,
|
|
26
|
+
allocationMethod: "Dynamic",
|
|
27
|
+
sku: "Standard",
|
|
28
|
+
});
|
|
29
|
+
new apgw.Gateway(stack, "testAzureApplicationGatewayDefaults2", {
|
|
30
|
+
name: "application-gateway",
|
|
31
|
+
resourceGroup: resourceGroup,
|
|
32
|
+
location: "eastus",
|
|
33
|
+
skuTier: "WAF_v2",
|
|
34
|
+
skuSize: "WAF_v2",
|
|
35
|
+
capacity: 2,
|
|
36
|
+
publicIpAddress: publicIp,
|
|
37
|
+
backendAddressPools: [
|
|
38
|
+
{ name: "backend-address-pool-1" },
|
|
39
|
+
{
|
|
40
|
+
name: "backend-address-pool-2",
|
|
41
|
+
ipAddresses: ["10.0.0.4", "10.0.0.5", "10.0.0.6"],
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
httpListeners: [
|
|
45
|
+
{
|
|
46
|
+
name: "http-listener",
|
|
47
|
+
frontendPortName: "frontend-port",
|
|
48
|
+
frontendIpConfigurationName: "Public",
|
|
49
|
+
protocol: "Http",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
backendHttpSettings: [
|
|
53
|
+
{
|
|
54
|
+
name: "backend-http-setting",
|
|
55
|
+
port: 80,
|
|
56
|
+
protocol: "Http",
|
|
57
|
+
requestTimeout: 20,
|
|
58
|
+
cookieBasedAffinity: "Disabled",
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
requestRoutingRules: [
|
|
62
|
+
{
|
|
63
|
+
name: "request-routing-rule-1",
|
|
64
|
+
httpListenerName: "http-listener",
|
|
65
|
+
backendAddressPoolName: "backend-address-pool-1",
|
|
66
|
+
backendHttpSettingsName: "backend-http-setting",
|
|
67
|
+
ruleType: "Basic",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "request-routing-rule-2",
|
|
71
|
+
httpListenerName: "http-listener",
|
|
72
|
+
backendAddressPoolName: "backend-address-pool-2",
|
|
73
|
+
backendHttpSettingsName: "backend-http-setting",
|
|
74
|
+
ruleType: "Basic",
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
});
|
|
78
|
+
fullSynthResult = cdktf_1.Testing.fullSynth(stack); // Save the result for reuse
|
|
79
|
+
});
|
|
80
|
+
it("renders an Application Gateway with defaults and checks snapshot", () => {
|
|
81
|
+
expect(cdktf_1.Testing.synth(stack)).toMatchSnapshot(); // Compare the already prepared stack
|
|
82
|
+
});
|
|
83
|
+
it("check if the produced terraform configuration is valid", () => {
|
|
84
|
+
expect(fullSynthResult).toBeValidTerraform(); // Use the saved result
|
|
85
|
+
});
|
|
86
|
+
it("check if this can be planned", () => {
|
|
87
|
+
expect(fullSynthResult).toPlanSuccessfully(); // Use the saved result
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe("Application Gateway Example", () => {
|
|
91
|
+
it("renders the Application Gateway and checks snapshot", () => {
|
|
92
|
+
// Need to remove the tenant_id from the snapshot as it will change wherever the test is run
|
|
93
|
+
const output = cdktf_1.Testing.synth(new ExampleAzureApplicationGateway_1.exampleAzureApplicationGateway(cdktf_1.Testing.app(), "testAzureApplicationGateway"));
|
|
94
|
+
const myObject = JSON.parse(output);
|
|
95
|
+
expect(util.removeTenantIdFromSnapshot(myObject)).toMatchSnapshot();
|
|
96
|
+
});
|
|
97
|
+
it("check if the produced terraform configuration is valid", () => {
|
|
98
|
+
// We need to do a full synth to plan the terraform configuration
|
|
99
|
+
expect(cdktf_1.Testing.fullSynth(new ExampleAzureApplicationGateway_1.exampleAzureApplicationGateway(cdktf_1.Testing.app(), "testAzureApplicationGateway"))).toBeValidTerraform();
|
|
100
|
+
});
|
|
101
|
+
it("check if this can be planned", () => {
|
|
102
|
+
// We need to do a full synth to plan the terraform configuration
|
|
103
|
+
expect(cdktf_1.Testing.fullSynth(new ExampleAzureApplicationGateway_1.exampleAzureApplicationGateway(cdktf_1.Testing.app(), "testAzureApplicationGateway"))).toPlanSuccessfully();
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVBcHBsaWNhdGlvbkdhdGV3YXkuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmdhdGV3YXkvdGVzdC9BenVyZUFwcGxpY2F0aW9uR2F0ZXdheS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUVBQXVFO0FBQ3ZFLHFFQUFpRTtBQUNqRSwrRUFBMkU7QUFDM0UsaUNBQWdEO0FBQ2hELHFGQUFrRjtBQUNsRiwyQ0FBeUM7QUFDekMsMkJBQTJCO0FBQzNCLHdEQUF3RDtBQUV4RCxRQUFRLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFO0lBQ2pELElBQUksS0FBcUIsQ0FBQztJQUMxQixJQUFJLGVBQW9CLENBQUM7SUFFekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLE1BQU0sR0FBRyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMxQixLQUFLLEdBQUcsSUFBSSxzQkFBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV4QyxJQUFJLDBCQUFlLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTdELE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7WUFDaEUsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtZQUMvQyxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3JDLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsR0FBRyxFQUFFLFVBQVU7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMs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LENBQUMsU0FBUyxDQUNmLElBQUksK0RBQThCLENBQ2hDLGVBQU8sQ0FBQyxHQUFHLEVBQUUsRUFDYiw2QkFBNkIsQ0FDOUIsQ0FDRixDQUNGLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7UUFDdEMsaUVBQWlFO1FBQ2pFLE1BQU0sQ0FDSixlQUFPLENBQUMsU0FBUyxDQUNmLElBQUksK0RBQThCLENBQ2hDLGVBQU8sQ0FBQyxHQUFHLEVBQUUsRUFDYiw2QkFBNkIsQ0FDOUIsQ0FDRixDQUNGLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXp1cmVybVByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUHVibGljSXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3B1YmxpYy1pcFwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IFRlc3RpbmcsIFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBleGFtcGxlQXp1cmVBcHBsaWNhdGlvbkdhdGV3YXkgfSBmcm9tIFwiLi9FeGFtcGxlQXp1cmVBcHBsaWNhdGlvbkdhdGV3YXlcIjtcbmltcG9ydCBcImNka3RmL2xpYi90ZXN0aW5nL2FkYXB0ZXJzL2plc3RcIjtcbmltcG9ydCAqIGFzIGFwZ3cgZnJvbSBcIi4uXCI7XG5pbXBvcnQgKiBhcyB1dGlsIGZyb20gXCIuLi8uLi91dGlsL2F6dXJlVGVuYW50SWRIZWxwZXJzXCI7XG5cbmRlc2NyaWJlKFwiQXBwbGljYXRpb24gR2F0ZXdheSBXaXRoIERlZmF1bHRzXCIsICgpID0+IHtcbiAgbGV0IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgbGV0IGZ1bGxTeW50aFJlc3VsdDogYW55O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgVGVycmFmb3JtU3RhY2soYXBwLCBcInRlc3RcIik7XG5cbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHN0YWNrLCBcImF6dXJlRmVhdHVyZVwiLCB7IGZlYXR1cmVzOiB7fSB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cChzdGFjaywgXCJNeVJlc291cmNlR3JvdXBcIiwge1xuICAgICAgbmFtZTogXCJ0ZXN0cmdcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGljSXAgPSBuZXcgUHVibGljSXAoc3RhY2ssIFwicHVibGljSXBcIiwge1xuICAgICAgbmFtZTogXCJ0ZXN0aXBcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIGFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgc2t1OiBcIlN0YW5kYXJkXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgYXBndy5HYXRld2F5KHN0YWNrLCBcInRlc3RBenVyZUFwcGxpY2F0aW9uR2F0ZXdheURlZmF1bHRzMlwiLCB7XG4gICAgICBuYW1lOiBcImFwcGxpY2F0aW9uLWdhdGV3YXlcIixcbiAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHNrdVRpZXI6IFwiV0FGX3YyXCIsXG4gICAgICBza3VTaXplOiBcIldBRl92MlwiLFxuICAgICAgY2FwYWNpdHk6IDIsXG4gICAgICBwdWJsaWNJcEFkZHJlc3M6IHB1YmxpY0lwLFxuICAgICAgYmFja2VuZEFkZHJlc3NQb29sczogW1xuICAgICAgICB7IG5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImJhY2tlbmQtYWRkcmVzcy1wb29sLTJcIixcbiAgICAgICAgICBpcEFkZHJlc3NlczogW1wiMTAuMC4wLjRcIiwgXCIxMC4wLjAuNVwiLCBcIjEwLjAuMC42XCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGh0dHBMaXN0ZW5lcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIGZyb250ZW5kUG9ydE5hbWU6IFwiZnJvbnRlbmQtcG9ydFwiLFxuICAgICAgICAgIGZyb250ZW5kSXBDb25maWd1cmF0aW9uTmFtZTogXCJQdWJsaWNcIixcbiAgICAgICAgICBwcm90b2NvbDogXCJIdHRwXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYmFja2VuZEh0dHBTZXR0aW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJiYWNrZW5kLWh0dHAtc2V0dGluZ1wiLFxuICAgICAgICAgIHBvcnQ6IDgwLFxuICAgICAgICAgIHByb3RvY29sOiBcIkh0dHBcIixcbiAgICAgICAgICByZXF1ZXN0VGltZW91dDogMjAsXG4gICAgICAgICAgY29va2llQmFzZWRBZmZpbml0eTogXCJEaXNhYmxlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlcXVlc3RSb3V0aW5nUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwicmVxdWVzdC1yb3V0aW5nLXJ1bGUtMVwiLFxuICAgICAgICAgIGh0dHBMaXN0ZW5lck5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbE5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiLFxuICAgICAgICAgIGJhY2tlbmRIdHRwU2V0dGluZ3NOYW1lOiBcImJhY2tlbmQtaHR0cC1zZXR0aW5nXCIsXG4gICAgICAgICAgcnVsZVR5cGU6IFwiQmFzaWNcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwicmVxdWVzdC1yb3V0aW5nLXJ1bGUtMlwiLFxuICAgICAgICAgIGh0dHBMaXN0ZW5lck5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbE5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMlwiLFxuICAgICAgICAgIGJhY2tlbmRIdHRwU2V0dGluZ3NOYW1lOiBcImJhY2tlbmQtaHR0cC1zZXR0aW5nXCIsXG4gICAgICAgICAgcnVsZVR5cGU6IFwiQmFzaWNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBmdWxsU3ludGhSZXN1bHQgPSBUZXN0aW5nLmZ1bGxTeW50aChzdGFjayk7IC8vIFNhdmUgdGhlIHJlc3VsdCBmb3IgcmV1c2VcbiAgfSk7XG5cbiAgaXQoXCJyZW5kZXJzIGFuIEFwcGxpY2F0aW9uIEdhdGV3YXkgd2l0aCBkZWZhdWx0cyBhbmQgY2hlY2tzIHNuYXBzaG90XCIsICgpID0+IHtcbiAgICBleHBlY3QoVGVzdGluZy5zeW50aChzdGFjaykpLnRvTWF0Y2hTbmFwc2hvdCgpOyAvLyBDb21wYXJlIHRoZSBhbHJlYWR5IHByZXBhcmVkIHN0YWNrXG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhlIHByb2R1Y2VkIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGlzIHZhbGlkXCIsICgpID0+IHtcbiAgICBleHBlY3QoZnVsbFN5bnRoUmVzdWx0KS50b0JlVmFsaWRUZXJyYWZvcm0oKTsgLy8gVXNlIHRoZSBzYXZlZCByZXN1bHRcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGlzIGNhbiBiZSBwbGFubmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoZnVsbFN5bnRoUmVzdWx0KS50b1BsYW5TdWNjZXNzZnVsbHkoKTsgLy8gVXNlIHRoZSBzYXZlZCByZXN1bHRcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBcHBsaWNhdGlvbiBHYXRld2F5IEV4YW1wbGVcIiwgKCkgPT4ge1xuICBpdChcInJlbmRlcnMgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgYW5kIGNoZWNrcyBzbmFwc2hvdFwiLCAoKSA9PiB7XG4gICAgLy8gTmVlZCB0byByZW1vdmUgdGhlIHRlbmFudF9pZCBmcm9tIHRoZSBzbmFwc2hvdCBhcyBpdCB3aWxsIGNoYW5nZSB3aGVyZXZlciB0aGUgdGVzdCBpcyBydW5cbiAgICBjb25zdCBvdXRwdXQgPSBUZXN0aW5nLnN5bnRoKFxuICAgICAgbmV3IGV4YW1wbGVBenVyZUFwcGxpY2F0aW9uR2F0ZXdheShcbiAgICAgICAgVGVzdGluZy5hcHAoKSxcbiAgICAgICAgXCJ0ZXN0QXp1cmVBcHBsaWNhdGlvbkdhdGV3YXlcIixcbiAgICAgICksXG4gICAgKTtcbiAgICBjb25zdCBteU9iamVjdDogUmVjb3JkPHN0cmluZywgYW55PiA9IEpTT04ucGFyc2Uob3V0cHV0KTtcblxuICAgIGV4cGVjdCh1dGlsLnJlbW92ZVRlbmFudElkRnJvbVNuYXBzaG90KG15T2JqZWN0KSkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhlIHByb2R1Y2VkIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGlzIHZhbGlkXCIsICgpID0+IHtcbiAgICAvLyBXZSBuZWVkIHRvIGRvIGEgZnVsbCBzeW50aCB0byBwbGFuIHRoZSB0ZXJyYWZvcm0gY29uZmlndXJhdGlvblxuICAgIGV4cGVjdChcbiAgICAgIFRlc3RpbmcuZnVsbFN5bnRoKFxuICAgICAgICBuZXcgZXhhbXBsZUF6dXJlQXBwbGljYXRpb25HYXRld2F5KFxuICAgICAgICAgIFRlc3RpbmcuYXBwKCksXG4gICAgICAgICAgXCJ0ZXN0QXp1cmVBcHBsaWNhdGlvbkdhdGV3YXlcIixcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKS50b0JlVmFsaWRUZXJyYWZvcm0oKTtcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGlzIGNhbiBiZSBwbGFubmVkXCIsICgpID0+IHtcbiAgICAvLyBXZSBuZWVkIHRvIGRvIGEgZnVsbCBzeW50aCB0byBwbGFuIHRoZSB0ZXJyYWZvcm0gY29uZmlndXJhdGlvblxuICAgIGV4cGVjdChcbiAgICAgIFRlc3RpbmcuZnVsbFN5bnRoKFxuICAgICAgICBuZXcgZXhhbXBsZUF6dXJlQXBwbGljYXRpb25HYXRld2F5KFxuICAgICAgICAgIFRlc3RpbmcuYXBwKCksXG4gICAgICAgICAgXCJ0ZXN0QXp1cmVBcHBsaWNhdGlvbkdhdGV3YXlcIixcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKS50b1BsYW5TdWNjZXNzZnVsbHkoKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exampleAzureApplicationGateway = 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 public_ip_1 = require("@cdktf/provider-azurerm/lib/public-ip");
|
|
8
|
+
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
9
|
+
const subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
|
|
10
|
+
const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
|
|
11
|
+
const cdktf = require("cdktf");
|
|
12
|
+
const cdktf_1 = require("cdktf");
|
|
13
|
+
const kv = require("../../azure-keyvault");
|
|
14
|
+
const testing_1 = require("../../testing");
|
|
15
|
+
const util = require("../../util/azureTenantIdHelpers");
|
|
16
|
+
const apgw = require("../lib");
|
|
17
|
+
const app = new cdktf_1.App();
|
|
18
|
+
class exampleAzureApplicationGateway extends testing_1.BaseTestStack {
|
|
19
|
+
constructor(scope, id) {
|
|
20
|
+
super(scope, id);
|
|
21
|
+
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
22
|
+
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
23
|
+
features: {
|
|
24
|
+
resourceGroup: {
|
|
25
|
+
preventDeletionIfContainsResources: false,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
30
|
+
location: "eastus",
|
|
31
|
+
name: `rg-${this.name}`,
|
|
32
|
+
lifecycle: {
|
|
33
|
+
ignoreChanges: ["tags"],
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
37
|
+
location: "eastus",
|
|
38
|
+
name: `la-${this.name}`,
|
|
39
|
+
resourceGroupName: resourceGroup.name,
|
|
40
|
+
});
|
|
41
|
+
const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
|
|
42
|
+
name: `vnet-${this.name}`,
|
|
43
|
+
location: "eastus",
|
|
44
|
+
resourceGroupName: resourceGroup.name,
|
|
45
|
+
addressSpace: ["10.0.0.0/24"],
|
|
46
|
+
});
|
|
47
|
+
const subnet = new subnet_1.Subnet(this, "subnet", {
|
|
48
|
+
name: `subnet-${this.name}`,
|
|
49
|
+
resourceGroupName: resourceGroup.name,
|
|
50
|
+
virtualNetworkName: vnet.name,
|
|
51
|
+
addressPrefixes: ["10.0.0.0/24"],
|
|
52
|
+
});
|
|
53
|
+
const publicIp = new public_ip_1.PublicIp(this, "publicIp", {
|
|
54
|
+
name: "testip",
|
|
55
|
+
location: "eastus",
|
|
56
|
+
resourceGroupName: resourceGroup.name,
|
|
57
|
+
allocationMethod: "Static",
|
|
58
|
+
sku: "Standard",
|
|
59
|
+
});
|
|
60
|
+
const publicIpwaf = new public_ip_1.PublicIp(this, "publicIpwaf", {
|
|
61
|
+
name: "testipwaf",
|
|
62
|
+
location: "eastus",
|
|
63
|
+
resourceGroupName: resourceGroup.name,
|
|
64
|
+
allocationMethod: "Static",
|
|
65
|
+
sku: "Standard",
|
|
66
|
+
});
|
|
67
|
+
const azureKeyVault = new kv.Vault(this, "keyvault", {
|
|
68
|
+
name: `kv-${this.name}`,
|
|
69
|
+
resourceGroup: resourceGroup,
|
|
70
|
+
location: "eastus",
|
|
71
|
+
tenantId: util.getAzureTenantId(),
|
|
72
|
+
});
|
|
73
|
+
azureKeyVault.grantCustomAccess(clientConfig.objectId, {
|
|
74
|
+
secretPermissions: ["Get", "List", "Set", "Delete"],
|
|
75
|
+
keyPermissions: [
|
|
76
|
+
"Backup",
|
|
77
|
+
"Create",
|
|
78
|
+
"Decrypt",
|
|
79
|
+
"Delete",
|
|
80
|
+
"Encrypt",
|
|
81
|
+
"Get",
|
|
82
|
+
"Import",
|
|
83
|
+
"List",
|
|
84
|
+
"Purge",
|
|
85
|
+
"Recover",
|
|
86
|
+
"Restore",
|
|
87
|
+
"Sign",
|
|
88
|
+
"UnwrapKey",
|
|
89
|
+
"Update",
|
|
90
|
+
"Verify",
|
|
91
|
+
"WrapKey",
|
|
92
|
+
"Release",
|
|
93
|
+
"Rotate",
|
|
94
|
+
"GetRotationPolicy",
|
|
95
|
+
"SetRotationPolicy",
|
|
96
|
+
],
|
|
97
|
+
certificatePermissions: [
|
|
98
|
+
"Get",
|
|
99
|
+
"List",
|
|
100
|
+
"Create",
|
|
101
|
+
"Delete",
|
|
102
|
+
"GetIssuers",
|
|
103
|
+
"ManageIssuers",
|
|
104
|
+
],
|
|
105
|
+
});
|
|
106
|
+
const cert = azureKeyVault.addSelfSignedCert("ssl-cert", "CN=contoso.com", [
|
|
107
|
+
"internal.contoso.com",
|
|
108
|
+
]);
|
|
109
|
+
const applicationGateway = new apgw.Gateway(this, "appgw", {
|
|
110
|
+
name: `apgw-${this.name}`,
|
|
111
|
+
resourceGroup: resourceGroup,
|
|
112
|
+
location: "eastus",
|
|
113
|
+
skuTier: "Standard_v2",
|
|
114
|
+
skuSize: "Standard_v2",
|
|
115
|
+
capacity: 2,
|
|
116
|
+
publicIpAddress: publicIp,
|
|
117
|
+
subnet: subnet,
|
|
118
|
+
backendAddressPools: [
|
|
119
|
+
{ name: "backend-address-pool-1" },
|
|
120
|
+
{
|
|
121
|
+
name: "backend-address-pool-2",
|
|
122
|
+
ipAddresses: ["10.1.0.4", "10.1.0.5", "10.1.0.6"],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
httpListeners: [
|
|
126
|
+
{
|
|
127
|
+
name: "http-listener",
|
|
128
|
+
frontendPortName: "80",
|
|
129
|
+
frontendIpConfigurationName: "Public-frontend-ip-configuration",
|
|
130
|
+
protocol: "Http",
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
backendHttpSettings: [
|
|
134
|
+
{
|
|
135
|
+
name: "backend-http-setting",
|
|
136
|
+
port: 80,
|
|
137
|
+
protocol: "Http",
|
|
138
|
+
requestTimeout: 20,
|
|
139
|
+
cookieBasedAffinity: "Disabled",
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
requestRoutingRules: [
|
|
143
|
+
{
|
|
144
|
+
name: "request-routing-rule-1",
|
|
145
|
+
httpListenerName: "http-listener",
|
|
146
|
+
priority: 1,
|
|
147
|
+
backendAddressPoolName: "backend-address-pool-1",
|
|
148
|
+
backendHttpSettingsName: "backend-http-setting",
|
|
149
|
+
ruleType: "Basic",
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
});
|
|
153
|
+
new apgw.Gateway(this, "appgw_waf", {
|
|
154
|
+
name: `apgw-${this.name}waf`,
|
|
155
|
+
resourceGroup: resourceGroup,
|
|
156
|
+
location: "eastus",
|
|
157
|
+
skuTier: "WAF_v2",
|
|
158
|
+
skuSize: "WAF_v2",
|
|
159
|
+
capacity: 2,
|
|
160
|
+
publicIpAddress: publicIpwaf,
|
|
161
|
+
tenantId: util.getAzureTenantId(),
|
|
162
|
+
subnet: subnet,
|
|
163
|
+
keyVault: azureKeyVault.keyVault,
|
|
164
|
+
backendAddressPools: [
|
|
165
|
+
{ name: "backend-address-pool-1" },
|
|
166
|
+
{
|
|
167
|
+
name: "backend-address-pool-2",
|
|
168
|
+
ipAddresses: ["10.1.0.4", "10.1.0.5", "10.1.0.6"],
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
httpListeners: [
|
|
172
|
+
{
|
|
173
|
+
name: "http-listener",
|
|
174
|
+
frontendPortName: "443",
|
|
175
|
+
frontendIpConfigurationName: "Public-frontend-ip-configuration",
|
|
176
|
+
protocol: "Https",
|
|
177
|
+
sslCertificateName: "internal.contoso.com",
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
backendHttpSettings: [
|
|
181
|
+
{
|
|
182
|
+
name: "backend-http-setting",
|
|
183
|
+
port: 80,
|
|
184
|
+
protocol: "Http",
|
|
185
|
+
requestTimeout: 20,
|
|
186
|
+
cookieBasedAffinity: "Disabled",
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
requestRoutingRules: [
|
|
190
|
+
{
|
|
191
|
+
name: "request-routing-rule-1",
|
|
192
|
+
httpListenerName: "http-listener",
|
|
193
|
+
priority: 1,
|
|
194
|
+
backendAddressPoolName: "backend-address-pool-1",
|
|
195
|
+
backendHttpSettingsName: "backend-http-setting",
|
|
196
|
+
ruleType: "Basic",
|
|
197
|
+
},
|
|
198
|
+
],
|
|
199
|
+
wafConfiguration: {
|
|
200
|
+
enabled: true,
|
|
201
|
+
firewallMode: "Detection",
|
|
202
|
+
ruleSetType: "OWASP",
|
|
203
|
+
ruleSetVersion: "3.0",
|
|
204
|
+
disabledRuleGroup: [],
|
|
205
|
+
fileUploadLimitMb: 100,
|
|
206
|
+
requestBodyCheck: false,
|
|
207
|
+
maxRequestBodySizeKb: 32,
|
|
208
|
+
},
|
|
209
|
+
probe: [
|
|
210
|
+
{
|
|
211
|
+
name: "probe-8080",
|
|
212
|
+
interval: 3,
|
|
213
|
+
protocol: "Http",
|
|
214
|
+
path: "/status",
|
|
215
|
+
timeout: 15,
|
|
216
|
+
unhealthyThreshold: 3,
|
|
217
|
+
port: 8080,
|
|
218
|
+
host: "test",
|
|
219
|
+
},
|
|
220
|
+
],
|
|
221
|
+
redirectConfiguration: [
|
|
222
|
+
{
|
|
223
|
+
name: "http-redirect",
|
|
224
|
+
redirectType: "Permanent",
|
|
225
|
+
targetListenerName: "http-listener",
|
|
226
|
+
includePath: true,
|
|
227
|
+
includeQueryString: true,
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
urlPathMap: [
|
|
231
|
+
{
|
|
232
|
+
name: "url-path-map",
|
|
233
|
+
defaultRedirectConfigurationName: "http-redirect",
|
|
234
|
+
pathRule: [
|
|
235
|
+
{
|
|
236
|
+
name: "path-rule-01",
|
|
237
|
+
redirectConfigurationName: "http-redirect",
|
|
238
|
+
paths: ["/helloworld"],
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
},
|
|
242
|
+
],
|
|
243
|
+
sslCertificate: [
|
|
244
|
+
{
|
|
245
|
+
name: "internal.contoso.com",
|
|
246
|
+
keyVaultSecretId: cert.secretId,
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
});
|
|
250
|
+
//Diag Settings
|
|
251
|
+
applicationGateway.addDiagSettings({
|
|
252
|
+
name: "diagsettings",
|
|
253
|
+
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
254
|
+
});
|
|
255
|
+
//RBAC
|
|
256
|
+
applicationGateway.addAccess(clientConfig.objectId, "Contributor");
|
|
257
|
+
// Outputs to use for End to End Test
|
|
258
|
+
const cdktfTerraformOutputKVName = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
259
|
+
value: resourceGroup.name,
|
|
260
|
+
});
|
|
261
|
+
cdktfTerraformOutputKVName.overrideLogicalId("resource_group_name");
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
exports.exampleAzureApplicationGateway = exampleAzureApplicationGateway;
|
|
265
|
+
new exampleAzureApplicationGateway(app, "testAzureApplicationGateway");
|
|
266
|
+
app.synth();
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlQXBwbGljYXRpb25HYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWFwcGxpY2F0aW9uZ2F0ZXdheS90ZXN0L0V4YW1wbGVBenVyZUFwcGxpY2F0aW9uR2F0ZXdheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSxxRUFBaUU7QUFDakUsK0VBQTJFO0FBQzNFLCtEQUE0RDtBQUM1RCxpRkFBNkU7QUFDN0UsK0JBQStCO0FBQy9CLGlDQUE0QjtBQUU1QiwyQ0FBMkM7QUFDM0MsMkNBQThDO0FBQzlDLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFFL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFHLEVBQUUsQ0FBQztBQUV0QixNQUFhLDhCQUErQixTQUFRLHVCQUFhO0lBQy9ELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxvREFBdUIsQ0FDOUMsSUFBSSxFQUNKLHFCQUFxQixFQUNyQixFQUFFLENBQ0gsQ0FBQztRQUVGLElBQUksMEJBQWUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hDLFFBQVEsRUFBRTtnQkFDUixhQUFhLEVBQUU7b0JBQ2Isa0NBQWtDLEVBQUUsS0FBSztpQkFDMUM7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsU0FBUyxFQUFFO2dCQUNULGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQzthQUN4QjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0scUJBQXFCLEdB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QyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFbkUscUNBQXFDO1FBQ3JDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUMxRCxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCO1lBQ0UsS0FBSyxFQUFFLGFBQWEsQ0FBQyxJQUFJO1NBQzFCLENBQ0YsQ0FBQztRQUVGLDBCQUEwQixDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBalJELHdFQWlSQztBQUVELElBQUksOEJBQThCLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDLENBQUM7QUFFdkUsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBQdWJsaWNJcCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHVibGljLWlwXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdWJuZXRcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi92aXJ0dWFsLW5ldHdvcmtcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMga3YgZnJvbSBcIi4uLy4uL2F6dXJlLWtleXZhdWx0XCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSBcIi4uLy4uL3V0aWwvYXp1cmVUZW5hbnRJZEhlbHBlcnNcIjtcbmltcG9ydCAqIGFzIGFwZ3cgZnJvbSBcIi4uL2xpYlwiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmV4cG9ydCBjbGFzcyBleGFtcGxlQXp1cmVBcHBsaWNhdGlvbkdhdGV3YXkgZXh0ZW5kcyBCYXNlVGVzdFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjbGllbnRDb25maWcgPSBuZXcgRGF0YUF6dXJlcm1DbGllbnRDb25maWcoXG4gICAgICB0aGlzLFxuICAgICAgXCJDdXJyZW50Q2xpZW50Q29uZmlnXCIsXG4gICAgICB7fSxcbiAgICApO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcih0aGlzLCBcImF6dXJlRmVhdHVyZVwiLCB7XG4gICAgICBmZWF0dXJlczoge1xuICAgICAgICByZXNvdXJjZUdyb3VwOiB7XG4gICAgICAgICAgcHJldmVudERlbGV0aW9uSWZDb250YWluc1Jlc291cmNlczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICAgIGxpZmVjeWNsZToge1xuICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXCJ0YWdzXCJdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZ0FuYWx5dGljc1dvcmtzcGFjZSA9IG5ldyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBuYW1lOiBgbGEtJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IHZuZXQgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0XCIsIHtcbiAgICAgIG5hbWU6IGB2bmV0LSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBhZGRyZXNzU3BhY2U6IFtcIjEwLjAuMC4wLzI0XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0ID0gbmV3IFN1Ym5ldCh0aGlzLCBcInN1Ym5ldFwiLCB7XG4gICAgICBuYW1lOiBgc3VibmV0LSR7dGhpcy5uYW1lfWAsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgdmlydHVhbE5ldHdvcmtOYW1lOiB2bmV0Lm5hbWUsXG4gICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMC4wLzI0XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGljSXAgPSBuZXcgUHVibGljSXAodGhpcywgXCJwdWJsaWNJcFwiLCB7XG4gICAgICBuYW1lOiBcInRlc3RpcFwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgYWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgIHNrdTogXCJTdGFuZGFyZFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGljSXB3YWYgPSBuZXcgUHVibGljSXAodGhpcywgXCJwdWJsaWNJcHdhZlwiLCB7XG4gICAgICBuYW1lOiBcInRlc3RpcHdhZlwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgYWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgIHNrdTogXCJTdGFuZGFyZFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXp1cmVLZXlWYXVsdCA9IG5ldyBrdi5WYXVsdCh0aGlzLCBcImtleXZhdWx0XCIsIHtcbiAgICAgIG5hbWU6IGBrdi0ke3RoaXMubmFtZX1gLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgdGVuYW50SWQ6IHV0aWwuZ2V0QXp1cmVUZW5hbnRJZCgpLFxuICAgIH0pO1xuICAgIGF6dXJlS2V5VmF1bHQuZ3JhbnRDdXN0b21BY2Nlc3MoY2xpZW50Q29uZmlnLm9iamVjdElkLCB7XG4gICAgICBzZWNyZXRQZXJtaXNzaW9uczogW1wiR2V0XCIsIFwiTGlzdFwiLCBcIlNldFwiLCBcIkRlbGV0ZVwiXSxcbiAgICAgIGtleVBlcm1pc3Npb25zOiBbXG4gICAgICAgIFwiQmFja3VwXCIsXG4gICAgICAgIFwiQ3JlYXRlXCIsXG4gICAgICAgIFwiRGVjcnlwdFwiLFxuICAgICAgICBcIkRlbGV0ZVwiLFxuICAgICAgICBcIkVuY3J5cHRcIixcbiAgICAgICAgXCJHZXRcIixcbiAgICAgICAgXCJJbXBvcnRcIixcbiAgICAgICAgXCJMaXN0XCIsXG4gICAgICAgIFwiUHVyZ2VcIixcbiAgICAgICAgXCJSZWNvdmVyXCIsXG4gICAgICAgIFwiUmVzdG9yZVwiLFxuICAgICAgICBcIlNpZ25cIixcbiAgICAgICAgXCJVbndyYXBLZXlcIixcbiAgICAgICAgXCJVcGRhdGVcIixcbiAgICAgICAgXCJWZXJpZnlcIixcbiAgICAgICAgXCJXcmFwS2V5XCIsXG4gICAgICAgIFwiUmVsZWFzZVwiLFxuICAgICAgICBcIlJvdGF0ZVwiLFxuICAgICAgICBcIkdldFJvdGF0aW9uUG9saWN5XCIsXG4gICAgICAgIFwiU2V0Um90YXRpb25Qb2xpY3lcIixcbiAgICAgIF0sXG4gICAgICBjZXJ0aWZpY2F0ZVBlcm1pc3Npb25zOiBbXG4gICAgICAgIFwiR2V0XCIsXG4gICAgICAgIFwiTGlzdFwiLFxuICAgICAgICBcIkNyZWF0ZVwiLFxuICAgICAgICBcIkRlbGV0ZVwiLFxuICAgICAgICBcIkdldElzc3VlcnNcIixcbiAgICAgICAgXCJNYW5hZ2VJc3N1ZXJzXCIsXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY2VydCA9IGF6dXJlS2V5VmF1bHQuYWRkU2VsZlNpZ25lZENlcnQoXCJzc2wtY2VydFwiLCBcIkNOPWNvbnRvc28uY29tXCIsIFtcbiAgICAgIFwiaW50ZXJuYWwuY29udG9zby5jb21cIixcbiAgICBdKTtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uR2F0ZXdheSA9IG5ldyBhcGd3LkdhdGV3YXkodGhpcywgXCJhcHBnd1wiLCB7XG4gICAgICBuYW1lOiBgYXBndy0ke3RoaXMubmFtZX1gLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgc2t1VGllcjogXCJTdGFuZGFyZF92MlwiLFxuICAgICAgc2t1U2l6ZTogXCJTdGFuZGFyZF92MlwiLFxuICAgICAgY2FwYWNpdHk6IDIsXG4gICAgICBwdWJsaWNJcEFkZHJlc3M6IHB1YmxpY0lwLFxuICAgICAgc3VibmV0OiBzdWJuZXQsXG4gICAgICBiYWNrZW5kQWRkcmVzc1Bvb2xzOiBbXG4gICAgICAgIHsgbmFtZTogXCJiYWNrZW5kLWFkZHJlc3MtcG9vbC0xXCIgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMlwiLFxuICAgICAgICAgIGlwQWRkcmVzc2VzOiBbXCIxMC4xLjAuNFwiLCBcIjEwLjEuMC41XCIsIFwiMTAuMS4wLjZcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgaHR0cExpc3RlbmVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJodHRwLWxpc3RlbmVyXCIsXG4gICAgICAgICAgZnJvbnRlbmRQb3J0TmFtZTogXCI4MFwiLFxuICAgICAgICAgIGZyb250ZW5kSXBDb25maWd1cmF0aW9uTmFtZTogXCJQdWJsaWMtZnJvbnRlbmQtaXAtY29uZmlndXJhdGlvblwiLFxuICAgICAgICAgIHByb3RvY29sOiBcIkh0dHBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBiYWNrZW5kSHR0cFNldHRpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImJhY2tlbmQtaHR0cC1zZXR0aW5nXCIsXG4gICAgICAgICAgcG9ydDogODAsXG4gICAgICAgICAgcHJvdG9jb2w6IFwiSHR0cFwiLFxuICAgICAgICAgIHJlcXVlc3RUaW1lb3V0OiAyMCxcbiAgICAgICAgICBjb29raWVCYXNlZEFmZmluaXR5OiBcIkRpc2FibGVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcmVxdWVzdFJvdXRpbmdSdWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJyZXF1ZXN0LXJvdXRpbmctcnVsZS0xXCIsXG4gICAgICAgICAgaHR0cExpc3RlbmVyTmFtZTogXCJodHRwLWxpc3RlbmVyXCIsXG4gICAgICAgICAgcHJpb3JpdHk6IDEsXG4gICAgICAgICAgYmFja2VuZEFkZHJlc3NQb29sTmFtZTogXCJiYWNrZW5kLWFkZHJlc3MtcG9vbC0xXCIsXG4gICAgICAgICAgYmFja2VuZEh0dHBTZXR0aW5nc05hbWU6IFwiYmFja2VuZC1odHRwLXNldHRpbmdcIixcbiAgICAgICAgICBydWxlVHlwZTogXCJCYXNpY1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIG5ldyBhcGd3LkdhdGV3YXkodGhpcywgXCJhcHBnd193YWZcIiwge1xuICAgICAgbmFtZTogYGFwZ3ctJHt0aGlzLm5hbWV9d2FmYCxcbiAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHNrdVRpZXI6IFwiV0FGX3YyXCIsXG4gICAgICBza3VTaXplOiBcIldBRl92MlwiLFxuICAgICAgY2FwYWNpdHk6IDIsXG4gICAgICBwdWJsaWNJcEFkZHJlc3M6IHB1YmxpY0lwd2FmLFxuICAgICAgdGVuYW50SWQ6IHV0aWwuZ2V0QXp1cmVUZW5hbnRJZCgpLFxuICAgICAgc3VibmV0OiBzdWJuZXQsXG4gICAgICBrZXlWYXVsdDogYXp1cmVLZXlWYXVsdC5rZXlWYXVsdCxcbiAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbHM6IFtcbiAgICAgICAgeyBuYW1lOiBcImJhY2tlbmQtYWRkcmVzcy1wb29sLTFcIiB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJiYWNrZW5kLWFkZHJlc3MtcG9vbC0yXCIsXG4gICAgICAgICAgaXBBZGRyZXNzZXM6IFtcIjEwLjEuMC40XCIsIFwiMTAuMS4wLjVcIiwgXCIxMC4xLjAuNlwiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBodHRwTGlzdGVuZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImh0dHAtbGlzdGVuZXJcIixcbiAgICAgICAgICBmcm9udGVuZFBvcnROYW1lOiBcIjQ0M1wiLFxuICAgICAgICAgIGZyb250ZW5kSXBDb25maWd1cmF0aW9uTmFtZTogXCJQdWJsaWMtZnJvbnRlbmQtaXAtY29uZmlndXJhdGlvblwiLFxuICAgICAgICAgIHByb3RvY29sOiBcIkh0dHBzXCIsXG4gICAgICAgICAgc3NsQ2VydGlmaWNhdGVOYW1lOiBcImludGVybmFsLmNvbnRvc28uY29tXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYmFja2VuZEh0dHBTZXR0aW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJiYWNrZW5kLWh0dHAtc2V0dGluZ1wiLFxuICAgICAgICAgIHBvcnQ6IDgwLFxuICAgICAgICAgIHByb3RvY29sOiBcIkh0dHBcIixcbiAgICAgICAgICByZXF1ZXN0VGltZW91dDogMjAsXG4gICAgICAgICAgY29va2llQmFzZWRBZmZpbml0eTogXCJEaXNhYmxlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlcXVlc3RSb3V0aW5nUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwicmVxdWVzdC1yb3V0aW5nLXJ1bGUtMVwiLFxuICAgICAgICAgIGh0dHBMaXN0ZW5lck5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIHByaW9yaXR5OiAxLFxuICAgICAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbE5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiLFxuICAgICAgICAgIGJhY2tlbmRIdHRwU2V0dGluZ3NOYW1lOiBcImJhY2tlbmQtaHR0cC1zZXR0aW5nXCIsXG4gICAgICAgICAgcnVsZVR5cGU6IFwiQmFzaWNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3YWZDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIGZpcmV3YWxsTW9kZTogXCJEZXRlY3Rpb25cIixcbiAgICAgICAgcnVsZVNldFR5cGU6IFwiT1dBU1BcIixcbiAgICAgICAgcnVsZVNldFZlcnNpb246IFwiMy4wXCIsXG4gICAgICAgIGRpc2FibGVkUnVsZUdyb3VwOiBbXSxcbiAgICAgICAgZmlsZVVwbG9hZExpbWl0TWI6IDEwMCxcbiAgICAgICAgcmVxdWVzdEJvZHlDaGVjazogZmFsc2UsXG4gICAgICAgIG1heFJlcXVlc3RCb2R5U2l6ZUtiOiAzMixcbiAgICAgIH0sXG4gICAgICBwcm9iZTogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJwcm9iZS04MDgwXCIsXG4gICAgICAgICAgaW50ZXJ2YWw6IDMsXG4gICAgICAgICAgcHJvdG9jb2w6IFwiSHR0cFwiLFxuICAgICAgICAgIHBhdGg6IFwiL3N0YXR1c1wiLFxuICAgICAgICAgIHRpbWVvdXQ6IDE1LFxuICAgICAgICAgIHVuaGVhbHRoeVRocmVzaG9sZDogMyxcbiAgICAgICAgICBwb3J0OiA4MDgwLFxuICAgICAgICAgIGhvc3Q6IFwidGVzdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlZGlyZWN0Q29uZmlndXJhdGlvbjogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJodHRwLXJlZGlyZWN0XCIsXG4gICAgICAgICAgcmVkaXJlY3RUeXBlOiBcIlBlcm1hbmVudFwiLFxuICAgICAgICAgIHRhcmdldExpc3RlbmVyTmFtZTogXCJodHRwLWxpc3RlbmVyXCIsXG4gICAgICAgICAgaW5jbHVkZVBhdGg6IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVF1ZXJ5U3RyaW5nOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHVybFBhdGhNYXA6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidXJsLXBhdGgtbWFwXCIsXG4gICAgICAgICAgZGVmYXVsdFJlZGlyZWN0Q29uZmlndXJhdGlvbk5hbWU6IFwiaHR0cC1yZWRpcmVjdFwiLFxuICAgICAgICAgIHBhdGhSdWxlOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwicGF0aC1ydWxlLTAxXCIsXG4gICAgICAgICAgICAgIHJlZGlyZWN0Q29uZmlndXJhdGlvbk5hbWU6IFwiaHR0cC1yZWRpcmVjdFwiLFxuICAgICAgICAgICAgICBwYXRoczogW1wiL2hlbGxvd29ybGRcIl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc3NsQ2VydGlmaWNhdGU6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiaW50ZXJuYWwuY29udG9zby5jb21cIixcbiAgICAgICAgICBrZXlWYXVsdFNlY3JldElkOiBjZXJ0LnNlY3JldElkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vRGlhZyBTZXR0aW5nc1xuICAgIGFwcGxpY2F0aW9uR2F0ZXdheS5hZGREaWFnU2V0dGluZ3Moe1xuICAgICAgbmFtZTogXCJkaWFnc2V0dGluZ3NcIixcbiAgICAgIGxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gICAgfSk7XG5cbiAgICAvL1JCQUNcbiAgICBhcHBsaWNhdGlvbkdhdGV3YXkuYWRkQWNjZXNzKGNsaWVudENvbmZpZy5vYmplY3RJZCwgXCJDb250cmlidXRvclwiKTtcblxuICAgIC8vIE91dHB1dHMgdG8gdXNlIGZvciBFbmQgdG8gRW5kIFRlc3RcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dEtWTmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEtWTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2dyb3VwX25hbWVcIik7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZUFwcGxpY2F0aW9uR2F0ZXdheShhcHAsIFwidGVzdEF6dXJlQXBwbGljYXRpb25HYXRld2F5XCIpO1xuXG5hcHAuc3ludGgoKTtcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtYXBwbGljYXRpb25pbnNpZ2h0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbGliXCI7XG4iXX0=
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ResourceGroup } from "@cdktf/provider-azurerm/lib/resource-group";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { AzureResource } from "../../core-azure/lib";
|
|
4
|
+
/**
|
|
5
|
+
* Properties for the resource group
|
|
6
|
+
*/
|
|
7
|
+
export interface AppInsightsProps {
|
|
8
|
+
/**
|
|
9
|
+
* The Azure Region to deploy.
|
|
10
|
+
*/
|
|
11
|
+
readonly location: string;
|
|
12
|
+
/**
|
|
13
|
+
* The name of the Application Insights resource.
|
|
14
|
+
*/
|
|
15
|
+
readonly name: string;
|
|
16
|
+
/**
|
|
17
|
+
* The name of the Azure Resource Group to deploy to.
|
|
18
|
+
*/
|
|
19
|
+
readonly resourceGroup: ResourceGroup;
|
|
20
|
+
/**
|
|
21
|
+
* The number of days of retention.
|
|
22
|
+
* Possible values are 30, 60, 90, 120, 180, 270, 365, 550 or 730. Defaults to 90.
|
|
23
|
+
* @default 90
|
|
24
|
+
*/
|
|
25
|
+
readonly retentionInDays?: number;
|
|
26
|
+
/**
|
|
27
|
+
* The tags to assign to the Application Insights resource.
|
|
28
|
+
*/
|
|
29
|
+
readonly tags?: {
|
|
30
|
+
[key: string]: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The Application type.
|
|
34
|
+
*/
|
|
35
|
+
readonly applicationType: string;
|
|
36
|
+
/**
|
|
37
|
+
* The Application Insights daily data cap in GB.
|
|
38
|
+
*/
|
|
39
|
+
readonly dailyDataCapInGb?: number;
|
|
40
|
+
/**
|
|
41
|
+
* The Application Insights daily data cap notifications disabled.
|
|
42
|
+
*/
|
|
43
|
+
readonly dailyDataCapNotificationDisabled?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* The id of the Log Analytics Workspace.
|
|
46
|
+
* @default - If no workspace id is provided, a new one will be created automatically
|
|
47
|
+
* in the same resource group. The name will be the same as the Application Insights
|
|
48
|
+
* resource with a "-la" suffix.
|
|
49
|
+
*/
|
|
50
|
+
readonly workspaceId?: string;
|
|
51
|
+
}
|
|
52
|
+
export declare class AppInsights extends AzureResource {
|
|
53
|
+
readonly props: AppInsightsProps;
|
|
54
|
+
resourceGroup: ResourceGroup;
|
|
55
|
+
id: string;
|
|
56
|
+
private readonly instrumentationKey;
|
|
57
|
+
/**
|
|
58
|
+
* Constructs a new Azure Application Insights resource.
|
|
59
|
+
*
|
|
60
|
+
* @param scope - The scope in which to define this construct.
|
|
61
|
+
* @param id - The ID of this construct.
|
|
62
|
+
* @param props - The properties for configuring the Azure Application Insights. The properties include:
|
|
63
|
+
* - `name`: Required. Unique name for the Application Insights resource within Azure.
|
|
64
|
+
* - `location`: Required. Azure Region for deployment.
|
|
65
|
+
* - `resourceGroup`: Required. Reference to the Azure Resource Group for deployment.
|
|
66
|
+
* - `retentionInDays`: Optional. Number of days to retain data. Default is 90 days.
|
|
67
|
+
* - `tags`: Optional. Tags for resource management.
|
|
68
|
+
* - `applicationType`: Required. The type of application (e.g., web, other).
|
|
69
|
+
* - `dailyDataCapInGb`: Optional. Daily data cap in gigabytes.
|
|
70
|
+
* - `dailyDataCapNotificationDisabled`: Optional. Flag to disable notifications when the daily data cap is reached.
|
|
71
|
+
* - `workspaceId`: Optional. ID of the Log Analytics Workspace to associate with Application Insights. If not provided, a new workspace is created automatically.
|
|
72
|
+
*
|
|
73
|
+
* Example usage:
|
|
74
|
+
* ```typescript
|
|
75
|
+
* new AppInsights(this, 'myAppInsights', {
|
|
76
|
+
* name: 'myAppInsightsResource',
|
|
77
|
+
* location: 'West US',
|
|
78
|
+
* resourceGroup: resourceGroup,
|
|
79
|
+
* retentionInDays: 120,
|
|
80
|
+
* tags: {
|
|
81
|
+
* "environment": "production"
|
|
82
|
+
* },
|
|
83
|
+
* applicationType: 'web',
|
|
84
|
+
* dailyDataCapInGb: 10,
|
|
85
|
+
* dailyDataCapNotificationDisabled: true,
|
|
86
|
+
* workspaceId: 'existing-workspace-id'
|
|
87
|
+
* });
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
constructor(scope: Construct, id: string, props: AppInsightsProps);
|
|
91
|
+
/**
|
|
92
|
+
* Saves the Application Insights instrumentation key to an Azure Key Vault.
|
|
93
|
+
*
|
|
94
|
+
* This method creates a new secret in the specified Azure Key Vault with the
|
|
95
|
+
* instrumentation key of the Application Insights resource. This enables secure storage
|
|
96
|
+
* and management of the instrumentation key, facilitating secure access across various
|
|
97
|
+
* Azure services.
|
|
98
|
+
*
|
|
99
|
+
* @param keyVaultId - The unique identifier of the Azure Key Vault where the secret will be stored.
|
|
100
|
+
* @param keyVaultSecretName - The name of the secret within the Key Vault. Defaults to 'instrumentation-key'.
|
|
101
|
+
* This name can be used to retrieve the secret in client applications.
|
|
102
|
+
*
|
|
103
|
+
* Example usage:
|
|
104
|
+
* ```typescript
|
|
105
|
+
* appInsightsInstance.saveIKeyToKeyVault('my-key-vault-id');
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
saveIKeyToKeyVault(keyVaultId: string, keyVaultSecretName?: string): void;
|
|
109
|
+
private setupLogAnalytics;
|
|
110
|
+
}
|