hashicorp / terraform-provider-azurerm

Terraform provider for Azure Resource Manager
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs
Mozilla Public License 2.0
4.5k stars 4.59k forks source link

Support for MongoDB API versions 5.0 and 6.0 #25889

Open ipock opened 3 months ago

ipock commented 3 months ago

Is there an existing issue for this?

Community Note

Description

Microsoft now supports running MongoDB API versions 5.0 and 6.0. Currently, these two version numbers cause a validation error when specified in the mongo_server_version variable on the azure_cosmosdb_account resource provider. The resource provider should be updated to reflect the newly available versions.

New or Affected Resource(s)/Data Source(s)

azurerm_cosmosdb_account

Potential Terraform Configuration

resource "azurerm_cosmosdb_account" "mongodb" {

  name                          = "${var.prefix}-mongodb-acct"
  resource_group_name           = var.resource_group_name
  location                      = var.location
  offer_type                    = "Standard"
  kind                          = "MongoDB"
  public_network_access_enabled = false
  enable_automatic_failover     = true
  mongo_server_version          = "5.0" # or 6.0

# remainder of resource settings follow

}

References

Support for MongoDB API 5.0: https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/feature-support-50

Support for MongoDB API 6.0: https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/feature-support-60

neil-yechenwei commented 3 months ago

Thanks for raising this issue. This new version hasn't been released to Swagger. Once Service API supports it, we will take another look.

ryanhuang365 commented 3 months ago

A temporary workaround that worked for me is manually setting the version to 6.0 in Azure Portal (Features > Update MongoDB server version) and removing the mongo_server_version variable.

jvalteren commented 2 months ago

Hi @neil-yechenwei, can you re-evaluate? The versions 5.0 and 6.0 are now clearly present in the stable API: https://github.com/Azure/azure-rest-api-specs/blob/32f566eb38af9593cfc1ed183362471c50d67fb2/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-05-15/cosmos-db.json#L9617

dv0gt commented 2 months ago

Any news? @neil-yechenwei

tombuildsstuff commented 2 months ago

@dv0gt @jvalteren it's worth noting that the API Version isn't fully deployed yet:

$ az rest --method get --url "https://management.azure.com/subscriptions/XXX/providers/Microsoft.DocumentDB?api-version=2024-05-15" Bad Request({"error":{"code":"InvalidApiVersionParameter","message":"The api-version '2024-05-15' is invalid. The supported versions are '2024-03-01,2023-07-01,2023-07-01-preview,2023-03-01-preview,2022-12-01,2022-11-01-preview,2022-09-01,2022-06-01,2022-05-01,2022-03-01-preview,2022-01-01,2021-04-01,2021-01-01,2020-10-01,2020-09-01,2020-08-01,2020-07-01,2020-06-01,2020-05-01,2020-01-01,2019-11-01,2019-10-01,2019-09-01,2019-08-01,2019-07-01,2019-06-01,2019-05-10,2019-05-01,2019-03-01,2018-11-01,2018-09-01,2018-08-01,2018-07-01,2018-06-01,2018-05-01,2018-02-01,2018-01-01,2017-12-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01-01,2013-03-01,2014-02-26,2014-04'."}})

Unfortunately just because the API Definition exists within Azure/azure-rest-api-specs doesn't mean it's available for use - and it's worth noting that some service teams write the API Definitions first, whilst others deploy the API then publish the associated API Definition, so the canonical source remains the versions returned from the Azure API.

All of which is to say, unfortunately this remains blocked until the API is deployed (in multiple regions) - right now only the API definition is available.

jvalteren commented 2 months ago

Thanks @tombuildsstuff, that is good to know (and unexpected).

Do you know of any status page or other information source where these things can be tracked? I didn't expect to find myself at 'the cutting edge' of Azure infrastructure development with these simple things.

Migration of a hosting project with relatively low complexity has required way more effort than expected because of little issues like this. It would greatly help predictability and thus planning if there would be more transparency on changes in API (preview status, availability etc).

ferronsw commented 2 months ago

Any ETA on when this will be available?

@jvalteren this can help https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/change-log or https://azure.microsoft.com/en-gb/updates/.

Microsoft is never super clear when they will release things like this unfortunately.

EpicWink commented 1 week ago

Cosmos DB also supports MongoDB API v7.0