@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,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtc3RvcmFnZWFjY291bnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xpYlwiO1xuIl19
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { ResourceGroup } from "@cdktf/provider-azurerm/lib/resource-group";
|
|
2
|
+
import { StorageAccountNetworkRulesA, StorageAccountNetworkRulesPrivateLinkAccessA } from "@cdktf/provider-azurerm/lib/storage-account-network-rules";
|
|
3
|
+
import { StorageTableAcl } from "@cdktf/provider-azurerm/lib/storage-table";
|
|
4
|
+
import { Construct } from "constructs";
|
|
5
|
+
import { Container } from "./container";
|
|
6
|
+
import { FileShare, FileShareProps } from "./fileshare";
|
|
7
|
+
import { Queue } from "./queue";
|
|
8
|
+
import { Table } from "./table";
|
|
9
|
+
import { AzureResourceWithAlert } from "../../core-azure/lib";
|
|
10
|
+
export interface NetworkRulesProps {
|
|
11
|
+
/**
|
|
12
|
+
* Specifies which traffic to bypass from the network rules. The possible values are 'AzureServices', 'Logging', 'Metrics',
|
|
13
|
+
* and 'None'. Bypassing 'AzureServices' enables Azure's internal services to access the storage account.
|
|
14
|
+
*/
|
|
15
|
+
readonly bypass?: string[];
|
|
16
|
+
/**
|
|
17
|
+
* The default action of the network rule set. Options are 'Allow' or 'Deny'. Set to 'Deny' to enable network rules and restrict
|
|
18
|
+
* access to the storage account. 'Allow' permits access by default.
|
|
19
|
+
*/
|
|
20
|
+
readonly defaultAction: string;
|
|
21
|
+
/**
|
|
22
|
+
* An array of IP rules to allow access to the storage account. These are specified as CIDR ranges.
|
|
23
|
+
* Example: ['1.2.3.4/32', '5.6.7.0/24'] to allow specific IPs/subnets.
|
|
24
|
+
*/
|
|
25
|
+
readonly ipRules?: string[];
|
|
26
|
+
/**
|
|
27
|
+
* An array of virtual network subnet IDs that are allowed to access the storage account. This enables you to secure the storage
|
|
28
|
+
* account to a specific virtual network and subnet within Azure.
|
|
29
|
+
*/
|
|
30
|
+
readonly virtualNetworkSubnetIds?: string[];
|
|
31
|
+
/**
|
|
32
|
+
* An array of objects representing the private link access settings. Each object in the array defines the sub-resource name
|
|
33
|
+
* (e.g., 'blob', 'file') and its respective private endpoint connections for the storage account.
|
|
34
|
+
*/
|
|
35
|
+
readonly privateLinkAccess?: StorageAccountNetworkRulesPrivateLinkAccessA[];
|
|
36
|
+
}
|
|
37
|
+
export interface AccountProps {
|
|
38
|
+
/**
|
|
39
|
+
* The type of replication to use for the storage account. This determines how your data is replicated across Azure's infrastructure.
|
|
40
|
+
* Example values: LRS (Locally Redundant Storage), GRS (Geo-Redundant Storage), RAGRS (Read Access Geo-Redundant Storage).
|
|
41
|
+
*/
|
|
42
|
+
readonly accountReplicationType?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The performance tier of the storage account. Determines the type of hardware and performance level.
|
|
45
|
+
* Example values: Standard, Premium.
|
|
46
|
+
*/
|
|
47
|
+
readonly accountTier?: string;
|
|
48
|
+
/**
|
|
49
|
+
* The Azure region in which to create the storage account.
|
|
50
|
+
*/
|
|
51
|
+
readonly location: string;
|
|
52
|
+
/**
|
|
53
|
+
* The name of the storage account. Must be unique across Azure.
|
|
54
|
+
*/
|
|
55
|
+
readonly name: string;
|
|
56
|
+
/**
|
|
57
|
+
* The name of the Azure resource group in which to create the storage account.
|
|
58
|
+
*/
|
|
59
|
+
readonly resourceGroup?: ResourceGroup;
|
|
60
|
+
/**
|
|
61
|
+
* Tags to apply to the storage account, used for categorization and billing purposes.
|
|
62
|
+
* Format: { [key: string]: string }
|
|
63
|
+
*/
|
|
64
|
+
readonly tags?: {
|
|
65
|
+
readonly [key: string]: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* A boolean flag indicating whether to enforce HTTPS for data transfer to the storage account.
|
|
69
|
+
*/
|
|
70
|
+
readonly enableHttpsTrafficOnly?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Managed Service Identity (MSI) details. Used for enabling and managing Azure Active Directory (AAD) authentication.
|
|
73
|
+
*/
|
|
74
|
+
readonly identity?: any;
|
|
75
|
+
/**
|
|
76
|
+
* The data access tier of the storage account, which impacts storage costs and data retrieval speeds.
|
|
77
|
+
* Example values: Hot, Cool.
|
|
78
|
+
*/
|
|
79
|
+
readonly accessTier?: string;
|
|
80
|
+
/**
|
|
81
|
+
* A flag indicating whether the Hierarchical Namespace (HNS) is enabled, which is required for Azure Data Lake Storage Gen2 features.
|
|
82
|
+
*/
|
|
83
|
+
readonly isHnsEnabled?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* The minimum TLS version to be used for securing connections to the storage account.
|
|
86
|
+
* Example values: TLS1_0, TLS1_1, TLS1_2.
|
|
87
|
+
*/
|
|
88
|
+
readonly minTlsVersion?: string;
|
|
89
|
+
/**
|
|
90
|
+
* A boolean flag indicating whether public network access to the storage account is allowed.
|
|
91
|
+
*/
|
|
92
|
+
readonly publicNetworkAccessEnabled?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.92.0/docs/resources/storage_account#account_kind StorageAccount#account_kind}
|
|
95
|
+
*/
|
|
96
|
+
readonly accountKind?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Represents an Azure Storage Account within a Terraform deployment.
|
|
100
|
+
* This class provides methods to easily manage storage resources such as Containers,
|
|
101
|
+
* File Shares, Tables, Queues, and Network Rules.
|
|
102
|
+
*
|
|
103
|
+
* Example usage:
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
|
|
106
|
+
* name: 'myStorageAccount',
|
|
107
|
+
* location: 'East US',
|
|
108
|
+
* resourceGroup: myResourceGroup,
|
|
109
|
+
* accountReplicationType: 'LRS',
|
|
110
|
+
* accountTier: 'Standard',
|
|
111
|
+
* // other properties
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare class Account extends AzureResourceWithAlert {
|
|
116
|
+
readonly props: AccountProps;
|
|
117
|
+
id: string;
|
|
118
|
+
readonly name: string;
|
|
119
|
+
readonly location: string;
|
|
120
|
+
resourceGroup: ResourceGroup;
|
|
121
|
+
readonly accountKind: string;
|
|
122
|
+
readonly accountTier: string;
|
|
123
|
+
private readonly containers;
|
|
124
|
+
private readonly shares;
|
|
125
|
+
private readonly tables;
|
|
126
|
+
/**
|
|
127
|
+
* Initializes a new AzureStorageAccount.
|
|
128
|
+
* @param scope The scope in which to define this construct.
|
|
129
|
+
* @param id The scoped construct ID.
|
|
130
|
+
* @param props Configuration properties for the Azure Storage Account.
|
|
131
|
+
*/
|
|
132
|
+
constructor(scope: Construct, id: string, props: AccountProps);
|
|
133
|
+
/**
|
|
134
|
+
* Adds a new container to the storage account.
|
|
135
|
+
* @param name The name of the container.
|
|
136
|
+
* @param containerAccessType The access type of the container (e.g., 'blob', 'private').
|
|
137
|
+
* @param metadata Metadata for the container.
|
|
138
|
+
* @returns The created AzureStorageContainer.
|
|
139
|
+
* @throws Error if a container with the same name already exists.
|
|
140
|
+
*
|
|
141
|
+
* Example usage:
|
|
142
|
+
* ```typescript
|
|
143
|
+
* const container = storageAccount.addContainer('myContainer', 'private');
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
addContainer(name: string, containerAccessType?: string, metadata?: {
|
|
147
|
+
[key: string]: string;
|
|
148
|
+
}): Container;
|
|
149
|
+
/**
|
|
150
|
+
* Adds a new file share to the storage account.
|
|
151
|
+
* @param name The name of the file share.
|
|
152
|
+
* @param props Optional properties for the file share (e.g., quota, access tier).
|
|
153
|
+
* @returns The created AzureStorageShare.
|
|
154
|
+
* @throws Error if a share with the same name already exists.
|
|
155
|
+
*
|
|
156
|
+
* Example usage:
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const fileShare = storageAccount.addShare('myFileShare', { quota: 1024, accessTier: 'Hot' });
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
addFileShare(name: string, props?: FileShareProps): FileShare;
|
|
162
|
+
/**
|
|
163
|
+
* Adds a new table to the storage account.
|
|
164
|
+
* @param name The name of the table.
|
|
165
|
+
* @param acl Optional access control list for the table.
|
|
166
|
+
* @returns The created AzureStorageTable.
|
|
167
|
+
* @throws Error if a table with the same name already exists.
|
|
168
|
+
*
|
|
169
|
+
* Example usage:
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const table = storageAccount.addTable('myTable');
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
addTable(name: string, acl?: StorageTableAcl[]): Table;
|
|
175
|
+
/**
|
|
176
|
+
* Adds a new queue to the storage account.
|
|
177
|
+
* @param name The name of the queue.
|
|
178
|
+
* @param metadata Optional metadata for the queue.
|
|
179
|
+
* @returns The created AzureStorageQueue.
|
|
180
|
+
*
|
|
181
|
+
* Example usage:
|
|
182
|
+
* ```typescript
|
|
183
|
+
* const queue = storageAccount.addQueue('myQueue');
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
addQueue(name: string, metadata?: {
|
|
187
|
+
[key: string]: string;
|
|
188
|
+
}): Queue;
|
|
189
|
+
/**
|
|
190
|
+
* Adds network rules to the storage account.
|
|
191
|
+
* @param props Configuration properties for the network rules.
|
|
192
|
+
* @returns The configured StorageAccountNetworkRulesA.
|
|
193
|
+
*
|
|
194
|
+
* Example usage:
|
|
195
|
+
* ```typescript
|
|
196
|
+
* storageAccount.addNetworkRules({
|
|
197
|
+
* bypass: ['AzureServices'],
|
|
198
|
+
* defaultAction: 'Deny',
|
|
199
|
+
* ipRules: ['1.2.3.4/32'],
|
|
200
|
+
* virtualNetworkSubnetIds: ['subnetId'],
|
|
201
|
+
* });
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
addNetworkRules(props: NetworkRulesProps): StorageAccountNetworkRulesA;
|
|
205
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Account = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const storage_account_1 = require("@cdktf/provider-azurerm/lib/storage-account");
|
|
7
|
+
const storage_account_network_rules_1 = require("@cdktf/provider-azurerm/lib/storage-account-network-rules");
|
|
8
|
+
const container_1 = require("./container");
|
|
9
|
+
const fileshare_1 = require("./fileshare");
|
|
10
|
+
const queue_1 = require("./queue");
|
|
11
|
+
const table_1 = require("./table");
|
|
12
|
+
const lib_1 = require("../../core-azure/lib");
|
|
13
|
+
/**
|
|
14
|
+
* Represents an Azure Storage Account within a Terraform deployment.
|
|
15
|
+
* This class provides methods to easily manage storage resources such as Containers,
|
|
16
|
+
* File Shares, Tables, Queues, and Network Rules.
|
|
17
|
+
*
|
|
18
|
+
* Example usage:
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
|
|
21
|
+
* name: 'myStorageAccount',
|
|
22
|
+
* location: 'East US',
|
|
23
|
+
* resourceGroup: myResourceGroup,
|
|
24
|
+
* accountReplicationType: 'LRS',
|
|
25
|
+
* accountTier: 'Standard',
|
|
26
|
+
* // other properties
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
class Account extends lib_1.AzureResourceWithAlert {
|
|
31
|
+
/**
|
|
32
|
+
* Initializes a new AzureStorageAccount.
|
|
33
|
+
* @param scope The scope in which to define this construct.
|
|
34
|
+
* @param id The scoped construct ID.
|
|
35
|
+
* @param props Configuration properties for the Azure Storage Account.
|
|
36
|
+
*/
|
|
37
|
+
constructor(scope, id, props) {
|
|
38
|
+
super(scope, id);
|
|
39
|
+
this.props = props;
|
|
40
|
+
this.resourceGroup = this.setupResourceGroup(props);
|
|
41
|
+
this.containers = new Map();
|
|
42
|
+
this.shares = new Map();
|
|
43
|
+
this.tables = new Map();
|
|
44
|
+
this.name = props.name;
|
|
45
|
+
this.location = props.location;
|
|
46
|
+
// default Storage Account Settings
|
|
47
|
+
const defaults = {
|
|
48
|
+
accountReplicationType: "LRS",
|
|
49
|
+
accountTier: "Standard",
|
|
50
|
+
enableHttpsTrafficOnly: true,
|
|
51
|
+
accessTier: "Hot",
|
|
52
|
+
isHnsEnabled: true,
|
|
53
|
+
minTlsVersion: "TLS1_2",
|
|
54
|
+
publicnetworkAccessEnabled: false,
|
|
55
|
+
...props,
|
|
56
|
+
};
|
|
57
|
+
// Create the storage account
|
|
58
|
+
const storageAccount = new storage_account_1.StorageAccount(this, "storageaccount", {
|
|
59
|
+
...defaults,
|
|
60
|
+
name: props.name,
|
|
61
|
+
resourceGroupName: this.resourceGroup.name,
|
|
62
|
+
location: props.location,
|
|
63
|
+
tags: props.tags,
|
|
64
|
+
});
|
|
65
|
+
this.id = storageAccount.id;
|
|
66
|
+
this.name = storageAccount.name;
|
|
67
|
+
this.accountKind = storageAccount.accountKind;
|
|
68
|
+
this.accountTier = storageAccount.accountTier;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Adds a new container to the storage account.
|
|
72
|
+
* @param name The name of the container.
|
|
73
|
+
* @param containerAccessType The access type of the container (e.g., 'blob', 'private').
|
|
74
|
+
* @param metadata Metadata for the container.
|
|
75
|
+
* @returns The created AzureStorageContainer.
|
|
76
|
+
* @throws Error if a container with the same name already exists.
|
|
77
|
+
*
|
|
78
|
+
* Example usage:
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const container = storageAccount.addContainer('myContainer', 'private');
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
addContainer(name, containerAccessType, metadata) {
|
|
84
|
+
if (this.containers.has(name)) {
|
|
85
|
+
throw new Error(`Container '${name}' already exists.`);
|
|
86
|
+
}
|
|
87
|
+
const newContainer = new container_1.Container(this, name, {
|
|
88
|
+
name: name,
|
|
89
|
+
storageAccountName: this.name,
|
|
90
|
+
containerAccessType: containerAccessType || "private",
|
|
91
|
+
metadata: metadata || {},
|
|
92
|
+
});
|
|
93
|
+
this.containers.set(name, newContainer);
|
|
94
|
+
return newContainer;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Adds a new file share to the storage account.
|
|
98
|
+
* @param name The name of the file share.
|
|
99
|
+
* @param props Optional properties for the file share (e.g., quota, access tier).
|
|
100
|
+
* @returns The created AzureStorageShare.
|
|
101
|
+
* @throws Error if a share with the same name already exists.
|
|
102
|
+
*
|
|
103
|
+
* Example usage:
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const fileShare = storageAccount.addShare('myFileShare', { quota: 1024, accessTier: 'Hot' });
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
addFileShare(name, props) {
|
|
109
|
+
if (this.shares.has(name)) {
|
|
110
|
+
throw new Error(`Share '${name}' already exists.`);
|
|
111
|
+
}
|
|
112
|
+
const defaults = {
|
|
113
|
+
quota: props?.quota || 1024,
|
|
114
|
+
accessTier: props?.accessTier || "Hot",
|
|
115
|
+
enabledProtocol: props?.enabledProtocol || "SMB",
|
|
116
|
+
acl: props?.acl || [],
|
|
117
|
+
metadata: props?.metadata || {},
|
|
118
|
+
};
|
|
119
|
+
const newShare = new fileshare_1.FileShare(this, name, {
|
|
120
|
+
...defaults,
|
|
121
|
+
name: name,
|
|
122
|
+
storageAccountName: this.name,
|
|
123
|
+
});
|
|
124
|
+
this.shares.set(name, newShare);
|
|
125
|
+
return newShare;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Adds a new table to the storage account.
|
|
129
|
+
* @param name The name of the table.
|
|
130
|
+
* @param acl Optional access control list for the table.
|
|
131
|
+
* @returns The created AzureStorageTable.
|
|
132
|
+
* @throws Error if a table with the same name already exists.
|
|
133
|
+
*
|
|
134
|
+
* Example usage:
|
|
135
|
+
* ```typescript
|
|
136
|
+
* const table = storageAccount.addTable('myTable');
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
addTable(name, acl) {
|
|
140
|
+
if (this.tables.has(name)) {
|
|
141
|
+
throw new Error(`Table '${name}' already exists.`);
|
|
142
|
+
}
|
|
143
|
+
const newTable = new table_1.Table(this, name, {
|
|
144
|
+
name: name,
|
|
145
|
+
storageAccountName: this.name,
|
|
146
|
+
acl: acl,
|
|
147
|
+
});
|
|
148
|
+
this.tables.set(name, newTable);
|
|
149
|
+
return newTable;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Adds a new queue to the storage account.
|
|
153
|
+
* @param name The name of the queue.
|
|
154
|
+
* @param metadata Optional metadata for the queue.
|
|
155
|
+
* @returns The created AzureStorageQueue.
|
|
156
|
+
*
|
|
157
|
+
* Example usage:
|
|
158
|
+
* ```typescript
|
|
159
|
+
* const queue = storageAccount.addQueue('myQueue');
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
addQueue(name, metadata) {
|
|
163
|
+
return new queue_1.Queue(this, name, {
|
|
164
|
+
name: name,
|
|
165
|
+
storageAccountName: this.name,
|
|
166
|
+
metadata: metadata,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Adds network rules to the storage account.
|
|
171
|
+
* @param props Configuration properties for the network rules.
|
|
172
|
+
* @returns The configured StorageAccountNetworkRulesA.
|
|
173
|
+
*
|
|
174
|
+
* Example usage:
|
|
175
|
+
* ```typescript
|
|
176
|
+
* storageAccount.addNetworkRules({
|
|
177
|
+
* bypass: ['AzureServices'],
|
|
178
|
+
* defaultAction: 'Deny',
|
|
179
|
+
* ipRules: ['1.2.3.4/32'],
|
|
180
|
+
* virtualNetworkSubnetIds: ['subnetId'],
|
|
181
|
+
* });
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
addNetworkRules(props) {
|
|
185
|
+
return new storage_account_network_rules_1.StorageAccountNetworkRulesA(this, "rules", {
|
|
186
|
+
storageAccountId: this.id,
|
|
187
|
+
bypass: props.bypass,
|
|
188
|
+
defaultAction: props.defaultAction,
|
|
189
|
+
ipRules: props.ipRules,
|
|
190
|
+
virtualNetworkSubnetIds: props.virtualNetworkSubnetIds,
|
|
191
|
+
privateLinkAccess: props.privateLinkAccess,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
exports.Account = Account;
|
|
196
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
197
|
+
Account[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_storageaccount.Account", version: "0.0.3-pre.6" };
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1zdG9yYWdlYWNjb3VudC9saWIvYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGlGQUE2RTtBQUM3RSw2R0FHbUU7QUFHbkUsMkNBQXdDO0FBQ3hDLDJDQUF3RDtBQUN4RCxtQ0FBZ0M7QUFDaEMsbUNBQWdDO0FBQ2hDLDhDQUE4RDtBQTBHOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFhLE9BQVEsU0FBUSw0QkFBc0I7SUFZakQ7Ozs7O09BS0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1CO1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxFQUFxQixDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWlCLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUUvQixtQ0FBbUM7UUFDbkMsTUFBTSxRQUFRLEdBQUc7WUFDZixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLHNCQUFzQixFQUFFLElBQUk7WUFDNUIsVUFBVSxFQUFFLEtBQUs7WUFDakIsWUFBWSxFQUFFLElBQUk7WUFDbEIsYUFBYSxFQUFFLFFBQVE7WUFDdkIsMEJBQTBCLEVBQUUsS0FBSztZQUNqQyxHQUFHLEtBQUs7U0FDVCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDaEUsR0FBRyxRQUFRO1lBQ1gsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtZQUMxQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksWUFBWSxDQUNqQixJQUFZLEVBQ1osbUJBQTRCLEVBQzVCLFFBQW9DO1FBRXBDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLElBQUksbUJBQW1CLENBQUMsQ0FBQztTQUN4RDtRQUVELE1BQU0sWUFBWSxHQUFHLElBQUkscUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLElBQUksRUFBRSxJQUFJO1lBQ1Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDN0IsbUJBQW1CLEVBQUUsbUJBQW1CLElBQUksU0FBUztZQUNyRCxRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUU7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFlBQVksQ0FBQyxJQUFZLEVBQUUsS0FBc0I7UUFDdEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxRQUFRLEdBQUc7WUFDZixLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssSUFBSSxJQUFJO1lBQzNCLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxJQUFJLEtBQUs7WUFDdEMsZUFBZSxFQUFFLEtBQUssRUFBRSxlQUFlLElBQUksS0FBSztZQUNoRCxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFO1lBQ3JCLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLEVBQUU7U0FDaEMsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUkscUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3pDLEdBQUcsUUFBUTtZQUNYLElBQUksRUFBRSxJQUFJO1lBQ1Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFFBQVEsQ0FBQyxJQUFZLEVBQUUsR0FBdUI7UUFDbkQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxhQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNyQyxJQUFJLEVBQUUsSUFBSTtZQUNWLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJO1lBQzdCLEdBQUcsRUFBRSxHQUFHO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksUUFBUSxDQUFDLElBQVksRUFBRSxRQUFvQztRQUNoRSxPQUFPLElBQUksYUFBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDM0IsSUFBSSxFQUFFLElBQUk7WUFDVixrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUM3QixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSSxlQUFlLENBQ3BCLEtBQXdCO1FBRXhCLE9BQU8sSUFBSSwyREFBMkIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3BELGdCQUFnQixFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLHVCQUF1QixFQUFFLEtBQUssQ0FBQyx1QkFBdUI7WUFDdEQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtTQUMzQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXBNSCwwQkFxTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3RvcmFnZUFjY291bnQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N0b3JhZ2UtYWNjb3VudFwiO1xuaW1wb3J0IHtcbiAgU3RvcmFnZUFjY291bnROZXR3b3JrUnVsZXNBLFxuICBTdG9yYWdlQWNjb3VudE5ldHdvcmtSdWxlc1ByaXZhdGVMaW5rQWNjZXNzQSxcbn0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdG9yYWdlLWFjY291bnQtbmV0d29yay1ydWxlc1wiO1xuaW1wb3J0IHsgU3RvcmFnZVRhYmxlQWNsIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdG9yYWdlLXRhYmxlXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4vY29udGFpbmVyXCI7XG5pbXBvcnQgeyBGaWxlU2hhcmUsIEZpbGVTaGFyZVByb3BzIH0gZnJvbSBcIi4vZmlsZXNoYXJlXCI7XG5pbXBvcnQgeyBRdWV1ZSB9IGZyb20gXCIuL3F1ZXVlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCIuL3RhYmxlXCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlV2l0aEFsZXJ0IH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya1J1bGVzUHJvcHMge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoaWNoIHRyYWZmaWMgdG8gYnlwYXNzIGZyb20gdGhlIG5ldHdvcmsgcnVsZXMuIFRoZSBwb3NzaWJsZSB2YWx1ZXMgYXJlICdBenVyZVNlcnZpY2VzJywgJ0xvZ2dpbmcnLCAnTWV0cmljcycsXG4gICAqIGFuZCAnTm9uZScuIEJ5cGFzc2luZyAnQXp1cmVTZXJ2aWNlcycgZW5hYmxlcyBBenVyZSdzIGludGVybmFsIHNlcnZpY2VzIHRvIGFjY2VzcyB0aGUgc3RvcmFnZSBhY2NvdW50LlxuICAgKi9cbiAgcmVhZG9ubHkgYnlwYXNzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGFjdGlvbiBvZiB0aGUgbmV0d29yayBydWxlIHNldC4gT3B0aW9ucyBhcmUgJ0FsbG93JyBvciAnRGVueScuIFNldCB0byAnRGVueScgdG8gZW5hYmxlIG5ldHdvcmsgcnVsZXMgYW5kIHJlc3RyaWN0XG4gICAqIGFjY2VzcyB0byB0aGUgc3RvcmFnZSBhY2NvdW50LiAnQWxsb3cnIHBlcm1pdHMgYWNjZXNzIGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0QWN0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIElQIHJ1bGVzIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgc3RvcmFnZSBhY2NvdW50LiBUaGVzZSBhcmUgc3BlY2lmaWVkIGFzIENJRFIgcmFuZ2VzLlxuICAgKiBFeGFtcGxlOiBbJzEuMi4zLjQvMzInLCAnNS42LjcuMC8yNCddIHRvIGFsbG93IHNwZWNpZmljIElQcy9zdWJuZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgaXBSdWxlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiB2aXJ0dWFsIG5ldHdvcmsgc3VibmV0IElEcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgc3RvcmFnZSBhY2NvdW50LiBUaGlzIGVuYWJsZXMgeW91IHRvIHNlY3VyZSB0aGUgc3RvcmFnZVxuICAgKiBhY2NvdW50IHRvIGEgc3BlY2lmaWMgdmlydHVhbCBuZXR3b3JrIGFuZCBzdWJuZXQgd2l0aGluIEF6dXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmlydHVhbE5ldHdvcmtTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2Ygb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIHByaXZhdGUgbGluayBhY2Nlc3Mgc2V0dGluZ3MuIEVhY2ggb2JqZWN0IGluIHRoZSBhcnJheSBkZWZpbmVzIHRoZSBzdWItcmVzb3VyY2UgbmFtZVxuICAgKiAoZS5nLiwgJ2Jsb2InLCAnZmlsZScpIGFuZCBpdHMgcmVzcGVjdGl2ZSBwcml2YXRlIGVuZHBvaW50IGNvbm5lY3Rpb25zIGZvciB0aGUgc3RvcmFnZSBhY2NvdW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUxpbmtBY2Nlc3M/OiBTdG9yYWdlQWNjb3VudE5ldHdvcmtSdWxlc1ByaXZhdGVMaW5rQWNjZXNzQVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiByZXBsaWNhdGlvbiB0byB1c2UgZm9yIHRoZSBzdG9yYWdlIGFjY291bnQuIFRoaXMgZGV0ZXJtaW5lcyBob3cgeW91ciBkYXRhIGlzIHJlcGxpY2F0ZWQgYWNyb3NzIEF6dXJlJ3MgaW5mcmFzdHJ1Y3R1cmUuXG4gICAqIEV4YW1wbGUgdmFsdWVzOiBMUlMgKExvY2FsbHkgUmVkdW5kYW50IFN0b3JhZ2UpLCBHUlMgKEdlby1SZWR1bmRhbnQgU3RvcmFnZSksIFJBR1JTIChSZWFkIEFjY2VzcyBHZW8tUmVkdW5kYW50IFN0b3JhZ2UpLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudFJlcGxpY2F0aW9uVHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBlcmZvcm1hbmNlIHRpZXIgb2YgdGhlIHN0b3JhZ2UgYWNjb3VudC4gRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiBoYXJkd2FyZSBhbmQgcGVyZm9ybWFuY2UgbGV2ZWwuXG4gICAqIEV4YW1wbGUgdmFsdWVzOiBTdGFuZGFyZCwgUHJlbWl1bS5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnRUaWVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQXp1cmUgcmVnaW9uIGluIHdoaWNoIHRvIGNyZWF0ZSB0aGUgc3RvcmFnZSBhY2NvdW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2UgYWNjb3VudC4gTXVzdCBiZSB1bmlxdWUgYWNyb3NzIEF6dXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXp1cmUgcmVzb3VyY2UgZ3JvdXAgaW4gd2hpY2ggdG8gY3JlYXRlIHRoZSBzdG9yYWdlIGFjY291bnQuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwPzogUmVzb3VyY2VHcm91cDtcblxuICAvKipcbiAgICogVGFncyB0byBhcHBseSB0byB0aGUgc3RvcmFnZSBhY2NvdW50LCB1c2VkIGZvciBjYXRlZ29yaXphdGlvbiBhbmQgYmlsbGluZyBwdXJwb3Nlcy5cbiAgICogRm9ybWF0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQSBib29sZWFuIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIGVuZm9yY2UgSFRUUFMgZm9yIGRhdGEgdHJhbnNmZXIgdG8gdGhlIHN0b3JhZ2UgYWNjb3VudC5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUh0dHBzVHJhZmZpY09ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNYW5hZ2VkIFNlcnZpY2UgSWRlbnRpdHkgKE1TSSkgZGV0YWlscy4gVXNlZCBmb3IgZW5hYmxpbmcgYW5kIG1hbmFnaW5nIEF6dXJlIEFjdGl2ZSBEaXJlY3RvcnkgKEFBRCkgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICByZWFkb25seSBpZGVudGl0eT86IGFueTsgLy8gUmVwbGFjZSAnYW55JyB3aXRoIGEgbW9yZSBzcGVjaWZpYyB0eXBlIGlmIGF2YWlsYWJsZS5cblxuICAvKipcbiAgICogVGhlIGRhdGEgYWNjZXNzIHRpZXIgb2YgdGhlIHN0b3JhZ2UgYWNjb3VudCwgd2hpY2ggaW1wYWN0cyBzdG9yYWdlIGNvc3RzIGFuZCBkYXRhIHJldHJpZXZhbCBzcGVlZHMuXG4gICAqIEV4YW1wbGUgdmFsdWVzOiBIb3QsIENvb2wuXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NUaWVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBIaWVyYXJjaGljYWwgTmFtZXNwYWNlIChITlMpIGlzIGVuYWJsZWQsIHdoaWNoIGlzIHJlcXVpcmVkIGZvciBBenVyZSBEYXRhIExha2UgU3RvcmFnZSBHZW4yIGZlYXR1cmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNIbnNFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gVExTIHZlcnNpb24gdG8gYmUgdXNlZCBmb3Igc2VjdXJpbmcgY29ubmVjdGlvbnMgdG8gdGhlIHN0b3JhZ2UgYWNjb3VudC5cbiAgICogRXhhbXBsZSB2YWx1ZXM6IFRMUzFfMCwgVExTMV8xLCBUTFMxXzIuXG4gICAqL1xuICByZWFkb25seSBtaW5UbHNWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgcHVibGljIG5ldHdvcmsgYWNjZXNzIHRvIHRoZSBzdG9yYWdlIGFjY291bnQgaXMgYWxsb3dlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY05ldHdvcmtBY2Nlc3NFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy45Mi4wL2RvY3MvcmVzb3VyY2VzL3N0b3JhZ2VfYWNjb3VudCNhY2NvdW50X2tpbmQgU3RvcmFnZUFjY291bnQjYWNjb3VudF9raW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudEtpbmQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBBenVyZSBTdG9yYWdlIEFjY291bnQgd2l0aGluIGEgVGVycmFmb3JtIGRlcGxveW1lbnQuXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIG1ldGhvZHMgdG8gZWFzaWx5IG1hbmFnZSBzdG9yYWdlIHJlc291cmNlcyBzdWNoIGFzIENvbnRhaW5lcnMsXG4gKiBGaWxlIFNoYXJlcywgVGFibGVzLCBRdWV1ZXMsIGFuZCBOZXR3b3JrIFJ1bGVzLlxuICpcbiAqIEV4YW1wbGUgdXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdG9yYWdlQWNjb3VudCA9IG5ldyBBenVyZVN0b3JhZ2VBY2NvdW50KHRoaXMsICdzdG9yYWdlYWNjb3VudCcsIHtcbiAqICAgbmFtZTogJ215U3RvcmFnZUFjY291bnQnLFxuICogICBsb2NhdGlvbjogJ0Vhc3QgVVMnLFxuICogICByZXNvdXJjZUdyb3VwOiBteVJlc291cmNlR3JvdXAsXG4gKiAgIGFjY291bnRSZXBsaWNhdGlvblR5cGU6ICdMUlMnLFxuICogICBhY2NvdW50VGllcjogJ1N0YW5kYXJkJyxcbiAqICAgLy8gb3RoZXIgcHJvcGVydGllc1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEFjY291bnQgZXh0ZW5kcyBBenVyZVJlc291cmNlV2l0aEFsZXJ0IHtcbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBBY2NvdW50UHJvcHM7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbG9jYXRpb246IHN0cmluZztcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyByZWFkb25seSBhY2NvdW50S2luZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYWNjb3VudFRpZXI6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXJzOiBNYXA8c3RyaW5nLCBDb250YWluZXI+O1xuICBwcml2YXRlIHJlYWRvbmx5IHNoYXJlczogTWFwPHN0cmluZywgRmlsZVNoYXJlPjtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZXM6IE1hcDxzdHJpbmcsIFRhYmxlPjtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSBuZXcgQXp1cmVTdG9yYWdlQWNjb3VudC5cbiAgICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBpZCBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRC5cbiAgICogQHBhcmFtIHByb3BzIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIEF6dXJlIFN0b3JhZ2UgQWNjb3VudC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBY2NvdW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHRoaXMuc2V0dXBSZXNvdXJjZUdyb3VwKHByb3BzKTtcbiAgICB0aGlzLmNvbnRhaW5lcnMgPSBuZXcgTWFwPHN0cmluZywgQ29udGFpbmVyPigpO1xuICAgIHRoaXMuc2hhcmVzID0gbmV3IE1hcDxzdHJpbmcsIEZpbGVTaGFyZT4oKTtcbiAgICB0aGlzLnRhYmxlcyA9IG5ldyBNYXA8c3RyaW5nLCBUYWJsZT4oKTtcbiAgICB0aGlzLm5hbWUgPSBwcm9wcy5uYW1lO1xuICAgIHRoaXMubG9jYXRpb24gPSBwcm9wcy5sb2NhdGlvbjtcblxuICAgIC8vIGRlZmF1bHQgU3RvcmFnZSBBY2NvdW50IFNldHRpbmdzXG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBhY2NvdW50UmVwbGljYXRpb25UeXBlOiBcIkxSU1wiLFxuICAgICAgYWNjb3VudFRpZXI6IFwiU3RhbmRhcmRcIixcbiAgICAgIGVuYWJsZUh0dHBzVHJhZmZpY09ubHk6IHRydWUsXG4gICAgICBhY2Nlc3NUaWVyOiBcIkhvdFwiLFxuICAgICAgaXNIbnNFbmFibGVkOiB0cnVlLFxuICAgICAgbWluVGxzVmVyc2lvbjogXCJUTFMxXzJcIixcbiAgICAgIHB1YmxpY25ldHdvcmtBY2Nlc3NFbmFibGVkOiBmYWxzZSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH07XG5cbiAgICAvLyBDcmVhdGUgdGhlIHN0b3JhZ2UgYWNjb3VudFxuICAgIGNvbnN0IHN0b3JhZ2VBY2NvdW50ID0gbmV3IFN0b3JhZ2VBY2NvdW50KHRoaXMsIFwic3RvcmFnZWFjY291bnRcIiwge1xuICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICBuYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHRoaXMucmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICB9KTtcblxuICAgIHRoaXMuaWQgPSBzdG9yYWdlQWNjb3VudC5pZDtcbiAgICB0aGlzLm5hbWUgPSBzdG9yYWdlQWNjb3VudC5uYW1lO1xuICAgIHRoaXMuYWNjb3VudEtpbmQgPSBzdG9yYWdlQWNjb3VudC5hY2NvdW50S2luZDtcbiAgICB0aGlzLmFjY291bnRUaWVyID0gc3RvcmFnZUFjY291bnQuYWNjb3VudFRpZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBjb250YWluZXIgdG8gdGhlIHN0b3JhZ2UgYWNjb3VudC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbnRhaW5lci5cbiAgICogQHBhcmFtIGNvbnRhaW5lckFjY2Vzc1R5cGUgVGhlIGFjY2VzcyB0eXBlIG9mIHRoZSBjb250YWluZXIgKGUuZy4sICdibG9iJywgJ3ByaXZhdGUnKS5cbiAgICogQHBhcmFtIG1ldGFkYXRhIE1ldGFkYXRhIGZvciB0aGUgY29udGFpbmVyLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBBenVyZVN0b3JhZ2VDb250YWluZXIuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgYSBjb250YWluZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGNvbnRhaW5lciA9IHN0b3JhZ2VBY2NvdW50LmFkZENvbnRhaW5lcignbXlDb250YWluZXInLCAncHJpdmF0ZScpO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBhZGRDb250YWluZXIoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGNvbnRhaW5lckFjY2Vzc1R5cGU/OiBzdHJpbmcsXG4gICAgbWV0YWRhdGE/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICApOiBDb250YWluZXIge1xuICAgIGlmICh0aGlzLmNvbnRhaW5lcnMuaGFzKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbnRhaW5lciAnJHtuYW1lfScgYWxyZWFkeSBleGlzdHMuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3Q29udGFpbmVyID0gbmV3IENvbnRhaW5lcih0aGlzLCBuYW1lLCB7XG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgc3RvcmFnZUFjY291bnROYW1lOiB0aGlzLm5hbWUsXG4gICAgICBjb250YWluZXJBY2Nlc3NUeXBlOiBjb250YWluZXJBY2Nlc3NUeXBlIHx8IFwicHJpdmF0ZVwiLFxuICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhIHx8IHt9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb250YWluZXJzLnNldChuYW1lLCBuZXdDb250YWluZXIpO1xuICAgIHJldHVybiBuZXdDb250YWluZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWxlIHNoYXJlIHRvIHRoZSBzdG9yYWdlIGFjY291bnQuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHNoYXJlLlxuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgcHJvcGVydGllcyBmb3IgdGhlIGZpbGUgc2hhcmUgKGUuZy4sIHF1b3RhLCBhY2Nlc3MgdGllcikuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIEF6dXJlU3RvcmFnZVNoYXJlLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGEgc2hhcmUgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGZpbGVTaGFyZSA9IHN0b3JhZ2VBY2NvdW50LmFkZFNoYXJlKCdteUZpbGVTaGFyZScsIHsgcXVvdGE6IDEwMjQsIGFjY2Vzc1RpZXI6ICdIb3QnIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBhZGRGaWxlU2hhcmUobmFtZTogc3RyaW5nLCBwcm9wcz86IEZpbGVTaGFyZVByb3BzKTogRmlsZVNoYXJlIHtcbiAgICBpZiAodGhpcy5zaGFyZXMuaGFzKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFNoYXJlICcke25hbWV9JyBhbHJlYWR5IGV4aXN0cy5gKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIHF1b3RhOiBwcm9wcz8ucXVvdGEgfHwgMTAyNCxcbiAgICAgIGFjY2Vzc1RpZXI6IHByb3BzPy5hY2Nlc3NUaWVyIHx8IFwiSG90XCIsXG4gICAgICBlbmFibGVkUHJvdG9jb2w6IHByb3BzPy5lbmFibGVkUHJvdG9jb2wgfHwgXCJTTUJcIixcbiAgICAgIGFjbDogcHJvcHM/LmFjbCB8fCBbXSxcbiAgICAgIG1ldGFkYXRhOiBwcm9wcz8ubWV0YWRhdGEgfHwge30sXG4gICAgfTtcblxuICAgIGNvbnN0IG5ld1NoYXJlID0gbmV3IEZpbGVTaGFyZSh0aGlzLCBuYW1lLCB7XG4gICAgICAuLi5kZWZhdWx0cyxcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICBzdG9yYWdlQWNjb3VudE5hbWU6IHRoaXMubmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2hhcmVzLnNldChuYW1lLCBuZXdTaGFyZSk7XG4gICAgcmV0dXJuIG5ld1NoYXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgdGFibGUgdG8gdGhlIHN0b3JhZ2UgYWNjb3VudC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHRhYmxlLlxuICAgKiBAcGFyYW0gYWNsIE9wdGlvbmFsIGFjY2VzcyBjb250cm9sIGxpc3QgZm9yIHRoZSB0YWJsZS5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQXp1cmVTdG9yYWdlVGFibGUuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgYSB0YWJsZSB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgdGFibGUgPSBzdG9yYWdlQWNjb3VudC5hZGRUYWJsZSgnbXlUYWJsZScpO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBhZGRUYWJsZShuYW1lOiBzdHJpbmcsIGFjbD86IFN0b3JhZ2VUYWJsZUFjbFtdKTogVGFibGUge1xuICAgIGlmICh0aGlzLnRhYmxlcy5oYXMobmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGFibGUgJyR7bmFtZX0nIGFscmVhZHkgZXhpc3RzLmApO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1RhYmxlID0gbmV3IFRhYmxlKHRoaXMsIG5hbWUsIHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICBzdG9yYWdlQWNjb3VudE5hbWU6IHRoaXMubmFtZSxcbiAgICAgIGFjbDogYWNsLFxuICAgIH0pO1xuXG4gICAgdGhpcy50YWJsZXMuc2V0KG5hbWUsIG5ld1RhYmxlKTtcbiAgICByZXR1cm4gbmV3VGFibGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBxdWV1ZSB0byB0aGUgc3RvcmFnZSBhY2NvdW50LlxuICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcXVldWUuXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBPcHRpb25hbCBtZXRhZGF0YSBmb3IgdGhlIHF1ZXVlLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBBenVyZVN0b3JhZ2VRdWV1ZS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBxdWV1ZSA9IHN0b3JhZ2VBY2NvdW50LmFkZFF1ZXVlKCdteVF1ZXVlJyk7XG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIGFkZFF1ZXVlKG5hbWU6IHN0cmluZywgbWV0YWRhdGE/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogUXVldWUge1xuICAgIHJldHVybiBuZXcgUXVldWUodGhpcywgbmFtZSwge1xuICAgICAgbmFtZTogbmFtZSxcbiAgICAgIHN0b3JhZ2VBY2NvdW50TmFtZTogdGhpcy5uYW1lLFxuICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgbmV0d29yayBydWxlcyB0byB0aGUgc3RvcmFnZSBhY2NvdW50LlxuICAgKiBAcGFyYW0gcHJvcHMgQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgbmV0d29yayBydWxlcy5cbiAgICogQHJldHVybnMgVGhlIGNvbmZpZ3VyZWQgU3RvcmFnZUFjY291bnROZXR3b3JrUnVsZXNBLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHN0b3JhZ2VBY2NvdW50LmFkZE5ldHdvcmtSdWxlcyh7XG4gICAqICAgICBieXBhc3M6IFsnQXp1cmVTZXJ2aWNlcyddLFxuICAgKiAgICAgZGVmYXVsdEFjdGlvbjogJ0RlbnknLFxuICAgKiAgICAgaXBSdWxlczogWycxLjIuMy40LzMyJ10sXG4gICAqICAgICB2aXJ0dWFsTmV0d29ya1N1Ym5ldElkczogWydzdWJuZXRJZCddLFxuICAgKiAgfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIGFkZE5ldHdvcmtSdWxlcyhcbiAgICBwcm9wczogTmV0d29ya1J1bGVzUHJvcHMsXG4gICk6IFN0b3JhZ2VBY2NvdW50TmV0d29ya1J1bGVzQSB7XG4gICAgcmV0dXJuIG5ldyBTdG9yYWdlQWNjb3VudE5ldHdvcmtSdWxlc0EodGhpcywgXCJydWxlc1wiLCB7XG4gICAgICBzdG9yYWdlQWNjb3VudElkOiB0aGlzLmlkLFxuICAgICAgYnlwYXNzOiBwcm9wcy5ieXBhc3MsXG4gICAgICBkZWZhdWx0QWN0aW9uOiBwcm9wcy5kZWZhdWx0QWN0aW9uLFxuICAgICAgaXBSdWxlczogcHJvcHMuaXBSdWxlcyxcbiAgICAgIHZpcnR1YWxOZXR3b3JrU3VibmV0SWRzOiBwcm9wcy52aXJ0dWFsTmV0d29ya1N1Ym5ldElkcyxcbiAgICAgIHByaXZhdGVMaW5rQWNjZXNzOiBwcm9wcy5wcml2YXRlTGlua0FjY2VzcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { StorageBlobConfig } from "@cdktf/provider-azurerm/lib/storage-blob";
|
|
2
|
+
import { StorageContainerConfig } from "@cdktf/provider-azurerm/lib/storage-container";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
export declare class Container extends Construct {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
private readonly blobs;
|
|
7
|
+
private readonly storageAccountName;
|
|
8
|
+
private readonly storageContainerName;
|
|
9
|
+
constructor(scope: Construct, id: string, props: StorageContainerConfig);
|
|
10
|
+
/**
|
|
11
|
+
* Adds a blob to an Azure Storage Container.
|
|
12
|
+
*
|
|
13
|
+
* @param blobName The name of the blob to be added.
|
|
14
|
+
* @param filePath The file path or URL for the source of the blob's content.
|
|
15
|
+
* @param props Optional configuration properties for the blob, such as blob type, content type, and metadata.
|
|
16
|
+
* @returns The created AzureStorageBlob instance.
|
|
17
|
+
*
|
|
18
|
+
* This method enables the addition of a blob to an Azure Storage Container. It allows specifying
|
|
19
|
+
* the source of the blob's content, as well as other properties like the blob's type (default is 'Block'),
|
|
20
|
+
* content type, and metadata. The `filePath` parameter should point to the location of the file to be
|
|
21
|
+
* uploaded as a blob.
|
|
22
|
+
*
|
|
23
|
+
* Example usage:
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const storageBlob = storageContainer.addBlob('exampleBlob', './path/to/local/file.txt', {
|
|
26
|
+
* type: 'Block',
|
|
27
|
+
* contentType: 'text/plain',
|
|
28
|
+
* metadata: { customKey: 'customValue' }
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* In this example, a blob named 'exampleBlob' is added to the storage container. The content of the blob
|
|
33
|
+
* is sourced from a local file. The blob is of type 'Block' with a content type of 'text/plain' and custom metadata.
|
|
34
|
+
*/
|
|
35
|
+
addBlob(blobName: string, filePath: string, props?: StorageBlobConfig): Blob;
|
|
36
|
+
}
|
|
37
|
+
export declare class Blob extends Construct {
|
|
38
|
+
readonly name: string;
|
|
39
|
+
constructor(scope: Construct, id: string, props: StorageBlobConfig);
|
|
40
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Blob = exports.Container = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const storage_blob_1 = require("@cdktf/provider-azurerm/lib/storage-blob");
|
|
7
|
+
const storage_container_1 = require("@cdktf/provider-azurerm/lib/storage-container");
|
|
8
|
+
const constructs_1 = require("constructs");
|
|
9
|
+
class Container extends constructs_1.Construct {
|
|
10
|
+
constructor(scope, id, props) {
|
|
11
|
+
super(scope, id);
|
|
12
|
+
this.blobs = new Map();
|
|
13
|
+
// Create a storage container
|
|
14
|
+
const container = new storage_container_1.StorageContainer(this, "container", {
|
|
15
|
+
name: props.name,
|
|
16
|
+
storageAccountName: props.storageAccountName,
|
|
17
|
+
containerAccessType: props.containerAccessType,
|
|
18
|
+
metadata: props.metadata,
|
|
19
|
+
});
|
|
20
|
+
this.name = props.name;
|
|
21
|
+
this.storageAccountName = props.storageAccountName;
|
|
22
|
+
this.storageContainerName = container.name;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Adds a blob to an Azure Storage Container.
|
|
26
|
+
*
|
|
27
|
+
* @param blobName The name of the blob to be added.
|
|
28
|
+
* @param filePath The file path or URL for the source of the blob's content.
|
|
29
|
+
* @param props Optional configuration properties for the blob, such as blob type, content type, and metadata.
|
|
30
|
+
* @returns The created AzureStorageBlob instance.
|
|
31
|
+
*
|
|
32
|
+
* This method enables the addition of a blob to an Azure Storage Container. It allows specifying
|
|
33
|
+
* the source of the blob's content, as well as other properties like the blob's type (default is 'Block'),
|
|
34
|
+
* content type, and metadata. The `filePath` parameter should point to the location of the file to be
|
|
35
|
+
* uploaded as a blob.
|
|
36
|
+
*
|
|
37
|
+
* Example usage:
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const storageBlob = storageContainer.addBlob('exampleBlob', './path/to/local/file.txt', {
|
|
40
|
+
* type: 'Block',
|
|
41
|
+
* contentType: 'text/plain',
|
|
42
|
+
* metadata: { customKey: 'customValue' }
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* In this example, a blob named 'exampleBlob' is added to the storage container. The content of the blob
|
|
47
|
+
* is sourced from a local file. The blob is of type 'Block' with a content type of 'text/plain' and custom metadata.
|
|
48
|
+
*/
|
|
49
|
+
addBlob(blobName, filePath, props) {
|
|
50
|
+
const newStorageBlob = new Blob(this, blobName, {
|
|
51
|
+
name: blobName,
|
|
52
|
+
storageAccountName: this.storageAccountName,
|
|
53
|
+
storageContainerName: this.storageContainerName,
|
|
54
|
+
type: props?.type || "Block",
|
|
55
|
+
source: filePath,
|
|
56
|
+
contentType: props?.contentType || "application/octet-stream",
|
|
57
|
+
metadata: props?.metadata || {},
|
|
58
|
+
});
|
|
59
|
+
this.blobs.set(blobName, newStorageBlob);
|
|
60
|
+
return newStorageBlob;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.Container = Container;
|
|
64
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
65
|
+
Container[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_storageaccount.Container", version: "0.0.3-pre.6" };
|
|
66
|
+
class Blob extends constructs_1.Construct {
|
|
67
|
+
constructor(scope, id, props) {
|
|
68
|
+
super(scope, id);
|
|
69
|
+
// Create a storage container
|
|
70
|
+
new storage_blob_1.StorageBlob(this, "blob", {
|
|
71
|
+
name: props.name,
|
|
72
|
+
storageAccountName: props.storageAccountName,
|
|
73
|
+
storageContainerName: props.storageContainerName,
|
|
74
|
+
type: props.type,
|
|
75
|
+
source: props.source,
|
|
76
|
+
contentType: props.contentType,
|
|
77
|
+
metadata: props.metadata,
|
|
78
|
+
});
|
|
79
|
+
this.name = props.name;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.Blob = Blob;
|
|
83
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
84
|
+
Blob[_b] = { fqn: "@microsoft/terraform-cdk-constructs.azure_storageaccount.Blob", version: "0.0.3-pre.6" };
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXN0b3JhZ2VhY2NvdW50L2xpYi9jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyRUFHa0Q7QUFDbEQscUZBR3VEO0FBQ3ZELDJDQUF1QztBQUV2QyxNQUFhLFNBQVUsU0FBUSxzQkFBUztJQU10QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUVyQyw2QkFBNkI7UUFDN0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxvQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3hELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1lBQzVDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDO1FBQ25ELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bd0JHO0lBQ0gsT0FBTyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0IsRUFBRSxLQUF5QjtRQUNuRSxNQUFNLGNBQWMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzlDLElBQUksRUFBRSxRQUFRO1lBQ2Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMzQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQy9DLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLE9BQU87WUFDNUIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLElBQUksMEJBQTBCO1lBQzdELFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7O0FBN0RILDhCQThEQzs7O0FBRUQsTUFBYSxJQUFLLFNBQVEsc0JBQVM7SUFHakMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLDZCQUE2QjtRQUM3QixJQUFJLDBCQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUM1QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsb0JBQW9CO1lBQ2hELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7QUFsQkgsb0JBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU3RvcmFnZUJsb2IsXG4gIFN0b3JhZ2VCbG9iQ29uZmlnLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N0b3JhZ2UtYmxvYlwiO1xuaW1wb3J0IHtcbiAgU3RvcmFnZUNvbnRhaW5lcixcbiAgU3RvcmFnZUNvbnRhaW5lckNvbmZpZyxcbn0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdG9yYWdlLWNvbnRhaW5lclwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmxvYnM6IE1hcDxzdHJpbmcsIEJsb2I+O1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VBY2NvdW50TmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VDb250YWluZXJOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0b3JhZ2VDb250YWluZXJDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5ibG9icyA9IG5ldyBNYXA8c3RyaW5nLCBCbG9iPigpO1xuXG4gICAgLy8gQ3JlYXRlIGEgc3RvcmFnZSBjb250YWluZXJcbiAgICBjb25zdCBjb250YWluZXIgPSBuZXcgU3RvcmFnZUNvbnRhaW5lcih0aGlzLCBcImNvbnRhaW5lclwiLCB7XG4gICAgICBuYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgc3RvcmFnZUFjY291bnROYW1lOiBwcm9wcy5zdG9yYWdlQWNjb3VudE5hbWUsXG4gICAgICBjb250YWluZXJBY2Nlc3NUeXBlOiBwcm9wcy5jb250YWluZXJBY2Nlc3NUeXBlLFxuICAgICAgbWV0YWRhdGE6IHByb3BzLm1ldGFkYXRhLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMubmFtZTtcbiAgICB0aGlzLnN0b3JhZ2VBY2NvdW50TmFtZSA9IHByb3BzLnN0b3JhZ2VBY2NvdW50TmFtZTtcbiAgICB0aGlzLnN0b3JhZ2VDb250YWluZXJOYW1lID0gY29udGFpbmVyLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGJsb2IgdG8gYW4gQXp1cmUgU3RvcmFnZSBDb250YWluZXIuXG4gICAqXG4gICAqIEBwYXJhbSBibG9iTmFtZSBUaGUgbmFtZSBvZiB0aGUgYmxvYiB0byBiZSBhZGRlZC5cbiAgICogQHBhcmFtIGZpbGVQYXRoIFRoZSBmaWxlIHBhdGggb3IgVVJMIGZvciB0aGUgc291cmNlIG9mIHRoZSBibG9iJ3MgY29udGVudC5cbiAgICogQHBhcmFtIHByb3BzIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIGJsb2IsIHN1Y2ggYXMgYmxvYiB0eXBlLCBjb250ZW50IHR5cGUsIGFuZCBtZXRhZGF0YS5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQXp1cmVTdG9yYWdlQmxvYiBpbnN0YW5jZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgZW5hYmxlcyB0aGUgYWRkaXRpb24gb2YgYSBibG9iIHRvIGFuIEF6dXJlIFN0b3JhZ2UgQ29udGFpbmVyLiBJdCBhbGxvd3Mgc3BlY2lmeWluZ1xuICAgKiB0aGUgc291cmNlIG9mIHRoZSBibG9iJ3MgY29udGVudCwgYXMgd2VsbCBhcyBvdGhlciBwcm9wZXJ0aWVzIGxpa2UgdGhlIGJsb2IncyB0eXBlIChkZWZhdWx0IGlzICdCbG9jaycpLFxuICAgKiBjb250ZW50IHR5cGUsIGFuZCBtZXRhZGF0YS4gVGhlIGBmaWxlUGF0aGAgcGFyYW1ldGVyIHNob3VsZCBwb2ludCB0byB0aGUgbG9jYXRpb24gb2YgdGhlIGZpbGUgdG8gYmVcbiAgICogdXBsb2FkZWQgYXMgYSBibG9iLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHN0b3JhZ2VCbG9iID0gc3RvcmFnZUNvbnRhaW5lci5hZGRCbG9iKCdleGFtcGxlQmxvYicsICcuL3BhdGgvdG8vbG9jYWwvZmlsZS50eHQnLCB7XG4gICAqICAgdHlwZTogJ0Jsb2NrJyxcbiAgICogICBjb250ZW50VHlwZTogJ3RleHQvcGxhaW4nLFxuICAgKiAgIG1ldGFkYXRhOiB7IGN1c3RvbUtleTogJ2N1c3RvbVZhbHVlJyB9XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICpcbiAgICogSW4gdGhpcyBleGFtcGxlLCBhIGJsb2IgbmFtZWQgJ2V4YW1wbGVCbG9iJyBpcyBhZGRlZCB0byB0aGUgc3RvcmFnZSBjb250YWluZXIuIFRoZSBjb250ZW50IG9mIHRoZSBibG9iXG4gICAqIGlzIHNvdXJjZWQgZnJvbSBhIGxvY2FsIGZpbGUuIFRoZSBibG9iIGlzIG9mIHR5cGUgJ0Jsb2NrJyB3aXRoIGEgY29udGVudCB0eXBlIG9mICd0ZXh0L3BsYWluJyBhbmQgY3VzdG9tIG1ldGFkYXRhLlxuICAgKi9cbiAgYWRkQmxvYihibG9iTmFtZTogc3RyaW5nLCBmaWxlUGF0aDogc3RyaW5nLCBwcm9wcz86IFN0b3JhZ2VCbG9iQ29uZmlnKTogQmxvYiB7XG4gICAgY29uc3QgbmV3U3RvcmFnZUJsb2IgPSBuZXcgQmxvYih0aGlzLCBibG9iTmFtZSwge1xuICAgICAgbmFtZTogYmxvYk5hbWUsXG4gICAgICBzdG9yYWdlQWNjb3VudE5hbWU6IHRoaXMuc3RvcmFnZUFjY291bnROYW1lLFxuICAgICAgc3RvcmFnZUNvbnRhaW5lck5hbWU6IHRoaXMuc3RvcmFnZUNvbnRhaW5lck5hbWUsXG4gICAgICB0eXBlOiBwcm9wcz8udHlwZSB8fCBcIkJsb2NrXCIsXG4gICAgICBzb3VyY2U6IGZpbGVQYXRoLFxuICAgICAgY29udGVudFR5cGU6IHByb3BzPy5jb250ZW50VHlwZSB8fCBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiLFxuICAgICAgbWV0YWRhdGE6IHByb3BzPy5tZXRhZGF0YSB8fCB7fSxcbiAgICB9KTtcbiAgICB0aGlzLmJsb2JzLnNldChibG9iTmFtZSwgbmV3U3RvcmFnZUJsb2IpO1xuICAgIHJldHVybiBuZXdTdG9yYWdlQmxvYjtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmxvYiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RvcmFnZUJsb2JDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gQ3JlYXRlIGEgc3RvcmFnZSBjb250YWluZXJcbiAgICBuZXcgU3RvcmFnZUJsb2IodGhpcywgXCJibG9iXCIsIHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICBzdG9yYWdlQWNjb3VudE5hbWU6IHByb3BzLnN0b3JhZ2VBY2NvdW50TmFtZSxcbiAgICAgIHN0b3JhZ2VDb250YWluZXJOYW1lOiBwcm9wcy5zdG9yYWdlQ29udGFpbmVyTmFtZSxcbiAgICAgIHR5cGU6IHByb3BzLnR5cGUsXG4gICAgICBzb3VyY2U6IHByb3BzLnNvdXJjZSxcbiAgICAgIGNvbnRlbnRUeXBlOiBwcm9wcy5jb250ZW50VHlwZSxcbiAgICAgIG1ldGFkYXRhOiBwcm9wcy5tZXRhZGF0YSxcbiAgICB9KTtcblxuICAgIHRoaXMubmFtZSA9IHByb3BzLm5hbWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { StorageShareConfig } from "@cdktf/provider-azurerm/lib/storage-share";
|
|
2
|
+
import { StorageShareFileConfig } from "@cdktf/provider-azurerm/lib/storage-share-file";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
export interface FileShareProps {
|
|
5
|
+
/**
|
|
6
|
+
* The maximum size of the storage share, in gigabytes.
|
|
7
|
+
*/
|
|
8
|
+
readonly quota?: number;
|
|
9
|
+
/**
|
|
10
|
+
* The access tier of the storage share. This property is only applicable to storage shares with a premium account type.
|
|
11
|
+
* Example values: Hot, Cool.
|
|
12
|
+
*/
|
|
13
|
+
readonly accessTier?: string;
|
|
14
|
+
/**
|
|
15
|
+
* The protocol to use when accessing the storage share.
|
|
16
|
+
* Example values: SMB, NFS.
|
|
17
|
+
*/
|
|
18
|
+
readonly enabledProtocol?: string;
|
|
19
|
+
/**
|
|
20
|
+
* A list of access control rules for the storage share.
|
|
21
|
+
*/
|
|
22
|
+
readonly acl?: any;
|
|
23
|
+
/**
|
|
24
|
+
* A mapping of tags to assign to the storage share.
|
|
25
|
+
* Format: { [key: string]: string }
|
|
26
|
+
*/
|
|
27
|
+
readonly metadata?: {
|
|
28
|
+
readonly [key: string]: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export declare class FileShare extends Construct {
|
|
32
|
+
readonly name: string;
|
|
33
|
+
readonly id: string;
|
|
34
|
+
private readonly files;
|
|
35
|
+
readonly storageAccountName: string;
|
|
36
|
+
readonly storageShareName: string;
|
|
37
|
+
constructor(scope: Construct, id: string, props: StorageShareConfig);
|
|
38
|
+
/**
|
|
39
|
+
* Adds a file to the Azure Storage File Share.
|
|
40
|
+
*
|
|
41
|
+
* @param fileName The name of the file to be added.
|
|
42
|
+
* @param fileSource Optional path or URL to the source of the file's content.
|
|
43
|
+
* @param props Optional configuration properties for the file, such as content type, encoding, and metadata.
|
|
44
|
+
* @returns The created AzureStorageShareFile instance.
|
|
45
|
+
*
|
|
46
|
+
* This method allows you to add a file to your Azure Storage File Share, optionally specifying
|
|
47
|
+
* the file's content source and other properties like content type, encoding, and metadata.
|
|
48
|
+
* If `fileSource` is provided, the content of the file is sourced from this location.
|
|
49
|
+
* The `props` parameter allows for further customization of the file, such as setting the content type
|
|
50
|
+
* (default is 'application/octet-stream') and adding metadata.
|
|
51
|
+
*
|
|
52
|
+
* Example usage:
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const storageShareFile = storageShare.addFile('example.txt', './path/to/local/file.txt', {
|
|
55
|
+
* contentType: 'text/plain',
|
|
56
|
+
* metadata: { customKey: 'customValue' }
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* In this example, a text file named 'example.txt' is added to the storage share. The content of the file
|
|
61
|
+
* is sourced from a local file, and the content type is specified as 'text/plain' with custom metadata.
|
|
62
|
+
*/
|
|
63
|
+
addFile(fileName: string, fileSource?: string, props?: StorageShareFileConfig): File;
|
|
64
|
+
}
|
|
65
|
+
export declare class File extends Construct {
|
|
66
|
+
readonly name: string;
|
|
67
|
+
readonly id: string;
|
|
68
|
+
constructor(scope: Construct, id: string, props: StorageShareFileConfig);
|
|
69
|
+
}
|