Open sven5 opened 11 months ago
Is there any update on this?
This seems to be a duplicate of #23443
I was about to add the new SKU names to the ApimSkuName
function when I noticed that this would probably also require to switch to API Management API version 2023-03-01-preview
or later (the provider currently uses 2022-08-01
). See the docs here. Is it acceptable to use preview APIs in the provider?
As mentioned in below link, both v2 SKUs are available (GA). Can we expect a new revision in terraform-provider-azurerm to support these SKUs?
Hi! echoing the above comment. Would it be possible to provide support for v2 SKUs? Thanks!
Hey guys! Does anyone have any updates or timelines for this feature ?
Would be keen to see this in the Azure Verified Modules as well
Second Ping: Any idea when this will be available now that the APIM is GA for V2? Thanks!
Any updates on this Azure documentation says "Support for API Management instances hosted on the stv1 platform will be retired by 31 August 2024. "
Hi! Yes. This update is desperately needed.
Is this resource still actively maintained? Bicep has had this functionality for quite awhile. Still waiting on Terraform to support it and it's been completely silent on when we may see this functionality. It makes it hard to justify using Terraform when there is such a delay in feature implementation.
@vasu-telepathy
Any updates on this Azure documentation says "Support for API Management instances hosted on the stv1 platform will be retired by 31 August 2024. "
You're mixing things up. This issue is not about stv1 or stv2 compute platform. You can read more about compute platforms here.
This issue is about the Service Tier of APIM. You can read more about this here or in the documentation.
@sven5 Did you mean to address that note to @Antupis ?
@vasu-telepathy Oh yes, sorry for confusion.
@sven5 No worries. Brings back to my original question on support for V2. Is there a timeline? Thanks!
i posted a clarification about the difference between stv1+2 and these new SKUs on the earlier issue that was closed in favour of this one.
+1 this is important to have. New tiers have some advantages over old ones, e.g., afaik the v2 tiers offer faster provisioning and scaling, and the Standard v2 tier supports simplified connection to network-isolated backends and multiple custom domain names.
Also, I am interested in possible workarounds on how to upgrade a Terraform-managed API management resource to v2 tier while explicit v2 tier support is not available in the provider.
afaik the v2 tiers offer faster provisioning and scaling, and the Standard v2 tier supports simplified connection to network-isolated backends and multiple custom domain names.
Also "pricing".
Yes. Pricing...I forget to mention that. Standard V2 is very attractive for us.
any progress on the topic?
Hi @tombuildsstuff,
could you please shed some light on this.
hello @tombuildsstuff, do you have any expected date when the support for v2 SKU will be available in azurerm terraform provider?
Has work started on this?
Any news on this?
Any progress?
Is this available yet?
Any update to this?
We require a vnet integration, and with microsoft removing support for the developer tier and support - we have to move our Dev, and QA to Standard_V2 but the terraform api library isn't available.
│ Error: invalid value for sku_name (This is not a valid Api Management sku name.) │ │ with azurerm_api_management.pbm_dev_apim, │ on apim.tf line 59, in resource "azurerm_api_management" "pbm_dev_apim": │ 59: sku_name = "Standard_v2" │
Does this also mean we cannot use azurerm_api_management_api and azurerm_api_management_product_api resources with the APIM which is created outside of Terraform with Standard v2 SKU ??
Update: Tried this today and was able to use these 2 resources against Standard V2 APIM created outside TF.
I am a bit disappointed with the Terraform team because there have been no updates. I believe it is time to switch to the native Bicep tool instead of relying on inconsistent Terraform support.
Hi any update on this one? I am too looking to upgrade from V1 to V2 but it seems like it's not available with terraform yet
what's the status of this? we would like to switch to standard v2
I would to know the status of this, cause we need to move to this for the workspace gateways and costs and other different reasons. If it is allowed i would love to make those changes if i can, but the api needed for these SKU's is still in preview.
If you're sick of waiting, you can use the azapi provider like this, for example:
terraform {
required_providers {
azapi = {
source = "azure/azapi"
version = "=1.15.0"
}
}
}
resource "azapi_resource" "apim" {
type = "Microsoft.ApiManagement/service@2023-09-01-preview"
name = var.resource_name
location = var.location
parent_id = var.resource_group_id
body = {
properties = {
apiVersionConstraint = {
minApiVersion = "2019-12-01"
}
publicIpAddressId = azurerm_public_ip.apim.id
publicNetworkAccess = "Enabled"
publisherEmail = var.publisher_email
publisherName = "Cognex"
sku = {
capacity = 1
name = "StandardV2"
}
virtualNetworkConfiguration = {
subnetResourceId = var.subnet_id
}
virtualNetworkType = "External"
}
}
response_export_values = ["properties.gatewayUrl"]
}
output gateway_url {
value = azapi_resource.apim.output.properties.gatewayUrl
}
output apim_name {
value = azapi_resource.apim.name
}
The usage of that API is documented here.
I, personally, have no time to wait until this feature is released in the azurerm provider.
If you're sick of waiting, you can use the azapi provider like this, for example:
terraform { required_providers { azapi = { source = "azure/azapi" version = "=1.15.0" } } } resource "azapi_resource" "apim" { type = "Microsoft.ApiManagement/service@2023-09-01-preview" name = var.resource_name location = var.location parent_id = var.resource_group_id body = jsonencode({ properties = { apiVersionConstraint = { minApiVersion = "2019-12-01" } publicIpAddressId = azurerm_public_ip.apim.id publicNetworkAccess = "Disabled" publisherEmail = var.publisher_email publisherName = "Cognex" sku = { capacity = 1 name = "Standard_v2" } virtualNetworkConfiguration = { subnetResourceId = var.subnet_id } virtualNetworkType = "External" } }) } output gateway_url { value = azapi_resource.apim.output.properties.gatewayUrl } output apim_name { value = azapi_resource.apim.name }
The usage of that API is documented here.
I, personally, have no time to wait until this feature is released in the azurerm provider.
@zadigus good call, i'm not that deep into terraform yet, but this seems like a good short-term solution, thank!!!
Any update on this? This looks similar to #25445, which has an open PR attached to it, and was added to the 4.2 milestone, but 4.2 has now shipped and a fix for this does not appear to have been included.
This is getting a little ridiculous, these skus have been GA since April, but there's been little movement on the Terraform side of this.
If you're sick of waiting, you can use the azapi provider like this, for example:
terraform { required_providers { azapi = { source = "azure/azapi" version = "=1.15.0" } } } resource "azapi_resource" "apim" { type = "Microsoft.ApiManagement/service@2023-09-01-preview" name = var.resource_name location = var.location parent_id = var.resource_group_id body = { properties = { apiVersionConstraint = { minApiVersion = "2019-12-01" } publicIpAddressId = azurerm_public_ip.apim.id publicNetworkAccess = "Disabled" publisherEmail = var.publisher_email publisherName = "Cognex" sku = { capacity = 1 name = "StandardV2" } virtualNetworkConfiguration = { subnetResourceId = var.subnet_id } virtualNetworkType = "External" } } response_export_values = ["properties.gatewayUrl"] } output gateway_url { value = azapi_resource.apim.output.properties.gatewayUrl } output apim_name { value = azapi_resource.apim.name }
The usage of that API is documented here.
I, personally, have no time to wait until this feature is released in the azurerm provider.
But these skus are also not available on the API, right? https://learn.microsoft.com/en-us/azure/templates/microsoft.apimanagement/2023-09-01-preview/service?pivots=deployment-language-bicep#apimanagementserviceskuproperties
@rebla they are available, it's just not properly documented; I am using azapi to deploy the APIM in my projects and it works perfectly fine. For Standard v2, you need to use name = "StandardV2"
as in my terraform configuration above
@rebla they are available, it's just not properly documented; I am using azapi to deploy the APIM in my projects and it works perfectly fine. For Standard v2, you need to use
name = "StandardV2"
as in my terraform configuration above
Thanks!
If you're sick of waiting, you can use the azapi provider like this, for example:
terraform { required_providers { azapi = { source = "azure/azapi" version = "=1.15.0" } } } resource "azapi_resource" "apim" { type = "Microsoft.ApiManagement/service@2023-09-01-preview" name = var.resource_name location = var.location parent_id = var.resource_group_id body = { properties = { apiVersionConstraint = { minApiVersion = "2019-12-01" } publicIpAddressId = azurerm_public_ip.apim.id publicNetworkAccess = "Enabled" publisherEmail = var.publisher_email publisherName = "Cognex" sku = { capacity = 1 name = "StandardV2" } virtualNetworkConfiguration = { subnetResourceId = var.subnet_id } virtualNetworkType = "External" } } response_export_values = ["properties.gatewayUrl"] } output gateway_url { value = azapi_resource.apim.output.properties.gatewayUrl } output apim_name { value = azapi_resource.apim.name }
The usage of that API is documented here.
I, personally, have no time to wait until this feature is released in the azurerm provider.
Thanks for this, but one correction for it to work on my end was to pull sku outside of properties
.
Like this:
resource "azapi_resource" "apim" {
type = "Microsoft.ApiManagement/service@2023-09-01-preview"
name = var.resource_name
parent_id = var.resource_group_id
body = {
properties = {
apiVersionConstraint = {
minApiVersion = "2019-12-01"
}
publicIpAddressId = azurerm_public_ip.apim.id
publicNetworkAccess = "Disabled"
publisherName = Cognex
publisherEmail = var.publisher_email
virtualNetworkConfiguration = {
subnetResourceId = var.subnet_id
}
virtualNetworkType = "External"
}
location = "Australia Southeast"
sku = {
capacity = 1
name = "StandardV2"
}
}
response_export_values = ["properties.gatewayUrl"]
}
Works great though while we wait for a fix on this. Thanks for sharing!
Looks as though there is an open PR for this here https://github.com/hashicorp/terraform-provider-azurerm/pull/26770
Its from July though and appears to be awaiting a maintainer approving static analysis and subsequent jobs https://github.com/hashicorp/terraform-provider-azurerm/actions/runs/11147245616
@DavidPriceNBS we have been trying the apim v2, but MS skipped private vnet and also workspaces will be in a premiumV2, my guess is that all these changes making it hard to make a stable v2 implementation yet. we are skipping v2 for now due to the nmissing features like workspaces.
Getting worried about the developer instance losing VNET capability and needing Standard_V2 support here. I'll ask this month - is support for the SKU coming soon?
Is there an existing issue for this?
Community Note
Description
Azure API Management allows new Service Tiers. https://learn.microsoft.com/en-us/azure/api-management/v2-service-tiers-overview
New or Affected Resource(s)/Data Source(s)
azurerm_api_management
Potential Terraform Configuration
No response
References
No response