@microsoft/terraform-cdk-constructs 0.0.3-pre.7 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devcontainer/devcontainer.json +2 -2
- package/.jsii +22878 -10724
- package/API.md +25087 -9636
- package/LICENSE +16 -18
- package/README.md +147 -72
- package/cdktf.json +1 -1
- package/docs/ARCHITECTURE.md +836 -0
- package/docs/azapi-testing-architecture.md +482 -0
- package/docs/testing.md +39 -137
- package/docs/versioning-and-migrations-user-guide.md +409 -0
- package/go.mod +12 -12
- package/go.sum +27 -23
- package/lib/azure-resourcegroup/index.d.ts +37 -0
- package/lib/azure-resourcegroup/index.js +39 -1
- package/lib/azure-resourcegroup/lib/index.d.ts +44 -0
- package/lib/azure-resourcegroup/lib/index.js +43 -1
- package/lib/azure-resourcegroup/lib/resource-group-schemas.d.ts +40 -0
- package/lib/azure-resourcegroup/lib/resource-group-schemas.js +243 -0
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +170 -46
- package/lib/azure-resourcegroup/lib/resource-group.js +222 -56
- package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +9 -0
- package/lib/azure-resourcegroup/test/resource-group.integ.js +60 -0
- package/lib/azure-resourcegroup/test/resource-group.spec.d.ts +9 -0
- package/lib/azure-resourcegroup/test/resource-group.spec.js +554 -0
- package/lib/azure-storageaccount/index.d.ts +19 -0
- package/lib/azure-storageaccount/index.js +20 -1
- package/lib/azure-storageaccount/lib/index.d.ts +8 -5
- package/lib/azure-storageaccount/lib/index.js +9 -6
- package/lib/azure-storageaccount/lib/storage-account-schemas.d.ts +40 -0
- package/lib/azure-storageaccount/lib/storage-account-schemas.js +378 -0
- package/lib/azure-storageaccount/lib/storage-account.d.ts +311 -0
- package/lib/azure-storageaccount/lib/storage-account.js +229 -0
- package/lib/azure-storageaccount/test/storage-account.integ.d.ts +9 -0
- package/lib/azure-storageaccount/test/storage-account.integ.js +72 -0
- package/lib/azure-storageaccount/test/storage-account.spec.d.ts +4 -0
- package/lib/azure-storageaccount/test/storage-account.spec.js +315 -0
- package/lib/core-azure/lib/azapi/azapi-exports.d.ts +16 -0
- package/lib/core-azure/lib/azapi/azapi-exports.js +38 -0
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +413 -0
- package/lib/core-azure/lib/azapi/azapi-resource.js +468 -0
- package/lib/core-azure/lib/azapi/azapi-resource.spec.d.ts +7 -0
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +545 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +62 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +161 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +327 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +521 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +331 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +436 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +116 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +213 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +272 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +368 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +505 -0
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +620 -0
- package/lib/core-azure/lib/azapi/providers-azapi/index.d.ts +10 -0
- package/lib/core-azure/lib/azapi/providers-azapi/index.js +15 -0
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +435 -0
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +584 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +675 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +856 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +387 -0
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +531 -0
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +437 -0
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +589 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.d.ts +215 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +565 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.d.ts +7 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.js +630 -0
- package/lib/core-azure/lib/index.d.ts +18 -3
- package/lib/core-azure/lib/index.js +24 -4
- package/lib/core-azure/lib/version-manager/api-version-manager.d.ts +253 -0
- package/lib/core-azure/lib/version-manager/api-version-manager.js +509 -0
- package/lib/core-azure/lib/version-manager/api-version-manager.spec.d.ts +7 -0
- package/lib/core-azure/lib/version-manager/api-version-manager.spec.js +510 -0
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.d.ts +669 -0
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +202 -0
- package/lib/core-azure/lib/version-manager/version-manager.d.ts +9 -0
- package/lib/core-azure/lib/version-manager/version-manager.js +23 -0
- package/lib/index.d.ts +20 -16
- package/lib/index.js +41 -18
- package/lib/testing/index.d.ts +33 -0
- package/lib/testing/index.js +238 -2
- package/lib/util/azureTenantIdHelpers.js +3 -4
- package/lib/util/randomName.js +2 -3
- package/package.json +53 -40
- package/cdktf.out/manifest.json +0 -13
- package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +0 -111
- package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +0 -588
- package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +0 -245
- package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +0 -179
- package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +0 -236
- package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +0 -436
- package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +0 -152
- package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +0 -209
- package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +0 -439
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +0 -283
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +0 -261
- package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +0 -309
- package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +0 -161
- package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +0 -271
- package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +0 -122
- package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +0 -88
- package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +0 -339
- package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +0 -264
- package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +0 -261
- package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +0 -280
- package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +0 -167
- package/lib/azure-actiongroup/index.d.ts +0 -1
- package/lib/azure-actiongroup/index.js +0 -18
- package/lib/azure-actiongroup/lib/actiongroup.d.ts +0 -49
- package/lib/azure-actiongroup/lib/actiongroup.js +0 -85
- package/lib/azure-actiongroup/lib/index.d.ts +0 -1
- package/lib/azure-actiongroup/lib/index.js +0 -18
- package/lib/azure-actiongroup/model/action-group-props.d.ts +0 -47
- package/lib/azure-actiongroup/model/action-group-props.js +0 -3
- package/lib/azure-actiongroup/model/arm-role-receiver-props.d.ts +0 -20
- package/lib/azure-actiongroup/model/arm-role-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/azure-app-push-receiver-props.d.ts +0 -14
- package/lib/azure-actiongroup/model/azure-app-push-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/email-receiver-props.d.ts +0 -19
- package/lib/azure-actiongroup/model/email-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/eventhub-receiver-props.d.ts +0 -23
- package/lib/azure-actiongroup/model/eventhub-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/function.d.ts +0 -40
- package/lib/azure-actiongroup/model/function.js +0 -118
- package/lib/azure-actiongroup/model/index.d.ts +0 -10
- package/lib/azure-actiongroup/model/index.js +0 -27
- package/lib/azure-actiongroup/model/logic-app-receiver-props.d.ts +0 -23
- package/lib/azure-actiongroup/model/logic-app-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/sms-receiver-props.d.ts +0 -18
- package/lib/azure-actiongroup/model/sms-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/voice-receiver-props.d.ts +0 -18
- package/lib/azure-actiongroup/model/voice-receiver-props.js +0 -3
- package/lib/azure-actiongroup/model/webhook-receiver-props.d.ts +0 -18
- package/lib/azure-actiongroup/model/webhook-receiver-props.js +0 -3
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.d.ts +0 -1
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +0 -294
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +0 -5
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +0 -66
- package/lib/azure-applicationgateway/index.d.ts +0 -1
- package/lib/azure-applicationgateway/index.js +0 -18
- package/lib/azure-applicationgateway/lib/gateway.d.ts +0 -248
- package/lib/azure-applicationgateway/lib/gateway.js +0 -199
- package/lib/azure-applicationgateway/lib/index.d.ts +0 -1
- package/lib/azure-applicationgateway/lib/index.js +0 -18
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.d.ts +0 -1
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +0 -106
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +0 -5
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +0 -267
- package/lib/azure-applicationinsights/index.d.ts +0 -1
- package/lib/azure-applicationinsights/index.js +0 -18
- package/lib/azure-applicationinsights/lib/appinsights.d.ts +0 -110
- package/lib/azure-applicationinsights/lib/appinsights.js +0 -134
- package/lib/azure-applicationinsights/lib/index.d.ts +0 -1
- package/lib/azure-applicationinsights/lib/index.js +0 -18
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.d.ts +0 -1
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +0 -55
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +0 -5
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +0 -87
- package/lib/azure-containerregistry/index.d.ts +0 -1
- package/lib/azure-containerregistry/index.js +0 -18
- package/lib/azure-containerregistry/lib/index.d.ts +0 -1
- package/lib/azure-containerregistry/lib/index.js +0 -18
- package/lib/azure-containerregistry/lib/registry.d.ts +0 -70
- package/lib/azure-containerregistry/lib/registry.js +0 -76
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.d.ts +0 -1
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +0 -50
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +0 -5
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +0 -57
- package/lib/azure-datalake/index.d.ts +0 -1
- package/lib/azure-datalake/index.js +0 -18
- package/lib/azure-datalake/lib/datalake.d.ts +0 -64
- package/lib/azure-datalake/lib/datalake.js +0 -92
- package/lib/azure-datalake/lib/filesystem.d.ts +0 -70
- package/lib/azure-datalake/lib/filesystem.js +0 -83
- package/lib/azure-datalake/lib/index.d.ts +0 -3
- package/lib/azure-datalake/lib/index.js +0 -20
- package/lib/azure-datalake/lib/path.d.ts +0 -49
- package/lib/azure-datalake/lib/path.js +0 -51
- package/lib/azure-eventhub/index.d.ts +0 -1
- package/lib/azure-eventhub/index.js +0 -18
- package/lib/azure-eventhub/lib/authorization.d.ts +0 -58
- package/lib/azure-eventhub/lib/authorization.js +0 -84
- package/lib/azure-eventhub/lib/cluster.d.ts +0 -56
- package/lib/azure-eventhub/lib/cluster.js +0 -64
- package/lib/azure-eventhub/lib/consumer.d.ts +0 -54
- package/lib/azure-eventhub/lib/consumer.js +0 -59
- package/lib/azure-eventhub/lib/index.d.ts +0 -6
- package/lib/azure-eventhub/lib/index.js +0 -23
- package/lib/azure-eventhub/lib/instance.d.ts +0 -164
- package/lib/azure-eventhub/lib/instance.js +0 -184
- package/lib/azure-eventhub/lib/kusto-connection.d.ts +0 -109
- package/lib/azure-eventhub/lib/kusto-connection.js +0 -76
- package/lib/azure-eventhub/lib/namespace.d.ts +0 -151
- package/lib/azure-eventhub/lib/namespace.js +0 -131
- package/lib/azure-eventhub/test/AzureEventhub.spec.d.ts +0 -1
- package/lib/azure-eventhub/test/AzureEventhub.spec.js +0 -56
- package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +0 -5
- package/lib/azure-eventhub/test/ExampleAzureEventhub.js +0 -72
- package/lib/azure-functionapp/index.d.ts +0 -1
- package/lib/azure-functionapp/index.js +0 -18
- package/lib/azure-functionapp/lib/functionapplinux.d.ts +0 -211
- package/lib/azure-functionapp/lib/functionapplinux.js +0 -141
- package/lib/azure-functionapp/lib/index.d.ts +0 -1
- package/lib/azure-functionapp/lib/index.js +0 -18
- package/lib/azure-functionapp/serviceplanskus.d.ts +0 -70
- package/lib/azure-functionapp/serviceplanskus.js +0 -81
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.d.ts +0 -1
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +0 -48
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +0 -5
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +0 -123
- package/lib/azure-keyvault/index.d.ts +0 -1
- package/lib/azure-keyvault/index.js +0 -18
- package/lib/azure-keyvault/lib/certificate.d.ts +0 -133
- package/lib/azure-keyvault/lib/certificate.js +0 -146
- package/lib/azure-keyvault/lib/index.d.ts +0 -5
- package/lib/azure-keyvault/lib/index.js +0 -22
- package/lib/azure-keyvault/lib/key.d.ts +0 -72
- package/lib/azure-keyvault/lib/key.js +0 -69
- package/lib/azure-keyvault/lib/policy.d.ts +0 -76
- package/lib/azure-keyvault/lib/policy.js +0 -56
- package/lib/azure-keyvault/lib/secret.d.ts +0 -70
- package/lib/azure-keyvault/lib/secret.js +0 -64
- package/lib/azure-keyvault/lib/vault.d.ts +0 -282
- package/lib/azure-keyvault/lib/vault.js +0 -392
- package/lib/azure-keyvault/test/AzureKeyVault.spec.d.ts +0 -1
- package/lib/azure-keyvault/test/AzureKeyVault.spec.js +0 -63
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +0 -5
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +0 -112
- package/lib/azure-kubernetes/index.d.ts +0 -1
- package/lib/azure-kubernetes/index.js +0 -18
- package/lib/azure-kubernetes/lib/cluster.d.ts +0 -93
- package/lib/azure-kubernetes/lib/cluster.js +0 -63
- package/lib/azure-kubernetes/lib/index.d.ts +0 -1
- package/lib/azure-kubernetes/lib/index.js +0 -18
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.d.ts +0 -1
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +0 -56
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +0 -5
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +0 -65
- package/lib/azure-kusto/index.d.ts +0 -1
- package/lib/azure-kusto/index.js +0 -18
- package/lib/azure-kusto/lib/cluster.d.ts +0 -136
- package/lib/azure-kusto/lib/cluster.js +0 -138
- package/lib/azure-kusto/lib/compute-specification.d.ts +0 -71
- package/lib/azure-kusto/lib/compute-specification.js +0 -651
- package/lib/azure-kusto/lib/database.d.ts +0 -162
- package/lib/azure-kusto/lib/database.js +0 -180
- package/lib/azure-kusto/lib/index.d.ts +0 -3
- package/lib/azure-kusto/lib/index.js +0 -20
- package/lib/azure-kusto/test/AzureKusto.spec.d.ts +0 -1
- package/lib/azure-kusto/test/AzureKusto.spec.js +0 -50
- package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +0 -5
- package/lib/azure-kusto/test/ExampleAzureKusto.js +0 -71
- package/lib/azure-loganalytics/index.d.ts +0 -1
- package/lib/azure-loganalytics/index.js +0 -18
- package/lib/azure-loganalytics/lib/index.d.ts +0 -1
- package/lib/azure-loganalytics/lib/index.js +0 -18
- package/lib/azure-loganalytics/lib/workspace.d.ts +0 -163
- package/lib/azure-loganalytics/lib/workspace.js +0 -126
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.d.ts +0 -1
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +0 -50
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +0 -5
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +0 -115
- package/lib/azure-metricalert/index.d.ts +0 -2
- package/lib/azure-metricalert/index.js +0 -19
- package/lib/azure-metricalert/lib/index.d.ts +0 -1
- package/lib/azure-metricalert/lib/index.js +0 -18
- package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -56
- package/lib/azure-metricalert/lib/metric-alert.js +0 -128
- package/lib/azure-metricalert/model/action-props.d.ts +0 -11
- package/lib/azure-metricalert/model/action-props.js +0 -3
- package/lib/azure-metricalert/model/criteria-base-props.d.ts +0 -38
- package/lib/azure-metricalert/model/criteria-base-props.js +0 -3
- package/lib/azure-metricalert/model/criteria-dimension-props.d.ts +0 -21
- package/lib/azure-metricalert/model/criteria-dimension-props.js +0 -3
- package/lib/azure-metricalert/model/criteria-props.d.ts +0 -12
- package/lib/azure-metricalert/model/criteria-props.js +0 -3
- package/lib/azure-metricalert/model/dynamic-criteria-props.d.ts +0 -29
- package/lib/azure-metricalert/model/dynamic-criteria-props.js +0 -3
- package/lib/azure-metricalert/model/function.d.ts +0 -28
- package/lib/azure-metricalert/model/function.js +0 -78
- package/lib/azure-metricalert/model/index.d.ts +0 -7
- package/lib/azure-metricalert/model/index.js +0 -24
- package/lib/azure-metricalert/model/metric-alert-props.d.ts +0 -86
- package/lib/azure-metricalert/model/metric-alert-props.js +0 -3
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.d.ts +0 -1
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +0 -63
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +0 -5
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +0 -81
- package/lib/azure-networksecuritygroup/index.d.ts +0 -1
- package/lib/azure-networksecuritygroup/index.js +0 -18
- package/lib/azure-networksecuritygroup/lib/index.d.ts +0 -2
- package/lib/azure-networksecuritygroup/lib/index.js +0 -19
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.d.ts +0 -77
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +0 -608
- package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +0 -190
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +0 -172
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.d.ts +0 -1
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +0 -54
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +0 -5
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +0 -97
- package/lib/azure-queryrulealert/index.d.ts +0 -1
- package/lib/azure-queryrulealert/index.js +0 -18
- package/lib/azure-queryrulealert/lib/index.d.ts +0 -1
- package/lib/azure-queryrulealert/lib/index.js +0 -18
- package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +0 -175
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +0 -205
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.d.ts +0 -1
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +0 -67
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +0 -5
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +0 -67
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.d.ts +0 -1
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +0 -41
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +0 -5
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +0 -29
- package/lib/azure-storageaccount/lib/account.d.ts +0 -232
- package/lib/azure-storageaccount/lib/account.js +0 -225
- package/lib/azure-storageaccount/lib/container.d.ts +0 -122
- package/lib/azure-storageaccount/lib/container.js +0 -167
- package/lib/azure-storageaccount/lib/fileshare.d.ts +0 -105
- package/lib/azure-storageaccount/lib/fileshare.js +0 -126
- package/lib/azure-storageaccount/lib/queue.d.ts +0 -35
- package/lib/azure-storageaccount/lib/queue.js +0 -52
- package/lib/azure-storageaccount/lib/table.d.ts +0 -38
- package/lib/azure-storageaccount/lib/table.js +0 -55
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.d.ts +0 -1
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +0 -45
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +0 -5
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +0 -102
- package/lib/azure-virtualmachine/index.d.ts +0 -1
- package/lib/azure-virtualmachine/index.js +0 -18
- package/lib/azure-virtualmachine/lib/image-references.d.ts +0 -22
- package/lib/azure-virtualmachine/lib/image-references.js +0 -128
- package/lib/azure-virtualmachine/lib/index.d.ts +0 -2
- package/lib/azure-virtualmachine/lib/index.js +0 -19
- package/lib/azure-virtualmachine/lib/vm.d.ts +0 -281
- package/lib/azure-virtualmachine/lib/vm.js +0 -283
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.d.ts +0 -1
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +0 -48
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.d.ts +0 -1
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +0 -50
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +0 -5
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +0 -106
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +0 -5
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +0 -102
- package/lib/azure-virtualmachinescaleset/index.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/index.js +0 -18
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +0 -324
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +0 -264
- package/lib/azure-virtualmachinescaleset/lib/index.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/lib/index.js +0 -18
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +0 -48
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.d.ts +0 -1
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +0 -50
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +0 -5
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +0 -107
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +0 -5
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +0 -103
- package/lib/azure-virtualnetwork/index.d.ts +0 -1
- package/lib/azure-virtualnetwork/index.js +0 -18
- package/lib/azure-virtualnetwork/lib/index.d.ts +0 -2
- package/lib/azure-virtualnetwork/lib/index.js +0 -19
- package/lib/azure-virtualnetwork/lib/network.d.ts +0 -122
- package/lib/azure-virtualnetwork/lib/network.js +0 -120
- package/lib/azure-virtualnetwork/lib/peering.d.ts +0 -90
- package/lib/azure-virtualnetwork/lib/peering.js +0 -71
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.d.ts +0 -1
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +0 -48
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +0 -5
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +0 -88
- package/lib/core-azure/lib/diagsettings.d.ts +0 -89
- package/lib/core-azure/lib/diagsettings.js +0 -83
- package/lib/core-azure/lib/rbac.d.ts +0 -50
- package/lib/core-azure/lib/rbac.js +0 -48
- package/lib/core-azure/lib/resource.d.ts +0 -62
- package/lib/core-azure/lib/resource.js +0 -118
- package/lib/core-azure/test/AzureResource.spec.d.ts +0 -1
- package/lib/core-azure/test/AzureResource.spec.js +0 -19
- package/lib/core-azure/test/ExampleAzureResource.d.ts +0 -5
- package/lib/core-azure/test/ExampleAzureResource.js +0 -67
- package/node_modules/moment/CHANGELOG.md +0 -996
- package/node_modules/moment/LICENSE +0 -22
- package/node_modules/moment/README.md +0 -55
- package/node_modules/moment/dist/locale/af.js +0 -71
- package/node_modules/moment/dist/locale/ar-dz.js +0 -156
- package/node_modules/moment/dist/locale/ar-kw.js +0 -55
- package/node_modules/moment/dist/locale/ar-ly.js +0 -171
- package/node_modules/moment/dist/locale/ar-ma.js +0 -56
- package/node_modules/moment/dist/locale/ar-ps.js +0 -112
- package/node_modules/moment/dist/locale/ar-sa.js +0 -105
- package/node_modules/moment/dist/locale/ar-tn.js +0 -55
- package/node_modules/moment/dist/locale/ar.js +0 -189
- package/node_modules/moment/dist/locale/az.js +0 -102
- package/node_modules/moment/dist/locale/be.js +0 -142
- package/node_modules/moment/dist/locale/bg.js +0 -87
- package/node_modules/moment/dist/locale/bm.js +0 -52
- package/node_modules/moment/dist/locale/bn-bd.js +0 -129
- package/node_modules/moment/dist/locale/bn.js +0 -119
- package/node_modules/moment/dist/locale/bo.js +0 -124
- package/node_modules/moment/dist/locale/br.js +0 -168
- package/node_modules/moment/dist/locale/bs.js +0 -160
- package/node_modules/moment/dist/locale/ca.js +0 -100
- package/node_modules/moment/dist/locale/cs.js +0 -181
- package/node_modules/moment/dist/locale/cv.js +0 -63
- package/node_modules/moment/dist/locale/cy.js +0 -98
- package/node_modules/moment/dist/locale/da.js +0 -53
- package/node_modules/moment/dist/locale/de-at.js +0 -79
- package/node_modules/moment/dist/locale/de-ch.js +0 -78
- package/node_modules/moment/dist/locale/de.js +0 -78
- package/node_modules/moment/dist/locale/dv.js +0 -90
- package/node_modules/moment/dist/locale/el.js +0 -106
- package/node_modules/moment/dist/locale/en-au.js +0 -68
- package/node_modules/moment/dist/locale/en-ca.js +0 -64
- package/node_modules/moment/dist/locale/en-gb.js +0 -68
- package/node_modules/moment/dist/locale/en-ie.js +0 -68
- package/node_modules/moment/dist/locale/en-il.js +0 -64
- package/node_modules/moment/dist/locale/en-in.js +0 -68
- package/node_modules/moment/dist/locale/en-nz.js +0 -68
- package/node_modules/moment/dist/locale/en-sg.js +0 -68
- package/node_modules/moment/dist/locale/eo.js +0 -68
- package/node_modules/moment/dist/locale/es-do.js +0 -108
- package/node_modules/moment/dist/locale/es-mx.js +0 -110
- package/node_modules/moment/dist/locale/es-us.js +0 -110
- package/node_modules/moment/dist/locale/es.js +0 -110
- package/node_modules/moment/dist/locale/et.js +0 -78
- package/node_modules/moment/dist/locale/eu.js +0 -65
- package/node_modules/moment/dist/locale/fa.js +0 -113
- package/node_modules/moment/dist/locale/fi.js +0 -124
- package/node_modules/moment/dist/locale/fil.js +0 -58
- package/node_modules/moment/dist/locale/fo.js +0 -57
- package/node_modules/moment/dist/locale/fr-ca.js +0 -70
- package/node_modules/moment/dist/locale/fr-ch.js +0 -74
- package/node_modules/moment/dist/locale/fr.js +0 -108
- package/node_modules/moment/dist/locale/fy.js +0 -75
- package/node_modules/moment/dist/locale/ga.js +0 -95
- package/node_modules/moment/dist/locale/gd.js +0 -95
- package/node_modules/moment/dist/locale/gl.js +0 -75
- package/node_modules/moment/dist/locale/gom-deva.js +0 -126
- package/node_modules/moment/dist/locale/gom-latn.js +0 -124
- package/node_modules/moment/dist/locale/gu.js +0 -122
- package/node_modules/moment/dist/locale/he.js +0 -94
- package/node_modules/moment/dist/locale/hi.js +0 -168
- package/node_modules/moment/dist/locale/hr.js +0 -156
- package/node_modules/moment/dist/locale/hu.js +0 -118
- package/node_modules/moment/dist/locale/hy-am.js +0 -94
- package/node_modules/moment/dist/locale/id.js +0 -76
- package/node_modules/moment/dist/locale/is.js +0 -140
- package/node_modules/moment/dist/locale/it-ch.js +0 -64
- package/node_modules/moment/dist/locale/it.js +0 -106
- package/node_modules/moment/dist/locale/ja.js +0 -148
- package/node_modules/moment/dist/locale/jv.js +0 -76
- package/node_modules/moment/dist/locale/ka.js +0 -92
- package/node_modules/moment/dist/locale/kk.js +0 -82
- package/node_modules/moment/dist/locale/km.js +0 -103
- package/node_modules/moment/dist/locale/kn.js +0 -124
- package/node_modules/moment/dist/locale/ko.js +0 -75
- package/node_modules/moment/dist/locale/ku-kmr.js +0 -121
- package/node_modules/moment/dist/locale/ku.js +0 -118
- package/node_modules/moment/dist/locale/ky.js +0 -84
- package/node_modules/moment/dist/locale/lb.js +0 -137
- package/node_modules/moment/dist/locale/lo.js +0 -66
- package/node_modules/moment/dist/locale/lt.js +0 -125
- package/node_modules/moment/dist/locale/lv.js +0 -94
- package/node_modules/moment/dist/locale/me.js +0 -117
- package/node_modules/moment/dist/locale/mi.js +0 -60
- package/node_modules/moment/dist/locale/mk.js +0 -85
- package/node_modules/moment/dist/locale/ml.js +0 -82
- package/node_modules/moment/dist/locale/mn.js +0 -100
- package/node_modules/moment/dist/locale/mr.js +0 -203
- package/node_modules/moment/dist/locale/ms-my.js +0 -76
- package/node_modules/moment/dist/locale/ms.js +0 -75
- package/node_modules/moment/dist/locale/mt.js +0 -56
- package/node_modules/moment/dist/locale/my.js +0 -91
- package/node_modules/moment/dist/locale/nb.js +0 -60
- package/node_modules/moment/dist/locale/ne.js +0 -121
- package/node_modules/moment/dist/locale/nl-be.js +0 -102
- package/node_modules/moment/dist/locale/nl.js +0 -104
- package/node_modules/moment/dist/locale/nn.js +0 -59
- package/node_modules/moment/dist/locale/oc-lnc.js +0 -85
- package/node_modules/moment/dist/locale/pa-in.js +0 -122
- package/node_modules/moment/dist/locale/pl.js +0 -140
- package/node_modules/moment/dist/locale/pt-br.js +0 -58
- package/node_modules/moment/dist/locale/pt.js +0 -63
- package/node_modules/moment/dist/locale/ro.js +0 -76
- package/node_modules/moment/dist/locale/ru.js +0 -213
- package/node_modules/moment/dist/locale/sd.js +0 -81
- package/node_modules/moment/dist/locale/se.js +0 -57
- package/node_modules/moment/dist/locale/si.js +0 -69
- package/node_modules/moment/dist/locale/sk.js +0 -145
- package/node_modules/moment/dist/locale/sl.js +0 -171
- package/node_modules/moment/dist/locale/sq.js +0 -65
- package/node_modules/moment/dist/locale/sr-cyrl.js +0 -127
- package/node_modules/moment/dist/locale/sr.js +0 -129
- package/node_modules/moment/dist/locale/ss.js +0 -84
- package/node_modules/moment/dist/locale/sv.js +0 -68
- package/node_modules/moment/dist/locale/sw.js +0 -55
- package/node_modules/moment/dist/locale/ta.js +0 -131
- package/node_modules/moment/dist/locale/te.js +0 -88
- package/node_modules/moment/dist/locale/tet.js +0 -68
- package/node_modules/moment/dist/locale/tg.js +0 -117
- package/node_modules/moment/dist/locale/th.js +0 -65
- package/node_modules/moment/dist/locale/tk.js +0 -91
- package/node_modules/moment/dist/locale/tl-ph.js +0 -57
- package/node_modules/moment/dist/locale/tlh.js +0 -124
- package/node_modules/moment/dist/locale/tr.js +0 -106
- package/node_modules/moment/dist/locale/tzl.js +0 -89
- package/node_modules/moment/dist/locale/tzm-latn.js +0 -54
- package/node_modules/moment/dist/locale/tzm.js +0 -54
- package/node_modules/moment/dist/locale/ug-cn.js +0 -111
- package/node_modules/moment/dist/locale/uk.js +0 -167
- package/node_modules/moment/dist/locale/ur.js +0 -82
- package/node_modules/moment/dist/locale/uz-latn.js +0 -54
- package/node_modules/moment/dist/locale/uz.js +0 -51
- package/node_modules/moment/dist/locale/vi.js +0 -80
- package/node_modules/moment/dist/locale/x-pseudo.js +0 -73
- package/node_modules/moment/dist/locale/yo.js +0 -53
- package/node_modules/moment/dist/locale/zh-cn.js +0 -120
- package/node_modules/moment/dist/locale/zh-hk.js +0 -101
- package/node_modules/moment/dist/locale/zh-mo.js +0 -100
- package/node_modules/moment/dist/locale/zh-tw.js +0 -99
- package/node_modules/moment/dist/moment.js +0 -5680
- package/node_modules/moment/ender.js +0 -1
- package/node_modules/moment/locale/af.js +0 -82
- package/node_modules/moment/locale/ar-dz.js +0 -167
- package/node_modules/moment/locale/ar-kw.js +0 -66
- package/node_modules/moment/locale/ar-ly.js +0 -182
- package/node_modules/moment/locale/ar-ma.js +0 -67
- package/node_modules/moment/locale/ar-ps.js +0 -123
- package/node_modules/moment/locale/ar-sa.js +0 -116
- package/node_modules/moment/locale/ar-tn.js +0 -66
- package/node_modules/moment/locale/ar.js +0 -200
- package/node_modules/moment/locale/az.js +0 -113
- package/node_modules/moment/locale/be.js +0 -153
- package/node_modules/moment/locale/bg.js +0 -98
- package/node_modules/moment/locale/bm.js +0 -62
- package/node_modules/moment/locale/bn-bd.js +0 -140
- package/node_modules/moment/locale/bn.js +0 -130
- package/node_modules/moment/locale/bo.js +0 -135
- package/node_modules/moment/locale/br.js +0 -179
- package/node_modules/moment/locale/bs.js +0 -171
- package/node_modules/moment/locale/ca.js +0 -111
- package/node_modules/moment/locale/cs.js +0 -192
- package/node_modules/moment/locale/cv.js +0 -74
- package/node_modules/moment/locale/cy.js +0 -109
- package/node_modules/moment/locale/da.js +0 -64
- package/node_modules/moment/locale/de-at.js +0 -90
- package/node_modules/moment/locale/de-ch.js +0 -87
- package/node_modules/moment/locale/de.js +0 -89
- package/node_modules/moment/locale/dv.js +0 -101
- package/node_modules/moment/locale/el.js +0 -117
- package/node_modules/moment/locale/en-au.js +0 -79
- package/node_modules/moment/locale/en-ca.js +0 -75
- package/node_modules/moment/locale/en-gb.js +0 -79
- package/node_modules/moment/locale/en-ie.js +0 -79
- package/node_modules/moment/locale/en-il.js +0 -75
- package/node_modules/moment/locale/en-in.js +0 -79
- package/node_modules/moment/locale/en-nz.js +0 -79
- package/node_modules/moment/locale/en-sg.js +0 -79
- package/node_modules/moment/locale/eo.js +0 -79
- package/node_modules/moment/locale/es-do.js +0 -119
- package/node_modules/moment/locale/es-mx.js +0 -121
- package/node_modules/moment/locale/es-us.js +0 -121
- package/node_modules/moment/locale/es.js +0 -121
- package/node_modules/moment/locale/et.js +0 -89
- package/node_modules/moment/locale/eu.js +0 -76
- package/node_modules/moment/locale/fa.js +0 -124
- package/node_modules/moment/locale/fi.js +0 -135
- package/node_modules/moment/locale/fil.js +0 -69
- package/node_modules/moment/locale/fo.js +0 -68
- package/node_modules/moment/locale/fr-ca.js +0 -81
- package/node_modules/moment/locale/fr-ch.js +0 -85
- package/node_modules/moment/locale/fr.js +0 -119
- package/node_modules/moment/locale/fy.js +0 -86
- package/node_modules/moment/locale/ga.js +0 -106
- package/node_modules/moment/locale/gd.js +0 -106
- package/node_modules/moment/locale/gl.js +0 -86
- package/node_modules/moment/locale/gom-deva.js +0 -137
- package/node_modules/moment/locale/gom-latn.js +0 -135
- package/node_modules/moment/locale/gu.js +0 -133
- package/node_modules/moment/locale/he.js +0 -105
- package/node_modules/moment/locale/hi.js +0 -179
- package/node_modules/moment/locale/hr.js +0 -167
- package/node_modules/moment/locale/hu.js +0 -129
- package/node_modules/moment/locale/hy-am.js +0 -105
- package/node_modules/moment/locale/id.js +0 -87
- package/node_modules/moment/locale/is.js +0 -151
- package/node_modules/moment/locale/it-ch.js +0 -75
- package/node_modules/moment/locale/it.js +0 -117
- package/node_modules/moment/locale/ja.js +0 -159
- package/node_modules/moment/locale/jv.js +0 -87
- package/node_modules/moment/locale/ka.js +0 -103
- package/node_modules/moment/locale/kk.js +0 -93
- package/node_modules/moment/locale/km.js +0 -114
- package/node_modules/moment/locale/kn.js +0 -135
- package/node_modules/moment/locale/ko.js +0 -86
- package/node_modules/moment/locale/ku-kmr.js +0 -125
- package/node_modules/moment/locale/ku.js +0 -129
- package/node_modules/moment/locale/ky.js +0 -95
- package/node_modules/moment/locale/lb.js +0 -148
- package/node_modules/moment/locale/lo.js +0 -77
- package/node_modules/moment/locale/lt.js +0 -136
- package/node_modules/moment/locale/lv.js +0 -105
- package/node_modules/moment/locale/me.js +0 -128
- package/node_modules/moment/locale/mi.js +0 -71
- package/node_modules/moment/locale/mk.js +0 -97
- package/node_modules/moment/locale/ml.js +0 -93
- package/node_modules/moment/locale/mn.js +0 -111
- package/node_modules/moment/locale/mr.js +0 -214
- package/node_modules/moment/locale/ms-my.js +0 -87
- package/node_modules/moment/locale/ms.js +0 -86
- package/node_modules/moment/locale/mt.js +0 -67
- package/node_modules/moment/locale/my.js +0 -102
- package/node_modules/moment/locale/nb.js +0 -71
- package/node_modules/moment/locale/ne.js +0 -132
- package/node_modules/moment/locale/nl-be.js +0 -113
- package/node_modules/moment/locale/nl.js +0 -115
- package/node_modules/moment/locale/nn.js +0 -70
- package/node_modules/moment/locale/oc-lnc.js +0 -96
- package/node_modules/moment/locale/pa-in.js +0 -133
- package/node_modules/moment/locale/pl.js +0 -151
- package/node_modules/moment/locale/pt-br.js +0 -69
- package/node_modules/moment/locale/pt.js +0 -74
- package/node_modules/moment/locale/ro.js +0 -87
- package/node_modules/moment/locale/ru.js +0 -224
- package/node_modules/moment/locale/sd.js +0 -92
- package/node_modules/moment/locale/se.js +0 -68
- package/node_modules/moment/locale/si.js +0 -80
- package/node_modules/moment/locale/sk.js +0 -156
- package/node_modules/moment/locale/sl.js +0 -182
- package/node_modules/moment/locale/sq.js +0 -76
- package/node_modules/moment/locale/sr-cyrl.js +0 -138
- package/node_modules/moment/locale/sr.js +0 -140
- package/node_modules/moment/locale/ss.js +0 -95
- package/node_modules/moment/locale/sv.js +0 -79
- package/node_modules/moment/locale/sw.js +0 -66
- package/node_modules/moment/locale/ta.js +0 -142
- package/node_modules/moment/locale/te.js +0 -99
- package/node_modules/moment/locale/tet.js +0 -79
- package/node_modules/moment/locale/tg.js +0 -128
- package/node_modules/moment/locale/th.js +0 -76
- package/node_modules/moment/locale/tk.js +0 -102
- package/node_modules/moment/locale/tl-ph.js +0 -68
- package/node_modules/moment/locale/tlh.js +0 -135
- package/node_modules/moment/locale/tr.js +0 -117
- package/node_modules/moment/locale/tzl.js +0 -100
- package/node_modules/moment/locale/tzm-latn.js +0 -65
- package/node_modules/moment/locale/tzm.js +0 -65
- package/node_modules/moment/locale/ug-cn.js +0 -122
- package/node_modules/moment/locale/uk.js +0 -178
- package/node_modules/moment/locale/ur.js +0 -93
- package/node_modules/moment/locale/uz-latn.js +0 -65
- package/node_modules/moment/locale/uz.js +0 -62
- package/node_modules/moment/locale/vi.js +0 -91
- package/node_modules/moment/locale/x-pseudo.js +0 -84
- package/node_modules/moment/locale/yo.js +0 -64
- package/node_modules/moment/locale/zh-cn.js +0 -131
- package/node_modules/moment/locale/zh-hk.js +0 -112
- package/node_modules/moment/locale/zh-mo.js +0 -111
- package/node_modules/moment/locale/zh-tw.js +0 -110
- package/node_modules/moment/min/locales.js +0 -12800
- package/node_modules/moment/min/locales.min.js +0 -2
- package/node_modules/moment/min/locales.min.js.map +0 -1
- package/node_modules/moment/min/moment-with-locales.js +0 -18472
- package/node_modules/moment/min/moment-with-locales.min.js +0 -2
- package/node_modules/moment/min/moment-with-locales.min.js.map +0 -1
- package/node_modules/moment/min/moment.min.js +0 -2
- package/node_modules/moment/min/moment.min.js.map +0 -1
- package/node_modules/moment/moment.d.ts +0 -796
- package/node_modules/moment/moment.js +0 -5688
- package/node_modules/moment/package.js +0 -11
- package/node_modules/moment/package.json +0 -116
- package/node_modules/moment/src/lib/create/check-overflow.js +0 -57
- package/node_modules/moment/src/lib/create/date-from-array.js +0 -35
- package/node_modules/moment/src/lib/create/from-anything.js +0 -117
- package/node_modules/moment/src/lib/create/from-array.js +0 -187
- package/node_modules/moment/src/lib/create/from-object.js +0 -20
- package/node_modules/moment/src/lib/create/from-string-and-array.js +0 -67
- package/node_modules/moment/src/lib/create/from-string-and-format.js +0 -135
- package/node_modules/moment/src/lib/create/from-string.js +0 -258
- package/node_modules/moment/src/lib/create/local.js +0 -5
- package/node_modules/moment/src/lib/create/parsing-flags.js +0 -28
- package/node_modules/moment/src/lib/create/utc.js +0 -5
- package/node_modules/moment/src/lib/create/valid.js +0 -51
- package/node_modules/moment/src/lib/duration/abs.js +0 -18
- package/node_modules/moment/src/lib/duration/add-subtract.js +0 -21
- package/node_modules/moment/src/lib/duration/as.js +0 -76
- package/node_modules/moment/src/lib/duration/bubble.js +0 -68
- package/node_modules/moment/src/lib/duration/clone.js +0 -5
- package/node_modules/moment/src/lib/duration/constructor.js +0 -42
- package/node_modules/moment/src/lib/duration/create.js +0 -133
- package/node_modules/moment/src/lib/duration/duration.js +0 -16
- package/node_modules/moment/src/lib/duration/get.js +0 -27
- package/node_modules/moment/src/lib/duration/humanize.js +0 -114
- package/node_modules/moment/src/lib/duration/iso-string.js +0 -68
- package/node_modules/moment/src/lib/duration/prototype.js +0 -78
- package/node_modules/moment/src/lib/duration/valid.js +0 -55
- package/node_modules/moment/src/lib/format/format.js +0 -104
- package/node_modules/moment/src/lib/locale/base-config.js +0 -41
- package/node_modules/moment/src/lib/locale/calendar.js +0 -15
- package/node_modules/moment/src/lib/locale/constructor.js +0 -5
- package/node_modules/moment/src/lib/locale/en.js +0 -39
- package/node_modules/moment/src/lib/locale/formats.js +0 -36
- package/node_modules/moment/src/lib/locale/invalid.js +0 -5
- package/node_modules/moment/src/lib/locale/lists.js +0 -93
- package/node_modules/moment/src/lib/locale/locale.js +0 -45
- package/node_modules/moment/src/lib/locale/locales.js +0 -249
- package/node_modules/moment/src/lib/locale/ordinal.js +0 -8
- package/node_modules/moment/src/lib/locale/pre-post-format.js +0 -3
- package/node_modules/moment/src/lib/locale/prototype.js +0 -88
- package/node_modules/moment/src/lib/locale/relative.js +0 -32
- package/node_modules/moment/src/lib/locale/set.js +0 -56
- package/node_modules/moment/src/lib/moment/add-subtract.js +0 -61
- package/node_modules/moment/src/lib/moment/calendar.js +0 -53
- package/node_modules/moment/src/lib/moment/clone.js +0 -5
- package/node_modules/moment/src/lib/moment/compare.js +0 -72
- package/node_modules/moment/src/lib/moment/constructor.js +0 -80
- package/node_modules/moment/src/lib/moment/creation-data.js +0 -9
- package/node_modules/moment/src/lib/moment/diff.js +0 -79
- package/node_modules/moment/src/lib/moment/format.js +0 -78
- package/node_modules/moment/src/lib/moment/from.js +0 -20
- package/node_modules/moment/src/lib/moment/get-set.js +0 -117
- package/node_modules/moment/src/lib/moment/locale.js +0 -34
- package/node_modules/moment/src/lib/moment/min-max.js +0 -62
- package/node_modules/moment/src/lib/moment/moment.js +0 -28
- package/node_modules/moment/src/lib/moment/now.js +0 -3
- package/node_modules/moment/src/lib/moment/prototype.js +0 -197
- package/node_modules/moment/src/lib/moment/start-end-of.js +0 -164
- package/node_modules/moment/src/lib/moment/to-type.js +0 -42
- package/node_modules/moment/src/lib/moment/to.js +0 -20
- package/node_modules/moment/src/lib/moment/valid.js +0 -15
- package/node_modules/moment/src/lib/parse/regex.js +0 -84
- package/node_modules/moment/src/lib/parse/token.js +0 -36
- package/node_modules/moment/src/lib/units/aliases.js +0 -75
- package/node_modules/moment/src/lib/units/constants.js +0 -9
- package/node_modules/moment/src/lib/units/day-of-month.js +0 -35
- package/node_modules/moment/src/lib/units/day-of-week.js +0 -432
- package/node_modules/moment/src/lib/units/day-of-year.js +0 -28
- package/node_modules/moment/src/lib/units/era.js +0 -293
- package/node_modules/moment/src/lib/units/hour.js +0 -152
- package/node_modules/moment/src/lib/units/millisecond.js +0 -66
- package/node_modules/moment/src/lib/units/minute.js +0 -24
- package/node_modules/moment/src/lib/units/month.js +0 -340
- package/node_modules/moment/src/lib/units/offset.js +0 -249
- package/node_modules/moment/src/lib/units/priorities.js +0 -34
- package/node_modules/moment/src/lib/units/quarter.js +0 -24
- package/node_modules/moment/src/lib/units/second.js +0 -24
- package/node_modules/moment/src/lib/units/timestamp.js +0 -20
- package/node_modules/moment/src/lib/units/timezone.js +0 -16
- package/node_modules/moment/src/lib/units/units.js +0 -20
- package/node_modules/moment/src/lib/units/week-calendar-utils.js +0 -66
- package/node_modules/moment/src/lib/units/week-year.js +0 -128
- package/node_modules/moment/src/lib/units/week.js +0 -62
- package/node_modules/moment/src/lib/units/year.js +0 -75
- package/node_modules/moment/src/lib/utils/abs-ceil.js +0 -7
- package/node_modules/moment/src/lib/utils/abs-floor.js +0 -8
- package/node_modules/moment/src/lib/utils/abs-round.js +0 -7
- package/node_modules/moment/src/lib/utils/compare-arrays.js +0 -18
- package/node_modules/moment/src/lib/utils/defaults.js +0 -10
- package/node_modules/moment/src/lib/utils/deprecate.js +0 -69
- package/node_modules/moment/src/lib/utils/extend.js +0 -19
- package/node_modules/moment/src/lib/utils/has-own-prop.js +0 -3
- package/node_modules/moment/src/lib/utils/hooks.js +0 -13
- package/node_modules/moment/src/lib/utils/index-of.js +0 -18
- package/node_modules/moment/src/lib/utils/is-array.js +0 -6
- package/node_modules/moment/src/lib/utils/is-calendar-spec.js +0 -25
- package/node_modules/moment/src/lib/utils/is-date.js +0 -6
- package/node_modules/moment/src/lib/utils/is-function.js +0 -6
- package/node_modules/moment/src/lib/utils/is-leap-year.js +0 -3
- package/node_modules/moment/src/lib/utils/is-moment-input.js +0 -75
- package/node_modules/moment/src/lib/utils/is-number.js +0 -6
- package/node_modules/moment/src/lib/utils/is-object-empty.js +0 -15
- package/node_modules/moment/src/lib/utils/is-object.js +0 -8
- package/node_modules/moment/src/lib/utils/is-string.js +0 -3
- package/node_modules/moment/src/lib/utils/is-undefined.js +0 -3
- package/node_modules/moment/src/lib/utils/keys.js +0 -20
- package/node_modules/moment/src/lib/utils/map.js +0 -9
- package/node_modules/moment/src/lib/utils/mod.js +0 -3
- package/node_modules/moment/src/lib/utils/some.js +0 -20
- package/node_modules/moment/src/lib/utils/to-int.js +0 -12
- package/node_modules/moment/src/lib/utils/zero-fill.js +0 -10
- package/node_modules/moment/src/locale/af.js +0 -71
- package/node_modules/moment/src/locale/ar-dz.js +0 -156
- package/node_modules/moment/src/locale/ar-kw.js +0 -55
- package/node_modules/moment/src/locale/ar-ly.js +0 -171
- package/node_modules/moment/src/locale/ar-ma.js +0 -56
- package/node_modules/moment/src/locale/ar-ps.js +0 -112
- package/node_modules/moment/src/locale/ar-sa.js +0 -105
- package/node_modules/moment/src/locale/ar-tn.js +0 -55
- package/node_modules/moment/src/locale/ar.js +0 -189
- package/node_modules/moment/src/locale/az.js +0 -102
- package/node_modules/moment/src/locale/be.js +0 -142
- package/node_modules/moment/src/locale/bg.js +0 -87
- package/node_modules/moment/src/locale/bm.js +0 -52
- package/node_modules/moment/src/locale/bn-bd.js +0 -129
- package/node_modules/moment/src/locale/bn.js +0 -119
- package/node_modules/moment/src/locale/bo.js +0 -124
- package/node_modules/moment/src/locale/br.js +0 -168
- package/node_modules/moment/src/locale/bs.js +0 -160
- package/node_modules/moment/src/locale/ca.js +0 -100
- package/node_modules/moment/src/locale/cs.js +0 -181
- package/node_modules/moment/src/locale/cv.js +0 -63
- package/node_modules/moment/src/locale/cy.js +0 -98
- package/node_modules/moment/src/locale/da.js +0 -53
- package/node_modules/moment/src/locale/de-at.js +0 -79
- package/node_modules/moment/src/locale/de-ch.js +0 -78
- package/node_modules/moment/src/locale/de.js +0 -78
- package/node_modules/moment/src/locale/dv.js +0 -90
- package/node_modules/moment/src/locale/el.js +0 -106
- package/node_modules/moment/src/locale/en-au.js +0 -68
- package/node_modules/moment/src/locale/en-ca.js +0 -64
- package/node_modules/moment/src/locale/en-gb.js +0 -68
- package/node_modules/moment/src/locale/en-ie.js +0 -68
- package/node_modules/moment/src/locale/en-il.js +0 -64
- package/node_modules/moment/src/locale/en-in.js +0 -68
- package/node_modules/moment/src/locale/en-nz.js +0 -68
- package/node_modules/moment/src/locale/en-sg.js +0 -68
- package/node_modules/moment/src/locale/eo.js +0 -68
- package/node_modules/moment/src/locale/es-do.js +0 -108
- package/node_modules/moment/src/locale/es-mx.js +0 -110
- package/node_modules/moment/src/locale/es-us.js +0 -110
- package/node_modules/moment/src/locale/es.js +0 -110
- package/node_modules/moment/src/locale/et.js +0 -78
- package/node_modules/moment/src/locale/eu.js +0 -65
- package/node_modules/moment/src/locale/fa.js +0 -113
- package/node_modules/moment/src/locale/fi.js +0 -124
- package/node_modules/moment/src/locale/fil.js +0 -58
- package/node_modules/moment/src/locale/fo.js +0 -57
- package/node_modules/moment/src/locale/fr-ca.js +0 -70
- package/node_modules/moment/src/locale/fr-ch.js +0 -74
- package/node_modules/moment/src/locale/fr.js +0 -108
- package/node_modules/moment/src/locale/fy.js +0 -75
- package/node_modules/moment/src/locale/ga.js +0 -95
- package/node_modules/moment/src/locale/gd.js +0 -95
- package/node_modules/moment/src/locale/gl.js +0 -75
- package/node_modules/moment/src/locale/gom-deva.js +0 -126
- package/node_modules/moment/src/locale/gom-latn.js +0 -124
- package/node_modules/moment/src/locale/gu.js +0 -122
- package/node_modules/moment/src/locale/he.js +0 -94
- package/node_modules/moment/src/locale/hi.js +0 -168
- package/node_modules/moment/src/locale/hr.js +0 -156
- package/node_modules/moment/src/locale/hu.js +0 -118
- package/node_modules/moment/src/locale/hy-am.js +0 -94
- package/node_modules/moment/src/locale/id.js +0 -76
- package/node_modules/moment/src/locale/is.js +0 -140
- package/node_modules/moment/src/locale/it-ch.js +0 -64
- package/node_modules/moment/src/locale/it.js +0 -106
- package/node_modules/moment/src/locale/ja.js +0 -148
- package/node_modules/moment/src/locale/jv.js +0 -76
- package/node_modules/moment/src/locale/ka.js +0 -92
- package/node_modules/moment/src/locale/kk.js +0 -82
- package/node_modules/moment/src/locale/km.js +0 -103
- package/node_modules/moment/src/locale/kn.js +0 -124
- package/node_modules/moment/src/locale/ko.js +0 -75
- package/node_modules/moment/src/locale/ku-kmr.js +0 -121
- package/node_modules/moment/src/locale/ku.js +0 -118
- package/node_modules/moment/src/locale/ky.js +0 -84
- package/node_modules/moment/src/locale/lb.js +0 -137
- package/node_modules/moment/src/locale/lo.js +0 -66
- package/node_modules/moment/src/locale/lt.js +0 -125
- package/node_modules/moment/src/locale/lv.js +0 -94
- package/node_modules/moment/src/locale/me.js +0 -117
- package/node_modules/moment/src/locale/mi.js +0 -60
- package/node_modules/moment/src/locale/mk.js +0 -85
- package/node_modules/moment/src/locale/ml.js +0 -82
- package/node_modules/moment/src/locale/mn.js +0 -100
- package/node_modules/moment/src/locale/mr.js +0 -203
- package/node_modules/moment/src/locale/ms-my.js +0 -76
- package/node_modules/moment/src/locale/ms.js +0 -75
- package/node_modules/moment/src/locale/mt.js +0 -56
- package/node_modules/moment/src/locale/my.js +0 -91
- package/node_modules/moment/src/locale/nb.js +0 -60
- package/node_modules/moment/src/locale/ne.js +0 -121
- package/node_modules/moment/src/locale/nl-be.js +0 -102
- package/node_modules/moment/src/locale/nl.js +0 -104
- package/node_modules/moment/src/locale/nn.js +0 -59
- package/node_modules/moment/src/locale/oc-lnc.js +0 -85
- package/node_modules/moment/src/locale/pa-in.js +0 -122
- package/node_modules/moment/src/locale/pl.js +0 -140
- package/node_modules/moment/src/locale/pt-br.js +0 -58
- package/node_modules/moment/src/locale/pt.js +0 -63
- package/node_modules/moment/src/locale/ro.js +0 -76
- package/node_modules/moment/src/locale/ru.js +0 -213
- package/node_modules/moment/src/locale/sd.js +0 -81
- package/node_modules/moment/src/locale/se.js +0 -57
- package/node_modules/moment/src/locale/si.js +0 -69
- package/node_modules/moment/src/locale/sk.js +0 -145
- package/node_modules/moment/src/locale/sl.js +0 -171
- package/node_modules/moment/src/locale/sq.js +0 -65
- package/node_modules/moment/src/locale/sr-cyrl.js +0 -127
- package/node_modules/moment/src/locale/sr.js +0 -129
- package/node_modules/moment/src/locale/ss.js +0 -84
- package/node_modules/moment/src/locale/sv.js +0 -68
- package/node_modules/moment/src/locale/sw.js +0 -55
- package/node_modules/moment/src/locale/ta.js +0 -131
- package/node_modules/moment/src/locale/te.js +0 -88
- package/node_modules/moment/src/locale/tet.js +0 -68
- package/node_modules/moment/src/locale/tg.js +0 -117
- package/node_modules/moment/src/locale/th.js +0 -65
- package/node_modules/moment/src/locale/tk.js +0 -91
- package/node_modules/moment/src/locale/tl-ph.js +0 -57
- package/node_modules/moment/src/locale/tlh.js +0 -124
- package/node_modules/moment/src/locale/tr.js +0 -106
- package/node_modules/moment/src/locale/tzl.js +0 -89
- package/node_modules/moment/src/locale/tzm-latn.js +0 -54
- package/node_modules/moment/src/locale/tzm.js +0 -54
- package/node_modules/moment/src/locale/ug-cn.js +0 -111
- package/node_modules/moment/src/locale/uk.js +0 -167
- package/node_modules/moment/src/locale/ur.js +0 -82
- package/node_modules/moment/src/locale/uz-latn.js +0 -54
- package/node_modules/moment/src/locale/uz.js +0 -51
- package/node_modules/moment/src/locale/vi.js +0 -80
- package/node_modules/moment/src/locale/x-pseudo.js +0 -73
- package/node_modules/moment/src/locale/yo.js +0 -53
- package/node_modules/moment/src/locale/zh-cn.js +0 -120
- package/node_modules/moment/src/locale/zh-hk.js +0 -101
- package/node_modules/moment/src/locale/zh-mo.js +0 -100
- package/node_modules/moment/src/locale/zh-tw.js +0 -99
- package/node_modules/moment/src/moment.js +0 -93
- package/node_modules/moment/ts3.1-typings/moment.d.ts +0 -785
- package/node_modules/nanoid/LICENSE +0 -20
- package/node_modules/nanoid/README.md +0 -38
- package/node_modules/nanoid/async/index.browser.js +0 -33
- package/node_modules/nanoid/async/index.d.ts +0 -56
- package/node_modules/nanoid/async/index.js +0 -34
- package/node_modules/nanoid/async/index.native.js +0 -25
- package/node_modules/nanoid/bin/nanoid.js +0 -46
- package/node_modules/nanoid/index.browser.js +0 -33
- package/node_modules/nanoid/index.d.ts +0 -91
- package/node_modules/nanoid/index.js +0 -45
- package/node_modules/nanoid/nanoid.js +0 -1
- package/node_modules/nanoid/non-secure/index.d.ts +0 -33
- package/node_modules/nanoid/non-secure/index.js +0 -20
- package/node_modules/nanoid/package.json +0 -46
- package/node_modules/nanoid/url-alphabet/index.js +0 -2
- package/node_modules/ts-md5/LICENSE +0 -21
- package/node_modules/ts-md5/README.md +0 -101
- package/node_modules/ts-md5/dist/cjs/index.d.ts +0 -3
- package/node_modules/ts-md5/dist/cjs/index.js +0 -10
- package/node_modules/ts-md5/dist/cjs/index.js.map +0 -1
- package/node_modules/ts-md5/dist/cjs/md5.d.ts +0 -70
- package/node_modules/ts-md5/dist/cjs/md5.js +0 -429
- package/node_modules/ts-md5/dist/cjs/md5.js.map +0 -1
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.d.ts +0 -25
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js +0 -96
- package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.d.ts +0 -22
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.js +0 -69
- package/node_modules/ts-md5/dist/cjs/parallel_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/index.d.ts +0 -3
- package/node_modules/ts-md5/dist/esm/index.js +0 -4
- package/node_modules/ts-md5/dist/esm/index.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/md5.d.ts +0 -70
- package/node_modules/ts-md5/dist/esm/md5.js +0 -421
- package/node_modules/ts-md5/dist/esm/md5.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.d.ts +0 -25
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.js +0 -89
- package/node_modules/ts-md5/dist/esm/md5_file_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/esm/parallel_hasher.d.ts +0 -22
- package/node_modules/ts-md5/dist/esm/parallel_hasher.js +0 -64
- package/node_modules/ts-md5/dist/esm/parallel_hasher.js.map +0 -1
- package/node_modules/ts-md5/dist/md5.js +0 -429
- package/node_modules/ts-md5/dist/md5_worker.js +0 -523
- package/node_modules/ts-md5/package.json +0 -82
- package/node_modules/ts-md5/src/index.ts +0 -4
- package/node_modules/ts-md5/src/md5.ts +0 -473
- package/node_modules/ts-md5/src/md5_file_hasher.ts +0 -110
- package/node_modules/ts-md5/src/parallel_hasher.ts +0 -90
- package/node_modules/ts-md5/src/worker.js +0 -20
- package/tfsec.json +0 -4
package/docs/testing.md
CHANGED
|
@@ -18,6 +18,29 @@ The purpose of this document is to provide guidelines for writing tests in the C
|
|
|
18
18
|
- [Randomizing Globally Unique Resource Names](#randomizing-globally-unique-resource-names)
|
|
19
19
|
- [End to End Tests](#end-to-end-tests-1)
|
|
20
20
|
|
|
21
|
+
# How to run tests
|
|
22
|
+
|
|
23
|
+
### How to run any single test:
|
|
24
|
+
1. Must be logged in with Az Login
|
|
25
|
+
2. Run the following command:
|
|
26
|
+
```
|
|
27
|
+
jest ./pathtotestfile/filename.ts
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### How to run all unit tests at same time:
|
|
31
|
+
1. Must be logged in with Az Login
|
|
32
|
+
2. Run the following command:
|
|
33
|
+
```
|
|
34
|
+
npx projen test
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### How to run all integration tests at same time:
|
|
38
|
+
1. Must be logged in with Az Login
|
|
39
|
+
2. Run the following command:
|
|
40
|
+
```
|
|
41
|
+
npm run integration:nostream
|
|
42
|
+
```
|
|
43
|
+
|
|
21
44
|
|
|
22
45
|
## Writing Tests
|
|
23
46
|
|
|
@@ -67,6 +90,7 @@ The tests will use AZ CLI for authentication. Make sure to set the Azure subscri
|
|
|
67
90
|
az account set -s MySubscription
|
|
68
91
|
```
|
|
69
92
|
|
|
93
|
+
|
|
70
94
|
## How to Write Unit Tests
|
|
71
95
|
Unit tests are written in Typescript using Jest. They consist of a `spec` test file within the module folder under the `test` folder:
|
|
72
96
|
|
|
@@ -83,13 +107,13 @@ Below is a spec test for the resource group construct:
|
|
|
83
107
|
|
|
84
108
|
```
|
|
85
109
|
# index.ts
|
|
86
|
-
import {
|
|
87
|
-
import
|
|
88
|
-
import {
|
|
89
|
-
import
|
|
90
|
-
|
|
110
|
+
import { AzurermProvider } from "@cdktf/provider-azurerm/lib/provider";
|
|
111
|
+
import { Testing, TerraformStack } from "cdktf";
|
|
112
|
+
import { TerraformPlan } from "../../testing";
|
|
113
|
+
import "cdktf/lib/testing/adapters/jest";
|
|
114
|
+
import * as rg from "..";
|
|
91
115
|
|
|
92
|
-
describe(
|
|
116
|
+
describe("Resource Group With Defaults", () => {
|
|
93
117
|
let stack: TerraformStack;
|
|
94
118
|
let fullSynthResult: any;
|
|
95
119
|
|
|
@@ -97,24 +121,22 @@ describe('Resource Group With Defaults', () => {
|
|
|
97
121
|
const app = Testing.app();
|
|
98
122
|
stack = new TerraformStack(app, "test");
|
|
99
123
|
|
|
100
|
-
new AzurermProvider(stack, "azureFeature", {features: {}});
|
|
101
|
-
new
|
|
124
|
+
new AzurermProvider(stack, "azureFeature", { features: {} });
|
|
125
|
+
new rg.Group(stack, "testRG");
|
|
102
126
|
|
|
103
|
-
fullSynthResult = Testing.fullSynth(stack);
|
|
127
|
+
fullSynthResult = Testing.fullSynth(stack);
|
|
104
128
|
});
|
|
105
129
|
|
|
106
130
|
it("renders a Resource Group with defaults and checks snapshot", () => {
|
|
107
|
-
expect(
|
|
108
|
-
Testing.synth(stack)
|
|
109
|
-
).toMatchSnapshot(); // Compare the already prepared stack
|
|
131
|
+
expect(Testing.synth(stack)).toMatchSnapshot();
|
|
110
132
|
});
|
|
111
133
|
|
|
112
134
|
it("check if the produced terraform configuration is valid", () => {
|
|
113
|
-
expect(fullSynthResult).toBeValidTerraform();
|
|
135
|
+
expect(fullSynthResult).toBeValidTerraform();
|
|
114
136
|
});
|
|
115
137
|
|
|
116
138
|
it("check if this can be planned", () => {
|
|
117
|
-
|
|
139
|
+
TerraformPlan(fullSynthResult);
|
|
118
140
|
});
|
|
119
141
|
});
|
|
120
142
|
```
|
|
@@ -199,22 +221,21 @@ npm test src/azure-resourcegroup/test/AzureResourceGroup.spec.ts -- -u
|
|
|
199
221
|
|
|
200
222
|
|
|
201
223
|
## Integration Tests
|
|
202
|
-
Integration tests are written in
|
|
224
|
+
Integration tests are written in typescript and end in `.integ.ts`:
|
|
203
225
|
|
|
204
226
|
|
|
205
227
|
```plaintext
|
|
206
228
|
src
|
|
207
229
|
└── azure-resourcegroup
|
|
208
230
|
├── test
|
|
209
|
-
│
|
|
210
|
-
│ └── ExampleAzureResourceGroup.ts
|
|
231
|
+
│ └── AzureResourceGroup.integ.ts
|
|
211
232
|
│
|
|
212
233
|
└── index.ts
|
|
213
234
|
```
|
|
214
235
|
|
|
215
236
|
The integration test will perform the following against the example file:
|
|
216
237
|
|
|
217
|
-
1. **terraform apply**: The integration test starts by executing a terraform apply
|
|
238
|
+
1. **terraform apply**: The integration test starts by executing a terraform apply.
|
|
218
239
|
2. **terraform plan**: After setup, a terraform plan is run to:
|
|
219
240
|
- Confirm there are no additional changes needed.
|
|
220
241
|
- Ensure the setup is stable and consistent (idempotent).
|
|
@@ -223,125 +244,6 @@ The integration test will perform the following against the example file:
|
|
|
223
244
|
- This step removes the test environment and ensures the infrastructure can be cleanly deleted.
|
|
224
245
|
- It's designed to catch common problems that occur when removing infrastructure, especially those related to resource dependencies.
|
|
225
246
|
|
|
226
|
-
You may also checkout the [Terratest](https://github.com/gruntwork-io/terratest/tree/master/test/azure) library for test examples to use against the Azure resources.
|
|
227
|
-
|
|
228
|
-
### Running the Integration Tests
|
|
229
|
-
|
|
230
|
-
To run integration tests, use the following command in the test directory:
|
|
231
|
-
```
|
|
232
|
-
/workspaces/…/azure-resourcegroup/test$ go test -v .
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
This will kick off the integration test to synthesize the example file into Terraform configuration files within the `.tempstacks` folder in the module directory:
|
|
236
|
-
|
|
237
|
-
```plaintext
|
|
238
|
-
src
|
|
239
|
-
└── azure-resourcegroup
|
|
240
|
-
├── test
|
|
241
|
-
│ ├── .tempstacks
|
|
242
|
-
│ │ └── stacks
|
|
243
|
-
│ │ └── testAzureResourceGroup
|
|
244
|
-
│ │ └── cdk.tf.json
|
|
245
|
-
│ ├── ExampleAzureResourceGroupStack.ts
|
|
246
|
-
│ └── AzureResourceGroup_test.go
|
|
247
|
-
└── index.ts
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
The test will then run `tfcdk deploy *` to deploy all stacks, then it will run any API checks to validate the deployed resource followed by a `tfcdk destroy` to clean up all the resources.
|
|
251
|
-
|
|
252
|
-
After the test runs, the `.tempstacks` directory is automatically deleted.
|
|
253
|
-
|
|
254
|
-
#### Further Troubleshooting of Tests
|
|
255
|
-
|
|
256
|
-
If there is a need to troubleshoot the stacks, you can comment out the `defer` block within the Go test and re-run the test:
|
|
257
|
-
|
|
258
|
-
```
|
|
259
|
-
// Comment this out to stop .tempstacks from being deleted
|
|
260
|
-
defer func() {
|
|
261
|
-
util.CdkTFDestroyAll(t, terraformOptions, example_file)
|
|
262
|
-
os.RemoveAll("./.tempstacks")
|
|
263
|
-
}()
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
### Randomizing Globally Unique Resource Names
|
|
268
|
-
|
|
269
|
-
**Goal**: Ensure each resource has a unique name to prevent conflicts, especially useful in test environments or when deploying multiple instances of the same infrastructure.
|
|
270
|
-
|
|
271
|
-
**Method**: Use a base class in TypeScript to set up a naming pattern, and then use Golang to generate a random name for each test run.
|
|
272
|
-
|
|
273
|
-
**Step 1**: Create a Base Class in TypeScript
|
|
274
|
-
First, you'll need a base class, BaseTestStack, which includes a variable for the resource name. This class sets up a default name, which you can later override with a random value.
|
|
275
|
-
|
|
276
|
-
```typescript
|
|
277
|
-
import {BaseTestStack} from "../../testing";
|
|
278
|
-
|
|
279
|
-
const app = new App();
|
|
280
|
-
|
|
281
|
-
export class exampleAzureResourceGroup extends BaseTestStack {
|
|
282
|
-
constructor(scope: Construct, id: string) {
|
|
283
|
-
super(scope, id);
|
|
284
|
-
|
|
285
|
-
new AzurermProvider(this, "azure", {
|
|
286
|
-
features: {},
|
|
287
|
-
});
|
|
288
|
-
|
|
289
|
-
new AzureResourceGroup(this, 'testRG', {
|
|
290
|
-
name: `rg-${this.name}`,
|
|
291
|
-
location: 'eastus',
|
|
292
|
-
tags: {
|
|
293
|
-
name: 'test',
|
|
294
|
-
Env: "NonProd",
|
|
295
|
-
},
|
|
296
|
-
ignoreChanges: ['tags["Environment"]'],
|
|
297
|
-
|
|
298
|
-
});
|
|
299
|
-
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
```
|
|
304
|
-
**Step 2**: Extend the Base Class for Specific Resources
|
|
305
|
-
When creating specific resources, extend the BaseTestStack class. Use this.name to create a unique name for each resource.
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
```typescript
|
|
309
|
-
import {BaseTestStack} from "../../testing";
|
|
310
|
-
|
|
311
|
-
export class exampleAzureResourceGroup extends BaseTestStack {
|
|
312
|
-
constructor(scope: Construct, id: string) {
|
|
313
|
-
super(scope, id);
|
|
314
|
-
|
|
315
|
-
new AzureResourceGroup(this, 'testRG', {
|
|
316
|
-
name: `rg-${this.name}`, // Unique name for the resource
|
|
317
|
-
// ... other configurations ...
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
**Step 3**: Use Golang to Generate a Random Name During Tests
|
|
324
|
-
In your Golang tests, generate a random string to use as the resource name. This ensures that every test run has a different name for its resources.
|
|
325
|
-
```typescript
|
|
326
|
-
// Randomize System Name
|
|
327
|
-
rndName := strings.ToLower(random.UniqueId())
|
|
328
|
-
|
|
329
|
-
terraformOptions := &terraform.Options{
|
|
330
|
-
TerraformBinary: "cdktf",
|
|
331
|
-
//Terraform Variables
|
|
332
|
-
Vars: map[string]interface{}{
|
|
333
|
-
"name": rndName,
|
|
334
|
-
},
|
|
335
|
-
TerraformDir: "../../../",
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
When the test kicks off it will perform a `terraform -var=name=<RandomString>` to randomize the names of all the resources.
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
247
|
## End to End Tests
|
|
346
248
|
|
|
347
249
|
End to End tests are used when testing a class that contains multiple stacks. The workflow is the same as with integration tests, however the test will take much longer.
|
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
# API Versioning and Migrations: User Guide
|
|
2
|
+
|
|
3
|
+
This guide explains how Azure API versioning and automatic migrations work in the terraform-cdk-constructs library. No technical knowledge of the internal framework is required—just follow these patterns to benefit from automatic version management.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
1. [Quick Start](#quick-start)
|
|
10
|
+
2. [Understanding API Versions](#understanding-api-versions)
|
|
11
|
+
3. [How Automatic Version Resolution Works](#how-automatic-version-resolution-works)
|
|
12
|
+
4. [Version Pinning for Stability](#version-pinning-for-stability)
|
|
13
|
+
5. [Understanding Deprecation Warnings](#understanding-deprecation-warnings)
|
|
14
|
+
6. [Migration Guidance](#migration-guidance)
|
|
15
|
+
7. [Frequently Asked Questions](#frequently-asked-questions)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
### Simple Example (Recommended for Most Users)
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { ResourceGroup } from '@microsoft/terraform-cdk-constructs';
|
|
25
|
+
import { App, TerraformStack } from 'cdktf';
|
|
26
|
+
|
|
27
|
+
class MyStack extends TerraformStack {
|
|
28
|
+
constructor(scope: App, name: string) {
|
|
29
|
+
super(scope, name);
|
|
30
|
+
|
|
31
|
+
// Just create your resource - version is handled automatically!
|
|
32
|
+
const resourceGroup = new ResourceGroup(this, 'MyResourceGroup', {
|
|
33
|
+
name: 'my-resource-group',
|
|
34
|
+
location: 'eastus',
|
|
35
|
+
tags: { environment: 'production' }
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**That's it!** The framework automatically:
|
|
42
|
+
- ✅ Uses the latest stable Azure API version
|
|
43
|
+
- ✅ Validates your properties
|
|
44
|
+
- ✅ Warns you about upcoming changes
|
|
45
|
+
- ✅ Provides migration guidance when needed
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Understanding API Versions
|
|
50
|
+
|
|
51
|
+
### What Are API Versions?
|
|
52
|
+
|
|
53
|
+
Azure resources use versioned APIs (e.g., `2024-01-01`, `2024-11-01`). Each version may have:
|
|
54
|
+
- New features and properties
|
|
55
|
+
- Bug fixes and improvements
|
|
56
|
+
- Deprecated properties (to be removed)
|
|
57
|
+
- Breaking changes (incompatible changes)
|
|
58
|
+
|
|
59
|
+
### Version Lifecycle Phases
|
|
60
|
+
|
|
61
|
+
Every API version goes through these phases:
|
|
62
|
+
|
|
63
|
+
| Phase | What It Means | Should You Use It? |
|
|
64
|
+
|-------|---------------|-------------------|
|
|
65
|
+
| **ACTIVE** ✅ | Fully supported, receives new features | ✅ **Yes - Recommended** |
|
|
66
|
+
| **MAINTENANCE** ⚙️ | Bug fixes only, no new features | ✅ Yes, but consider upgrading soon |
|
|
67
|
+
| **DEPRECATED** ⚠️ | Migration recommended, limited support | ⚠️ Start planning migration |
|
|
68
|
+
| **SUNSET** 🚨 | End of life, will be removed | 🚨 **Migrate immediately** |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## How Automatic Version Resolution Works
|
|
73
|
+
|
|
74
|
+
### Default Behavior: Always Use Latest
|
|
75
|
+
|
|
76
|
+
When you **don't specify** an API version, the framework automatically uses the **latest ACTIVE version**:
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
// No apiVersion specified → uses latest automatically
|
|
80
|
+
const storage = new StorageAccount(this, 'storage', {
|
|
81
|
+
name: 'mystorageaccount',
|
|
82
|
+
location: 'eastus',
|
|
83
|
+
sku: { name: 'Standard_LRS' }
|
|
84
|
+
// Framework will use 2024-01-01 (or whatever is latest)
|
|
85
|
+
});
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Benefits:**
|
|
89
|
+
- ✅ Always get the latest features
|
|
90
|
+
- ✅ Always get bug fixes
|
|
91
|
+
- ✅ No manual version updates needed
|
|
92
|
+
- ✅ Your code stays current as Azure evolves
|
|
93
|
+
|
|
94
|
+
### When Versions Change
|
|
95
|
+
|
|
96
|
+
When Azure releases a new API version (e.g., monthly updates):
|
|
97
|
+
|
|
98
|
+
1. **Next time you run `cdktf synth`**, your resources automatically use the new version
|
|
99
|
+
2. **You see console output** confirming the version being used
|
|
100
|
+
3. **No code changes required** unless there are breaking changes (see [Migration Guidance](#migration-guidance))
|
|
101
|
+
|
|
102
|
+
**Example Console Output:**
|
|
103
|
+
```
|
|
104
|
+
Registered 3 API versions for Microsoft.Storage/storageAccounts
|
|
105
|
+
✓ Using API version 2024-01-01 for mystorageaccount
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Version Pinning for Stability
|
|
111
|
+
|
|
112
|
+
### When to Pin Versions
|
|
113
|
+
|
|
114
|
+
Pin to a specific API version when you need:
|
|
115
|
+
- **Stability**: Production systems that should not change unexpectedly
|
|
116
|
+
- **Compliance**: Audit requirements for consistent infrastructure
|
|
117
|
+
- **Testing**: Ensuring test environments match production exactly
|
|
118
|
+
- **Controlled Upgrades**: Planning migrations during maintenance windows
|
|
119
|
+
|
|
120
|
+
### How to Pin a Version
|
|
121
|
+
|
|
122
|
+
Simply add the `apiVersion` property:
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
const storage = new StorageAccount(this, 'storage', {
|
|
126
|
+
apiVersion: '2023-05-01', // Pinned to specific version
|
|
127
|
+
name: 'mystorageaccount',
|
|
128
|
+
location: 'eastus',
|
|
129
|
+
sku: { name: 'Standard_LRS' }
|
|
130
|
+
});
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**What Happens:**
|
|
134
|
+
- ✅ Your resource will **always** use `2023-05-01`
|
|
135
|
+
- ✅ New library versions won't change your API version
|
|
136
|
+
- ⚠️ You'll get warnings if the version becomes deprecated
|
|
137
|
+
- ℹ️ You control when to upgrade by changing the `apiVersion` value
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Understanding Deprecation Warnings
|
|
142
|
+
|
|
143
|
+
### What You'll See
|
|
144
|
+
|
|
145
|
+
When using an older API version, you'll see warnings during `cdktf synth`:
|
|
146
|
+
|
|
147
|
+
#### Warning: Deprecated Version
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
⚠️ API version 2023-05-01 for Microsoft.Storage/storageAccounts is deprecated.
|
|
151
|
+
Consider upgrading to the latest version: 2024-01-01
|
|
152
|
+
Support ends: 2024-12-31
|
|
153
|
+
Migration guide: /docs/migration-guides/storage-2024-01-01.md
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**What This Means:**
|
|
157
|
+
- ✅ Your code still works perfectly
|
|
158
|
+
- ⚠️ The version will eventually be removed
|
|
159
|
+
- ℹ️ You have time to plan your migration
|
|
160
|
+
- 📚 Documentation is available to help
|
|
161
|
+
|
|
162
|
+
#### Error: Sunset Version
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
🚨 API version 2023-01-01 for Microsoft.Storage/storageAccounts has reached sunset.
|
|
166
|
+
Immediate migration to 2024-01-01 is required.
|
|
167
|
+
This version will be removed in the next library update.
|
|
168
|
+
Migration guide: /docs/migration-guides/storage-2024-01-01.md
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**What This Means:**
|
|
172
|
+
- 🚨 Your code still works, but not for long
|
|
173
|
+
- 🚨 Update your code as soon as possible
|
|
174
|
+
- 🚨 The next library update may remove this version
|
|
175
|
+
- 📚 Follow the migration guide immediately
|
|
176
|
+
|
|
177
|
+
### Automatic Migration Analysis
|
|
178
|
+
|
|
179
|
+
When you use a deprecated or sunset version, the framework automatically:
|
|
180
|
+
|
|
181
|
+
1. **Analyzes the migration** from your current version to the latest
|
|
182
|
+
2. **Counts breaking changes** that will affect your code
|
|
183
|
+
3. **Estimates effort** required to migrate
|
|
184
|
+
4. **Provides guidance** on what needs to change
|
|
185
|
+
|
|
186
|
+
**Example Output:**
|
|
187
|
+
```
|
|
188
|
+
Migration from 2023-05-01 to 2024-01-01 analysis:
|
|
189
|
+
• Breaking changes: 2
|
|
190
|
+
• Estimated effort: Medium (4-8 hours)
|
|
191
|
+
• Automatic upgrade: Partially possible
|
|
192
|
+
|
|
193
|
+
Breaking changes:
|
|
194
|
+
1. Property 'accountType' renamed to 'sku.name'
|
|
195
|
+
2. Property 'enableHttpsTrafficOnly' now required (was optional)
|
|
196
|
+
|
|
197
|
+
See migration guide for details: /docs/migration-guides/storage-2024-01-01.md
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**You don't need to run any commands** - this happens automatically whenever you create a resource with an outdated version!
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Migration Guidance
|
|
205
|
+
|
|
206
|
+
### Step-by-Step Migration Process
|
|
207
|
+
|
|
208
|
+
#### 1. Review the Warning
|
|
209
|
+
|
|
210
|
+
When you see a deprecation warning, note:
|
|
211
|
+
- Current version you're using
|
|
212
|
+
- Target version recommended
|
|
213
|
+
- Support end date
|
|
214
|
+
- Link to migration guide
|
|
215
|
+
|
|
216
|
+
#### 2. Check the Migration Guide
|
|
217
|
+
|
|
218
|
+
Follow the link provided in the warning to see:
|
|
219
|
+
- Detailed list of changes
|
|
220
|
+
- Code examples showing before/after
|
|
221
|
+
- Properties that were renamed
|
|
222
|
+
- New required properties
|
|
223
|
+
- Recommended migration approach
|
|
224
|
+
|
|
225
|
+
#### 3. Test in Development
|
|
226
|
+
|
|
227
|
+
Before updating production:
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
// Create a test stack with the new version
|
|
231
|
+
const testStorage = new StorageAccount(this, 'test-storage', {
|
|
232
|
+
apiVersion: '2024-01-01', // New version
|
|
233
|
+
name: 'teststorageaccount',
|
|
234
|
+
location: 'eastus',
|
|
235
|
+
sku: { name: 'Standard_LRS' } // Updated property name
|
|
236
|
+
});
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
#### 4. Update Your Code
|
|
240
|
+
|
|
241
|
+
Make the necessary changes identified in the migration guide:
|
|
242
|
+
|
|
243
|
+
```typescript
|
|
244
|
+
// Before (2023-05-01)
|
|
245
|
+
const storage = new StorageAccount(this, 'storage', {
|
|
246
|
+
apiVersion: '2023-05-01',
|
|
247
|
+
name: 'mystorageaccount',
|
|
248
|
+
location: 'eastus',
|
|
249
|
+
accountType: 'Standard_LRS', // Old property name
|
|
250
|
+
enableHttpsTrafficOnly: true
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
// After (2024-01-01)
|
|
254
|
+
const storage = new StorageAccount(this, 'storage', {
|
|
255
|
+
apiVersion: '2024-01-01',
|
|
256
|
+
name: 'mystorageaccount',
|
|
257
|
+
location: 'eastus',
|
|
258
|
+
sku: { name: 'Standard_LRS' }, // New property structure
|
|
259
|
+
enableHttpsTrafficOnly: true // Still supported
|
|
260
|
+
});
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
#### 5. Deploy and Verify
|
|
264
|
+
|
|
265
|
+
1. Run `cdktf synth` - confirm no warnings
|
|
266
|
+
2. Run `cdktf diff` - review planned changes
|
|
267
|
+
3. Deploy to test environment first
|
|
268
|
+
4. Verify everything works as expected
|
|
269
|
+
5. Deploy to production
|
|
270
|
+
|
|
271
|
+
### Migration Effort Levels
|
|
272
|
+
|
|
273
|
+
The framework estimates how long migration will take:
|
|
274
|
+
|
|
275
|
+
| Effort Level | Estimated Time | What It Means |
|
|
276
|
+
|--------------|----------------|---------------|
|
|
277
|
+
| **Low** | < 1 hour | Mostly automatic, minimal changes |
|
|
278
|
+
| **Medium** | 1-8 hours | Some property renames, minor updates |
|
|
279
|
+
| **High** | 1-3 days | Significant changes, testing needed |
|
|
280
|
+
| **Breaking** | > 3 days | Major refactoring required |
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Frequently Asked Questions
|
|
285
|
+
|
|
286
|
+
### Q: Do I need to specify an API version?
|
|
287
|
+
|
|
288
|
+
**A: No, not usually.** For most use cases, automatic version resolution is recommended. Only pin versions when you specifically need stability.
|
|
289
|
+
|
|
290
|
+
### Q: Will my code break when new API versions are released?
|
|
291
|
+
|
|
292
|
+
**A: No.** The framework only uses new versions that are marked as ACTIVE (stable). Breaking changes are clearly documented, and you get warnings with migration guidance.
|
|
293
|
+
|
|
294
|
+
### Q: How do I find out what API version I'm using?
|
|
295
|
+
|
|
296
|
+
**A: Check the console output** during `cdktf synth`. You can also access it in code:
|
|
297
|
+
|
|
298
|
+
```typescript
|
|
299
|
+
const storage = new StorageAccount(this, 'storage', { /* ... */ });
|
|
300
|
+
console.log(`Using API version: ${storage.resolvedApiVersion}`);
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Q: Can I turn off migration warnings?
|
|
304
|
+
|
|
305
|
+
**A: Yes**, but it's not recommended. Add `enableMigrationAnalysis: false`:
|
|
306
|
+
|
|
307
|
+
```typescript
|
|
308
|
+
const storage = new StorageAccount(this, 'storage', {
|
|
309
|
+
apiVersion: '2023-05-01',
|
|
310
|
+
enableMigrationAnalysis: false, // Turns off warnings
|
|
311
|
+
// ... other properties
|
|
312
|
+
});
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Q: What happens if I use an unsupported API version?
|
|
316
|
+
|
|
317
|
+
**A: You'll get a clear error** listing all supported versions:
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
Error: Unsupported API version '2022-01-01' for Microsoft.Storage/storageAccounts
|
|
321
|
+
Supported versions: 2023-05-01, 2024-01-01, 2024-11-01
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Q: How often do API versions change?
|
|
325
|
+
|
|
326
|
+
**A: It varies by service:**
|
|
327
|
+
- Some services: Monthly updates
|
|
328
|
+
- Most services: Quarterly updates
|
|
329
|
+
- Stable services: Yearly updates
|
|
330
|
+
|
|
331
|
+
The framework handles this automatically, so you don't need to track it manually.
|
|
332
|
+
|
|
333
|
+
### Q: What if a property I'm using gets removed?
|
|
334
|
+
|
|
335
|
+
**A: You'll get warnings well in advance:**
|
|
336
|
+
|
|
337
|
+
1. Property is marked deprecated (still works)
|
|
338
|
+
2. Warnings appear in console output
|
|
339
|
+
3. Migration guide explains alternatives
|
|
340
|
+
4. You have months to update before removal
|
|
341
|
+
|
|
342
|
+
### Q: Can I see all supported versions for a resource?
|
|
343
|
+
|
|
344
|
+
**A: Yes**, use the `supportedVersions()` method:
|
|
345
|
+
|
|
346
|
+
```typescript
|
|
347
|
+
const storage = new StorageAccount(this, 'storage', { /* ... */ });
|
|
348
|
+
console.log(`Supported versions: ${storage.supportedVersions().join(', ')}`);
|
|
349
|
+
// Output: Supported versions: 2023-05-01, 2024-01-01, 2024-11-01
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Q: How do I know if migration is automatic or manual?
|
|
353
|
+
|
|
354
|
+
**A: Check the migration analysis output:**
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
Automatic upgrade: Yes ← Properties will be transformed automatically
|
|
358
|
+
Automatic upgrade: Partial ← Some changes automatic, some manual
|
|
359
|
+
Automatic upgrade: No ← Manual code changes required
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## Best Practices
|
|
365
|
+
|
|
366
|
+
### ✅ DO:
|
|
367
|
+
- Use automatic version resolution for development and test environments
|
|
368
|
+
- Pin versions for production environments
|
|
369
|
+
- Read deprecation warnings and plan migrations
|
|
370
|
+
- Test migrations in non-production environments first
|
|
371
|
+
- Follow migration guides when updating versions
|
|
372
|
+
|
|
373
|
+
### ❌ DON'T:
|
|
374
|
+
- Ignore sunset warnings in production code
|
|
375
|
+
- Disable migration analysis without good reason
|
|
376
|
+
- Skip testing when migrating API versions
|
|
377
|
+
- Use deprecated versions for new projects
|
|
378
|
+
- Pin to old versions indefinitely
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Getting Help
|
|
383
|
+
|
|
384
|
+
### Resources
|
|
385
|
+
|
|
386
|
+
- **Migration Guides**: `/docs/migration-guides/` directory
|
|
387
|
+
- **API Coverage**: `/docs/api-coverage.md`
|
|
388
|
+
- **GitHub Issues**: Report problems or ask questions
|
|
389
|
+
- **Examples**: `/examples/` directory with version-specific examples
|
|
390
|
+
|
|
391
|
+
### Support Channels
|
|
392
|
+
|
|
393
|
+
1. **Check the migration guide** linked in warning messages
|
|
394
|
+
2. **Search existing GitHub issues** for similar problems
|
|
395
|
+
3. **Create a new issue** with your specific question
|
|
396
|
+
4. **Include console output** showing warnings/errors
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
## Summary
|
|
401
|
+
|
|
402
|
+
The versioning system is designed to **just work** with minimal effort from you:
|
|
403
|
+
|
|
404
|
+
1. **By default**, you get the latest stable API version automatically
|
|
405
|
+
2. **Warnings appear** when you need to update, with clear guidance
|
|
406
|
+
3. **Migration is guided** with effort estimates and documentation
|
|
407
|
+
4. **You control the timing** by pinning versions when needed
|
|
408
|
+
|
|
409
|
+
Focus on building your infrastructure—let the framework handle API version complexity!
|