From 187a89fd0f8aaaee470c2f29668af9f692f43cc6 Mon Sep 17 00:00:00 2001 From: njucz Date: Thu, 25 Mar 2021 14:06:06 +0800 Subject: [PATCH] "azurerm_spring_cloud_service" - supports property `sample_rate` --- .../springcloud/spring_cloud_service_resource.go | 13 +++++++++++++ .../spring_cloud_service_resource_test.go | 1 + website/docs/r/spring_cloud_service.html.markdown | 3 +++ 3 files changed, 17 insertions(+) diff --git a/azurerm/internal/services/springcloud/spring_cloud_service_resource.go b/azurerm/internal/services/springcloud/spring_cloud_service_resource.go index f6253ed72292..b1a851971017 100644 --- a/azurerm/internal/services/springcloud/spring_cloud_service_resource.go +++ b/azurerm/internal/services/springcloud/spring_cloud_service_resource.go @@ -206,6 +206,13 @@ func resourceSpringCloudService() *schema.Resource { Type: schema.TypeString, Required: true, }, + + "sample_rate": { + Type: schema.TypeFloat, + Optional: true, + Default: 10, + ValidateFunc: validation.FloatBetween(0, 100), + }, }, }, }, @@ -605,6 +612,7 @@ func expandSpringCloudTrace(input []interface{}) *appplatform.MonitoringSettingP return &appplatform.MonitoringSettingProperties{ TraceEnabled: utils.Bool(true), AppInsightsInstrumentationKey: utils.String(v["instrumentation_key"].(string)), + AppInsightsSamplingRate: utils.Float(v["sample_rate"].(float64)), } } @@ -814,12 +822,16 @@ func flattenSpringCloudTrace(input *appplatform.MonitoringSettingProperties) []i enabled := false instrumentationKey := "" + samplingRate := 0.0 if input.TraceEnabled != nil { enabled = *input.TraceEnabled } if input.AppInsightsInstrumentationKey != nil { instrumentationKey = *input.AppInsightsInstrumentationKey } + if input.AppInsightsSamplingRate != nil { + samplingRate = *input.AppInsightsSamplingRate + } if !enabled { return []interface{}{} @@ -828,6 +840,7 @@ func flattenSpringCloudTrace(input *appplatform.MonitoringSettingProperties) []i return []interface{}{ map[string]interface{}{ "instrumentation_key": instrumentationKey, + "sample_rate": samplingRate, }, } } diff --git a/azurerm/internal/services/springcloud/spring_cloud_service_resource_test.go b/azurerm/internal/services/springcloud/spring_cloud_service_resource_test.go index 2fe7750a58d1..8f5f2f95629b 100644 --- a/azurerm/internal/services/springcloud/spring_cloud_service_resource_test.go +++ b/azurerm/internal/services/springcloud/spring_cloud_service_resource_test.go @@ -222,6 +222,7 @@ resource "azurerm_spring_cloud_service" "test" { trace { instrumentation_key = azurerm_application_insights.test.instrumentation_key + sample_rate = 20 } tags = { diff --git a/website/docs/r/spring_cloud_service.html.markdown b/website/docs/r/spring_cloud_service.html.markdown index b9d0bddc847d..dfc2498815f2 100644 --- a/website/docs/r/spring_cloud_service.html.markdown +++ b/website/docs/r/spring_cloud_service.html.markdown @@ -43,6 +43,7 @@ resource "azurerm_spring_cloud_service" "example" { trace { instrumentation_key = azurerm_application_insights.example.instrumentation_key + sample_rate = 10.0 } tags = { @@ -147,6 +148,8 @@ The `trace` block supports the following: * `instrumentation_key` - (Required) The Instrumentation Key used for Application Insights. +* `sample_rate` - (Optional) The sampling rate of Application Insights Agent. Must be between `0.0` and `100.0`. Defaults to `10.0`. + ## Attributes Reference The following attributes are exported: