@microsoft/terraform-cdk-constructs 0.0.3-pre.6
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 +17693 -0
- package/API.md +17465 -0
- package/CODE_OF_CONDUCT.md +9 -0
- package/CONTRIBUTING.md +85 -0
- package/LICENSE +21 -0
- package/README.md +58 -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/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 +10 -0
- package/lib/azure-actiongroup/lib/actiongroup.js +46 -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 +172 -0
- package/lib/azure-applicationgateway/lib/gateway.js +123 -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 +60 -0
- package/lib/azure-applicationinsights/lib/appinsights.js +85 -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 +41 -0
- package/lib/azure-containerregistry/lib/registry.js +47 -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 +14 -0
- package/lib/azure-datalake/lib/datalake.js +42 -0
- package/lib/azure-datalake/lib/filesystem.d.ts +19 -0
- package/lib/azure-datalake/lib/filesystem.js +32 -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 +12 -0
- package/lib/azure-datalake/lib/path.js +14 -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 +28 -0
- package/lib/azure-eventhub/lib/authorization.js +54 -0
- package/lib/azure-eventhub/lib/cluster.d.ts +27 -0
- package/lib/azure-eventhub/lib/cluster.js +35 -0
- package/lib/azure-eventhub/lib/consumer.d.ts +26 -0
- package/lib/azure-eventhub/lib/consumer.js +31 -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 +46 -0
- package/lib/azure-eventhub/lib/instance.js +66 -0
- package/lib/azure-eventhub/lib/kusto-connection.d.ts +68 -0
- package/lib/azure-eventhub/lib/kusto-connection.js +35 -0
- package/lib/azure-eventhub/lib/namespace.d.ts +77 -0
- package/lib/azure-eventhub/lib/namespace.js +58 -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 +39 -0
- package/lib/azure-keyvault/lib/certificate.js +94 -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 +36 -0
- package/lib/azure-keyvault/lib/key.js +33 -0
- package/lib/azure-keyvault/lib/policy.d.ts +46 -0
- package/lib/azure-keyvault/lib/policy.js +26 -0
- package/lib/azure-keyvault/lib/secret.d.ts +39 -0
- package/lib/azure-keyvault/lib/secret.js +33 -0
- package/lib/azure-keyvault/lib/vault.d.ts +94 -0
- package/lib/azure-keyvault/lib/vault.js +208 -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 +72 -0
- package/lib/azure-kubernetes/lib/cluster.js +42 -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 +83 -0
- package/lib/azure-kusto/lib/cluster.js +85 -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 +59 -0
- package/lib/azure-kusto/lib/database.js +77 -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 +116 -0
- package/lib/azure-loganalytics/lib/workspace.js +79 -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 +17 -0
- package/lib/azure-metricalert/lib/metric-alert.js +89 -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 +98 -0
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +82 -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 +144 -0
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +174 -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 +38 -0
- package/lib/azure-resourcegroup/lib/resource-group.js +49 -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 +205 -0
- package/lib/azure-storageaccount/lib/account.js +198 -0
- package/lib/azure-storageaccount/lib/container.d.ts +40 -0
- package/lib/azure-storageaccount/lib/container.js +85 -0
- package/lib/azure-storageaccount/lib/fileshare.d.ts +69 -0
- package/lib/azure-storageaccount/lib/fileshare.js +90 -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 +6 -0
- package/lib/azure-storageaccount/lib/queue.js +23 -0
- package/lib/azure-storageaccount/lib/table.d.ts +6 -0
- package/lib/azure-storageaccount/lib/table.js +23 -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 +205 -0
- package/lib/azure-virtualmachine/lib/vm.js +207 -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 +234 -0
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +174 -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 +61 -0
- package/lib/azure-virtualnetwork/lib/network.js +60 -0
- package/lib/azure-virtualnetwork/lib/peering.d.ts +51 -0
- package/lib/azure-virtualnetwork/lib/peering.js +32 -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 +52 -0
- package/lib/core-azure/lib/diagsettings.js +46 -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 +32 -0
- package/lib/core-azure/lib/rbac.js +30 -0
- package/lib/core-azure/lib/resource.d.ts +17 -0
- package/lib/core-azure/lib/resource.js +74 -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 +159 -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,167 @@
|
|
|
1
|
+
{
|
|
2
|
+
"//": {
|
|
3
|
+
"metadata": {
|
|
4
|
+
"backend": "local",
|
|
5
|
+
"overrides": {
|
|
6
|
+
"azurerm_monitor_diagnostic_setting": [
|
|
7
|
+
"dynamic"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"stackName": "testExampleAzureResource",
|
|
11
|
+
"version": "0.17.3"
|
|
12
|
+
},
|
|
13
|
+
"outputs": {
|
|
14
|
+
"testExampleAzureResource": {
|
|
15
|
+
"diag_settings_name": "diag_settings_name",
|
|
16
|
+
"storage_account_id": "storage_account_id"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"data": {
|
|
21
|
+
"azurerm_client_config": {
|
|
22
|
+
"CurrentClientConfig": {
|
|
23
|
+
"//": {
|
|
24
|
+
"metadata": {
|
|
25
|
+
"path": "testExampleAzureResource/CurrentClientConfig",
|
|
26
|
+
"uniqueId": "CurrentClientConfig"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"azurerm_monitor_diagnostic_categories": {
|
|
32
|
+
"TfTokenTOKEN0_diagsettings_diagcategories_F03F51DC": {
|
|
33
|
+
"//": {
|
|
34
|
+
"metadata": {
|
|
35
|
+
"path": "testExampleAzureResource/${var.name}/diagsettings/diagcategories",
|
|
36
|
+
"uniqueId": "TfTokenTOKEN0_diagsettings_diagcategories_F03F51DC"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"resource_id": "${azurerm_storage_account.TfTokenTOKEN0_storage_36989BFF.id}"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"output": {
|
|
44
|
+
"diag_settings_name": {
|
|
45
|
+
"value": "diagsettings"
|
|
46
|
+
},
|
|
47
|
+
"storage_account_id": {
|
|
48
|
+
"value": "${azurerm_storage_account.TfTokenTOKEN0_storage_36989BFF.id}"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"provider": {
|
|
52
|
+
"azurerm": [
|
|
53
|
+
{
|
|
54
|
+
"features": {
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"resource": {
|
|
60
|
+
"azurerm_monitor_diagnostic_setting": {
|
|
61
|
+
"TfTokenTOKEN0_diagsettings_9ABC15DD": {
|
|
62
|
+
"//": {
|
|
63
|
+
"metadata": {
|
|
64
|
+
"path": "testExampleAzureResource/${var.name}/diagsettings/diagsettings",
|
|
65
|
+
"uniqueId": "TfTokenTOKEN0_diagsettings_9ABC15DD"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"dynamic": {
|
|
69
|
+
"enabled_log": {
|
|
70
|
+
"content": {
|
|
71
|
+
"category": "${enabled_log.value}"
|
|
72
|
+
},
|
|
73
|
+
"for_each": "${tolist(data.azurerm_monitor_diagnostic_categories.TfTokenTOKEN0_diagsettings_diagcategories_F03F51DC.log_category_types)}"
|
|
74
|
+
},
|
|
75
|
+
"metric": {
|
|
76
|
+
"content": {
|
|
77
|
+
"category": "${metric.value}"
|
|
78
|
+
},
|
|
79
|
+
"for_each": "${tolist(data.azurerm_monitor_diagnostic_categories.TfTokenTOKEN0_diagsettings_diagcategories_F03F51DC.metrics)}"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"name": "diagsettings",
|
|
83
|
+
"storage_account_id": "${azurerm_storage_account.TfTokenTOKEN0_storage_36989BFF.id}",
|
|
84
|
+
"target_resource_id": "${azurerm_storage_account.TfTokenTOKEN0_storage_36989BFF.id}"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"azurerm_resource_group": {
|
|
88
|
+
"rg": {
|
|
89
|
+
"//": {
|
|
90
|
+
"metadata": {
|
|
91
|
+
"path": "testExampleAzureResource/rg",
|
|
92
|
+
"uniqueId": "rg"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"location": "eastus",
|
|
96
|
+
"name": "rg-${var.name}"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"azurerm_role_assignment": {
|
|
100
|
+
"TfTokenTOKEN0_TfTokenTOKEN4Contributor_role_E485501F": {
|
|
101
|
+
"//": {
|
|
102
|
+
"metadata": {
|
|
103
|
+
"path": "testExampleAzureResource/${var.name}/${data.azurerm_client_config.CurrentClientConfig.object_id}Contributor/role",
|
|
104
|
+
"uniqueId": "TfTokenTOKEN0_TfTokenTOKEN4Contributor_role_E485501F"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"principal_id": "${data.azurerm_client_config.CurrentClientConfig.object_id}",
|
|
108
|
+
"role_definition_name": "Contributor",
|
|
109
|
+
"scope": "${azurerm_storage_account.TfTokenTOKEN0_storage_36989BFF.id}"
|
|
110
|
+
},
|
|
111
|
+
"TfTokenTOKEN0_TfTokenTOKEN5MonitoringReader_role_AF40768F": {
|
|
112
|
+
"//": {
|
|
113
|
+
"metadata": {
|
|
114
|
+
"path": "testExampleAzureResource/${var.name}/${data.azurerm_client_config.CurrentClientConfig.object_id}Monitoring Reader/role",
|
|
115
|
+
"uniqueId": "TfTokenTOKEN0_TfTokenTOKEN5MonitoringReader_role_AF40768F"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"principal_id": "${data.azurerm_client_config.CurrentClientConfig.object_id}",
|
|
119
|
+
"role_definition_name": "Monitoring Reader",
|
|
120
|
+
"scope": "${azurerm_storage_account.TfTokenTOKEN0_storage_36989BFF.id}"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"azurerm_storage_account": {
|
|
124
|
+
"TfTokenTOKEN0_storage_36989BFF": {
|
|
125
|
+
"//": {
|
|
126
|
+
"metadata": {
|
|
127
|
+
"path": "testExampleAzureResource/${var.name}/storage",
|
|
128
|
+
"uniqueId": "TfTokenTOKEN0_storage_36989BFF"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"account_replication_type": "LRS",
|
|
132
|
+
"account_tier": "Standard",
|
|
133
|
+
"location": "${azurerm_resource_group.rg.location}",
|
|
134
|
+
"min_tls_version": "TLS1_2",
|
|
135
|
+
"name": "sta${var.name}96m98",
|
|
136
|
+
"network_rules": {
|
|
137
|
+
"bypass": [
|
|
138
|
+
"AzureServices"
|
|
139
|
+
],
|
|
140
|
+
"default_action": "Deny"
|
|
141
|
+
},
|
|
142
|
+
"public_network_access_enabled": false,
|
|
143
|
+
"resource_group_name": "${azurerm_resource_group.rg.name}"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"terraform": {
|
|
148
|
+
"backend": {
|
|
149
|
+
"local": {
|
|
150
|
+
"path": "/home/runner/work/terraform-cdk-modules/terraform-cdk-modules/terraform.testExampleAzureResource.tfstate"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"required_providers": {
|
|
154
|
+
"azurerm": {
|
|
155
|
+
"source": "azurerm",
|
|
156
|
+
"version": "3.70.0"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"variable": {
|
|
161
|
+
"name": {
|
|
162
|
+
"default": "test",
|
|
163
|
+
"description": "System name used to randomize the resources",
|
|
164
|
+
"type": "string"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# Azure CDK Library Design Guidelines
|
|
2
|
+
|
|
3
|
+
This document aims to establish a set of guidelines for the development of modules within the Azure Construct Library, with the objective of achieving a uniform and cohesive user experience throughout all constructs.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
- [Introduction](#introduction)
|
|
7
|
+
- [Module Organization](#module-organization)
|
|
8
|
+
- [Construct Classes](#construct-classes)
|
|
9
|
+
- [Object-Oriented Design](#object-oriented-design)
|
|
10
|
+
- [Props](#props)
|
|
11
|
+
- [Defaults](#defaults)
|
|
12
|
+
- [Essential Inputs](#essential-inputs)
|
|
13
|
+
- [Default Configuration](#default-configuration)
|
|
14
|
+
- [Simplified Props Structure](#simplified-props-structure)
|
|
15
|
+
- [Documentation of Properties](#documentation-of-properties)
|
|
16
|
+
- [Implementation Details](#implementation-details)
|
|
17
|
+
- [Stable Construct IDs](#stable-construct-ids)
|
|
18
|
+
- [Testing](#testing)
|
|
19
|
+
- [Naming and Coding Style](#naming-and-coding-style)
|
|
20
|
+
- [Naming Conventions](#naming-conventions)
|
|
21
|
+
- [Coding Style](#coding-style)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## Introduction
|
|
25
|
+
|
|
26
|
+
The guidelines in this document use TypeScript (and npm package names) since
|
|
27
|
+
this is the source programming language used to author the library, which is
|
|
28
|
+
later packaged and published to all programming languages through
|
|
29
|
+
[jsii](https://github.com/awslabs/jsii).
|
|
30
|
+
|
|
31
|
+
In the creation of modules for the CDK library, we adhere to these standards:
|
|
32
|
+
|
|
33
|
+
- **User-Centric Design**: Our modules focus on the user's way of thinking, not how the backend system works. We allow multiple methods to accomplish the same goal to cater to different users.
|
|
34
|
+
|
|
35
|
+
- **Comprehensive**: The CDK Library offers easy defaults to start with best practices but lets users adjust as they see fit. It uses a layered design, so users can pick their preferred complexity.
|
|
36
|
+
|
|
37
|
+
- **Open & Extensible**: It's an internally open framework that allows for customization. Anyone can contribute and share their constructs.
|
|
38
|
+
|
|
39
|
+
- **Made for jsii**: Built using jsii, the library supports all its languages. However, some language features might be restricted to ensure smooth translation across languages.
|
|
40
|
+
|
|
41
|
+
- **Backwards Compatibility when possible**: Rolling out changes to IaC code is combersome and time consuming. We will strive to make backwards compatible changes that do not affect the user and the coding experience.
|
|
42
|
+
|
|
43
|
+
## Module Organization
|
|
44
|
+
Azure CDK module are organized into modules based on their Azure service such as a Storage Account or AKS cluster. They live in the `src` folder and start with the name of the provider followed by a `-` and then the name of the module in all lower case. Azure modules start with the `azure-` prefix. For example:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
azure-applicationinsights
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Project Structure
|
|
51
|
+
|
|
52
|
+
The code for each construct shoudl live under `lib/' in each construct directoy. There should be a `lib/index.ts` file in each directoy that contains the imports for other files. You can run `npm run generate-index` to automatically generate the index.ts files in your construct directoy:
|
|
53
|
+
```
|
|
54
|
+
/src/azure-applicationinsights/lib/appinsights.ts // construct code
|
|
55
|
+
/src/azure-applicationsingiths/lib/index.ts // contains export
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### Construct Classes
|
|
60
|
+
Terraform constructs in the context of the CDK for Terraform (CDKTF) are also basic building blocks but for Terraform-based infrastructure as code. They encapsulate both low-level resources, like an individual Azure AKS cluster, and higher-level abstractions, which can be a combination of related resources that make up a complex infrastructure service, like a serverless application.
|
|
61
|
+
|
|
62
|
+
#### Object-Oriented Design
|
|
63
|
+
|
|
64
|
+
The Azure CDK enhances the developer experience by allowing the use of object references. This means that when developers use these modules, they can interact directly with the objects representing Azure resources, rather than just their individual attributes. This interaction is more intuitive as it gives access to all of the resource's runtime properties, like its unique Id. Additionally, developers can take advantage of the built-in logic that the object provides, making it easier to manage and use Azure resources in their code.
|
|
65
|
+
|
|
66
|
+
Here's an example when a user defines a Log Analytics Workspace, they can use built in methods to assign access or pass the object to another method to configure logging to this object:
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
const logAnalytics = new AzureLogAnalytics(app, 'myla', {
|
|
70
|
+
name: "la-test",
|
|
71
|
+
location: 'eastus',
|
|
72
|
+
resource_group_name: "rg-test",
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
logAnalytics.addAccess(userObjectId, "Contributor") // Set contributor access on Log Analytics Workspace to user object id
|
|
76
|
+
aks.addLogging(logAnalytics) // configure AKS object to log to Log Analytics Workspace
|
|
77
|
+
```
|
|
78
|
+
The principle of "Separation of Concerns" in Object-Oriented (OO) design dictates that a class or module should only be responsible for a specific function or concern. It shouldn't be jumbled with other unrelated functionalities. This design makes systems more modular, easier to understand, and adaptable to changes.
|
|
79
|
+
|
|
80
|
+
In this example, the AKS class only knows that it needs to log somewhere, but it doesn't need to be concerned with the specifics of how Log Analytics works. That's the responsibility of the Log Analytics class.
|
|
81
|
+
|
|
82
|
+
This abstraction ensures two benefits:
|
|
83
|
+
- **Future-Proofing**: If, in the future, the way AKS interacts with Log Analytics changes, you can simply modify how the AKS class uses Log Analytics without making broad changes to the AKS class's public API.
|
|
84
|
+
- **Independence**: The Log Analytics class can undergo changes in its behavior or methods without impacting the classes that use it. This makes both classes more adaptable and resilient to changes.
|
|
85
|
+
|
|
86
|
+
In simpler words, think of this like a TV and a remote. The remote (akin to our AKS class) can change channels (log data), but it doesn't need to know the intricate workings of the TV (akin to Log Analytics). If the TV's internals change, the remote's basic functions remain the same. Separation of concerns ensures each device (or class in our case) does its job independently but can work together when needed.
|
|
87
|
+
|
|
88
|
+
#### Props
|
|
89
|
+
|
|
90
|
+
Props are essential when creating a construct because they define how you interact with it. Think of props as the starting point or the main settings for the construct. They cover all the features that the service offers and are designed to be easy for developers to understand and use, matching the way they naturally think about the service and what it can do.
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
Props are interfaces that contain `Props` at the end of the name:
|
|
94
|
+
```typescript
|
|
95
|
+
export interface KeyVaultProps {
|
|
96
|
+
/**
|
|
97
|
+
* The name of the Key Vault.
|
|
98
|
+
*/
|
|
99
|
+
readonly name: string;
|
|
100
|
+
/**
|
|
101
|
+
* The Azure Region to deploy the Key Vault.
|
|
102
|
+
*/
|
|
103
|
+
readonly location: string;
|
|
104
|
+
```
|
|
105
|
+
They are fed into the Class and allow for setting defaults:
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
export class AzureKeyVault extends Construct {
|
|
109
|
+
readonly props: KeyVaultProps;
|
|
110
|
+
public readonly id: string;
|
|
111
|
+
private accessPolicies: AzureKeyVaultPolicy[] = [];
|
|
112
|
+
|
|
113
|
+
constructor(scope: Construct, id: string, props: KeyVaultProps) {
|
|
114
|
+
super(scope, id);
|
|
115
|
+
|
|
116
|
+
this.props = props;
|
|
117
|
+
|
|
118
|
+
// Provide default values
|
|
119
|
+
const purgeProtection = props.purgeProtection ?? true;
|
|
120
|
+
const sku = props.sku ?? "standard";
|
|
121
|
+
const softDeleteRetentionDays = props.softDeleteRetentionDays ?? 90;
|
|
122
|
+
|
|
123
|
+
// Create Azure Key Vault resource and feed in values from props interface
|
|
124
|
+
const azurermKeyVault =
|
|
125
|
+
new KeyVault(this, 'key_vault', {
|
|
126
|
+
name: props.name,
|
|
127
|
+
location: props.location,
|
|
128
|
+
resourceGroupName: props.resource_group_name,
|
|
129
|
+
tags: props.tags,
|
|
130
|
+
skuName: sku,
|
|
131
|
+
tenantId: props.tenant_id,
|
|
132
|
+
networkAcls: props.networkAcls,
|
|
133
|
+
purgeProtectionEnabled: purgeProtection,
|
|
134
|
+
softDeleteRetentionDays: softDeleteRetentionDays,
|
|
135
|
+
});
|
|
136
|
+
this.id = azurermKeyVault.id;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
The props interface creates the user experience when deploying the class:
|
|
140
|
+
```typescript
|
|
141
|
+
new AzureKeyVault(stack, 'testAzureKeyVaultDefaults', {
|
|
142
|
+
name: `kv-test`,
|
|
143
|
+
location: 'eastus',
|
|
144
|
+
resource_group_name: "rg-test" ,
|
|
145
|
+
tenant_id: '123e4567-e89b-12d3-a456-426614174000',
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
When you're setting up the properties (props) for an Azure resource in your code, look at how it's done in the Azure Portal—the web interface where you create and manage Azure resources. The Azure service teams put a lot of thought into making the Portal user-friendly. By understanding how the Portal guides a user to create a resource, you can get a good idea of how users think about the service. If your code's props are similar to the Portal's process, it will be easier for users to switch between using the Portal and using your code to manage Azure resources.
|
|
150
|
+
|
|
151
|
+
### Defaults
|
|
152
|
+
|
|
153
|
+
#### Essential Inputs
|
|
154
|
+
To ensure users have an effortless experience, design modules with only the essential required inputs. All other inputs can use defaults to provide the user with the best practice configuration:
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
// ❌ DO NOT - Create unecessary inputs with no defaults
|
|
158
|
+
new AzureAks(app, {
|
|
159
|
+
// Provide values for all required properties
|
|
160
|
+
certificates: {},
|
|
161
|
+
clusterAdminGroupIds: [],
|
|
162
|
+
clusterNodePoolSettings: clusterNodePoolSettings,
|
|
163
|
+
clusterVersion: '1.25.5',
|
|
164
|
+
environment: 'env',
|
|
165
|
+
location: 'eastus',
|
|
166
|
+
frontEndSubnetId: "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-resource-group/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/apgw",
|
|
167
|
+
name: 'dev-tftest-platform',
|
|
168
|
+
pipZones: "",
|
|
169
|
+
apgwFrontendIpConfigurationPrivateIp: "10.8.0.50",
|
|
170
|
+
wafConfiguration: {
|
|
171
|
+
"enabled": false,
|
|
172
|
+
"firewall_mode": "Detection",
|
|
173
|
+
"rule_set_type": "OWASP",
|
|
174
|
+
...
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```ts
|
|
178
|
+
// ✅ DO - create only the essential required inputs
|
|
179
|
+
new AzureAks(app, {
|
|
180
|
+
clusterVersion: '1.25.5',
|
|
181
|
+
location: 'eastus',
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
> A good way to identify the most appropriate default settings, consult the [Azure Portal](https://portal.azure.com/signin/index/) resource creation process. Often, you'll find they align.
|
|
186
|
+
|
|
187
|
+
#### Default Configuration
|
|
188
|
+
|
|
189
|
+
Set a property (prop) as required only if you can't assign a default value or calculate it automatically. Choosing sensible default values makes it easier for developers to use your module.
|
|
190
|
+
|
|
191
|
+
The **@default** documentation tag must be included on all optional properties
|
|
192
|
+
of interfaces.
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
/**
|
|
196
|
+
* Application type for Application Insights resource
|
|
197
|
+
* @default web will be the default option.
|
|
198
|
+
*/
|
|
199
|
+
readonly applicationType?: string;
|
|
200
|
+
/**
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
#### Simplified Props Structure
|
|
204
|
+
|
|
205
|
+
Avoid creating unnecessary sub-levels in your properties structure as it can make the code harder to work with, especially in certain programming languages like Java.
|
|
206
|
+
|
|
207
|
+
Instead, use a common prefix for related properties. This approach groups them together in both the documentation and when using code completion tools.
|
|
208
|
+
|
|
209
|
+
So rather than having a property setup like this:
|
|
210
|
+
|
|
211
|
+
```ts
|
|
212
|
+
new ApplicationGateway(this, 'appgw', {
|
|
213
|
+
sku: {
|
|
214
|
+
name: 'Standard_Small',
|
|
215
|
+
tier: 'Standard',
|
|
216
|
+
capacity: 2,
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
It's better to simplify the structure like this:
|
|
222
|
+
```ts
|
|
223
|
+
new ApplicationGateway(this, 'appgw', {
|
|
224
|
+
skuName: 'Standard_Small',
|
|
225
|
+
skuTier: 'Standard',
|
|
226
|
+
skuCapacity: 2,
|
|
227
|
+
});
|
|
228
|
+
```
|
|
229
|
+
This way, the properties are easier to find and use.
|
|
230
|
+
|
|
231
|
+
#### Documentation of Properties
|
|
232
|
+
|
|
233
|
+
Every prop must have detailed documentation. It is recommended to **copy** from
|
|
234
|
+
the official Azure Provider Terraform documentation so that language and style
|
|
235
|
+
will match the service.
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
## Implementation Details
|
|
239
|
+
|
|
240
|
+
The following guidelines and recommendations apply are related to the
|
|
241
|
+
implementation of Azure constructs..
|
|
242
|
+
|
|
243
|
+
### Stable Construct IDs
|
|
244
|
+
|
|
245
|
+
When you create a construct in your code, the second piece of information you provide is the construct ID. This ID is crucial because it helps to keep the resource's identity consistent over time, even when you update your infrastructure. The full path of the construct within the hierarchy of your code determines its stable identity, called the "logical ID".
|
|
246
|
+
|
|
247
|
+
Changing a logical ID by altering its path can lead to all the resources in that path being replaced on the next update, which can cause a lot of problems and is best avoided.
|
|
248
|
+
|
|
249
|
+
Always use the ID “Resource” for the main resource in an Azure construct. Think of construct IDs and their place in the code hierarchy as a promise you make to users; any change to them is a big deal and should be clearly communicated as such.
|
|
250
|
+
|
|
251
|
+
If you need to make sure each resource is unique and find yourself adding together IDs to do that, it may be a sign that you need a new level of abstraction, or you might just need a new construct instance to organize things:
|
|
252
|
+
|
|
253
|
+
```ts
|
|
254
|
+
const privateSubnets = new Construct(this, 'PrivateSubnets');
|
|
255
|
+
const publicSubnets = new Construct(this, 'PublishSubnets');
|
|
256
|
+
|
|
257
|
+
for (const az of availabilityZones) {
|
|
258
|
+
new Subnet(privateSubnets, az);
|
|
259
|
+
new Subnet(publicSubnets, az, { public: true });
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
In this example, privateSubnets and publicSubnets serve as separate groupings, ensuring that each Subnet within them is unique without needing to combine IDs.
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
## Testing
|
|
266
|
+
|
|
267
|
+
Check out the [Testing guide](testing.md) on how to write unit tests and integration tests.
|
|
268
|
+
|
|
269
|
+
## Naming and Coding Style
|
|
270
|
+
|
|
271
|
+
### Naming Conventions
|
|
272
|
+
- Use PascalCase for naming classes. Example: **BlobStorage**.
|
|
273
|
+
- Use camelCase for properties and methods. Example: **storageAccountName** or **createResourceGroup()**.
|
|
274
|
+
- For data structures that aren't classes, use PascalCase. Example: **ResourceOptions**.
|
|
275
|
+
- Enumerations should also be in PascalCase, but their individual members should be in UPPERCASE with underscores. Example: **SKU_TYPES { BASIC, STANDARD, PREMIUM }**.
|
|
276
|
+
|
|
277
|
+
### Coding Style
|
|
278
|
+
- Use 2 spaces to indent your code.
|
|
279
|
+
- Keep lines shorter than 150 characters.
|
|
280
|
+
- Prefer single quotes ' or backticks ` for strings.
|
|
281
|
+
- End statements with a semicolon ;.
|
|
282
|
+
- Write comments in lowercase and finish with a full stop.
|
|
283
|
+
|
|
284
|
+
Here's a quick example using these conventions:
|
|
285
|
+
|
|
286
|
+
```typescript
|
|
287
|
+
class BlobStorage {
|
|
288
|
+
storageAccountName: string;
|
|
289
|
+
|
|
290
|
+
constructor(accountName: string) {
|
|
291
|
+
this.storageAccountName = accountName;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
createContainer(containerName: string) {
|
|
295
|
+
// code to create a container.
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
interface ResourceConfigurationProps {
|
|
300
|
+
location: string;
|
|
301
|
+
tags?: string[];
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
enum SKU_TYPES {
|
|
305
|
+
BASIC,
|
|
306
|
+
STANDARD,
|
|
307
|
+
PREMIUM,
|
|
308
|
+
}
|
|
309
|
+
```
|