Terraform-provider-azurerm: Azure Frontdoor: support custom timeout for backend pool

Created on 8 Oct 2019  ·  7Comments  ·  Source: terraform-providers/terraform-provider-azurerm

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Azure Frontdoor supports setting a custom timeout for the backend. The standard timeout is 30s which is quite short.

See also:
https://feedback.azure.com/forums/217313-networking/suggestions/36482500-allow-configurable-timeout-period-for-front-door
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json

In the last link there are 2 backend pool settings:

  1. enforceCertificateNameCheck
  2. sendRecvTimeoutSeconds

(1) is supported by terraform using the enforce_backend_pools_certificate_name_check directive.

Please add a directive to support sendRecvTimeoutSeconds. I'm not sure if this directive applies to all backend pools or only a specified one.

New or Affected Resource(s)

  • azurerm_frontdoor

Potential Terraform Configuration

resource "azurerm_frontdoor" "example" {
  name                                         = "example-FrontDoor"
  location                                     = "${azurerm_resource_group.example.location}"
  resource_group_name                          = "${azurerm_resource_group.example.name}"
  enforce_backend_pools_certificate_name_check = false
  backend_pools_request_timeout = "60"
...

References

https://feedback.azure.com/forums/217313-networking/suggestions/36482500-allow-configurable-timeout-period-for-front-door
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/frontdoor/resource-manager/Microsoft.Network/stable/2019-05-01/frontdoor.json

dependencies documentation enhancement servicfrontdoor

Most helpful comment

@schmid37, yes this is currently on my plate and I will be getting to this soon... sorry for the delay.

All 7 comments

I will need to update the Azure SDK for GO used by Terraform, currently that attribute isn't exposed in the API version we are currently using....

API Version 2019-04-01 (currently used by Terraform):

720 // BackendPoolsSettings settings that apply to all backend pools.
721 type BackendPoolsSettings struct {
722     // EnforceCertificateNameCheck - Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. Possible values include: 'EnforceCertificateNameCheckEnabledStateEnabled', 'EnforceCertificateNameCheckEnabledStateDisabled'
723     EnforceCertificateNameCheck EnforceCertificateNameCheckEnabledState `json:"enforceCertificateNameCheck,omitempty"`
724 }

SDK Link

API Version 2019-05-01:

752 // BackendPoolsSettings settings that apply to all backend pools.
753 type BackendPoolsSettings struct {
754     // EnforceCertificateNameCheck - Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. Possible values include: 'EnforceCertificateNameCheckEnabledStateEnabled', 'EnforceCertificateNameCheckEnabledStateDisabled'
755     EnforceCertificateNameCheck EnforceCertificateNameCheckEnabledState `json:"enforceCertificateNameCheck,omitempty"`
756     // SendRecvTimeoutSeconds - Send and receive timeout on forwarding request to the backend. When timeout is reached, the request fails and returns.
757     SendRecvTimeoutSeconds *int32 `json:"sendRecvTimeoutSeconds,omitempty"`
758 }

SDK Link

Tagged for tracking..

@WodansSon do you have an idea when this will be done?

@WodansSon any updates to this topic? It's pretty anoying to increase the timeout via the Azure CLI after a deployment.

@schmid37, yes this is currently on my plate and I will be getting to this soon... sorry for the delay.

This has been released in version 2.8.0 of the provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. As an example:

provider "azurerm" {
    version = "~> 2.8.0"
}
# ... other configuration ...

I'm going to lock this issue because it has been closed for _30 days_ ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error 🤖 🙉 , please reach out to my human friends 👉 [email protected]. Thanks!

Was this page helpful?
0 / 5 - 0 ratings