From 097ad5ef0c1c5289f5a9248c0cb462568b3d3e93 Mon Sep 17 00:00:00 2001 From: njucz Date: Mon, 9 Nov 2020 13:50:52 +0800 Subject: [PATCH 1/8] azurerm_spring_cloud_service - support computed `outbound_ips` block --- .../spring_cloud_service_resource.go | 28 +++++++++++++++++++ .../spring_cloud_service_resource_test.go | 2 ++ .../docs/r/spring_cloud_service.html.markdown | 8 ++++++ 3 files changed, 38 insertions(+) diff --git a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go index a49b042f932f..2f37fc7ae0d3 100644 --- a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go +++ b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go @@ -110,6 +110,22 @@ func resourceArmSpringCloudService() *schema.Resource { Computed: true, ForceNew: true, }, + + "outbound_ips": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "public_ips": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + }, + }, }, }, }, @@ -804,6 +820,18 @@ func flattenArmSpringCloudNetwork(input *appplatform.NetworkProfile) []interface "cidr_ranges": cidrRanges, "app_network_resource_group": appNetworkResourceGroup, "service_runtime_network_resource_group": serviceRuntimeNetworkResourceGroup, + "outbound_ips": flattenArmSpringCloudNetworkOutboundIPs(input.OutboundIPs), + }, + } +} + +func flattenArmSpringCloudNetworkOutboundIPs(input *appplatform.NetworkProfileOutboundIPs) []interface{} { + if input == nil { + return []interface{}{} + } + return []interface{}{ + map[string]interface{}{ + "public_ips": utils.FlattenStringSlice(input.PublicIPs), }, } } diff --git a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go index 9ebd3d437b22..a345970a3f22 100644 --- a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go +++ b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go @@ -112,6 +112,8 @@ func TestAccAzureRMSpringCloudService_virtualNetwork(t *testing.T) { testCheckAzureRMSpringCloudServiceExists(data.ResourceName), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.service_runtime_network_resource_group"), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.app_network_resource_group"), + resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ips"), + resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ips.0.public_ips"), ), }, data.ImportStep( diff --git a/website/docs/r/spring_cloud_service.html.markdown b/website/docs/r/spring_cloud_service.html.markdown index be3d5d043939..8935fe9c56a8 100644 --- a/website/docs/r/spring_cloud_service.html.markdown +++ b/website/docs/r/spring_cloud_service.html.markdown @@ -153,6 +153,14 @@ The following attributes are exported: * `id` - The ID of the Spring Cloud Service. +* `outbound_ips` - An `outbound_ips` block as defined below. + +--- + +A `outbound_ips` block exports the following: + +* `public_ips` - A list of public IP addresses for Azure Spring Cloud instance. + ## Timeouts The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/docs/configuration/resources.html#timeouts) for certain actions: From c3fbc0a72fe4daa0936f143e3ec95f5facfec026 Mon Sep 17 00:00:00 2001 From: njucz Date: Mon, 9 Nov 2020 14:50:31 +0800 Subject: [PATCH 2/8] update --- .../services/appplatform/spring_cloud_service_resource.go | 4 ++-- .../appplatform/tests/spring_cloud_service_resource_test.go | 4 ++-- website/docs/r/spring_cloud_service.html.markdown | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go index 2f37fc7ae0d3..d7b7386bfd55 100644 --- a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go +++ b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go @@ -111,7 +111,7 @@ func resourceArmSpringCloudService() *schema.Resource { ForceNew: true, }, - "outbound_ips": { + "outbound_ip": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ @@ -820,7 +820,7 @@ func flattenArmSpringCloudNetwork(input *appplatform.NetworkProfile) []interface "cidr_ranges": cidrRanges, "app_network_resource_group": appNetworkResourceGroup, "service_runtime_network_resource_group": serviceRuntimeNetworkResourceGroup, - "outbound_ips": flattenArmSpringCloudNetworkOutboundIPs(input.OutboundIPs), + "outbound_ip": flattenArmSpringCloudNetworkOutboundIPs(input.OutboundIPs), }, } } diff --git a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go index a345970a3f22..f0ebb3629267 100644 --- a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go +++ b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go @@ -112,8 +112,8 @@ func TestAccAzureRMSpringCloudService_virtualNetwork(t *testing.T) { testCheckAzureRMSpringCloudServiceExists(data.ResourceName), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.service_runtime_network_resource_group"), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.app_network_resource_group"), - resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ips"), - resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ips.0.public_ips"), + resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ip"), + resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ip.0.public_ips"), ), }, data.ImportStep( diff --git a/website/docs/r/spring_cloud_service.html.markdown b/website/docs/r/spring_cloud_service.html.markdown index 8935fe9c56a8..56996130f85f 100644 --- a/website/docs/r/spring_cloud_service.html.markdown +++ b/website/docs/r/spring_cloud_service.html.markdown @@ -153,11 +153,11 @@ The following attributes are exported: * `id` - The ID of the Spring Cloud Service. -* `outbound_ips` - An `outbound_ips` block as defined below. +* `outbound_ip` - An `outbound_ip` block as defined below. --- -A `outbound_ips` block exports the following: +A `outbound_ip` block exports the following: * `public_ips` - A list of public IP addresses for Azure Spring Cloud instance. From d6944f06c3c9e7a73cb33dc916f997bf6e43c7d8 Mon Sep 17 00:00:00 2001 From: njucz Date: Wed, 11 Nov 2020 15:12:38 +0800 Subject: [PATCH 3/8] update --- .../appplatform/tests/spring_cloud_service_resource_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go index f0ebb3629267..ab9baab24174 100644 --- a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go +++ b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go @@ -112,8 +112,7 @@ func TestAccAzureRMSpringCloudService_virtualNetwork(t *testing.T) { testCheckAzureRMSpringCloudServiceExists(data.ResourceName), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.service_runtime_network_resource_group"), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.app_network_resource_group"), - resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ip"), - resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ip.0.public_ips"), + resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ip.0.public_ips.0"), ), }, data.ImportStep( From 97c4683dc38608a62ba76bfc9818df9e41784793 Mon Sep 17 00:00:00 2001 From: njucz Date: Tue, 17 Nov 2020 17:08:58 +0800 Subject: [PATCH 4/8] update --- .../services/appplatform/spring_cloud_service_resource.go | 1 + 1 file changed, 1 insertion(+) diff --git a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go index d7b7386bfd55..b01a88b04848 100644 --- a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go +++ b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go @@ -69,6 +69,7 @@ func resourceArmSpringCloudService() *schema.Resource { "network": { Type: schema.TypeList, Optional: true, + Computed: true, ForceNew: true, MaxItems: 1, Elem: &schema.Resource{ From d4a1344d432b97331339536f6f4d2ca706cbc577 Mon Sep 17 00:00:00 2001 From: njucz Date: Thu, 19 Nov 2020 15:06:27 +0800 Subject: [PATCH 5/8] move "outbound_ip" to the top level --- .../spring_cloud_service_resource.go | 38 ++++++++++--------- .../spring_cloud_service_resource_test.go | 2 +- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go index b01a88b04848..b77434d942de 100644 --- a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go +++ b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go @@ -111,22 +111,6 @@ func resourceArmSpringCloudService() *schema.Resource { Computed: true, ForceNew: true, }, - - "outbound_ip": { - Type: schema.TypeList, - Computed: true, - Elem: &schema.Resource{ - Schema: map[string]*schema.Schema{ - "public_ips": { - Type: schema.TypeList, - Computed: true, - Elem: &schema.Schema{ - Type: schema.TypeString, - }, - }, - }, - }, - }, }, }, }, @@ -225,6 +209,22 @@ func resourceArmSpringCloudService() *schema.Resource { }, }, + "outbound_ip": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "public_ips": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + }, + }, + "tags": tags.Schema(), }, } @@ -396,6 +396,11 @@ func resourceArmSpringCloudServiceRead(d *schema.ResourceData, meta interface{}) if err := d.Set("network", flattenArmSpringCloudNetwork(resp.Properties.NetworkProfile)); err != nil { return fmt.Errorf("setting `network`: %+v", err) } + if resp.Properties.NetworkProfile != nil { + if err := d.Set("outbound_ip", flattenArmSpringCloudNetworkOutboundIPs(resp.Properties.NetworkProfile.OutboundIPs)); err != nil { + return fmt.Errorf("setting `outbound_ip`: %+v", err) + } + } if resp.Properties.ConfigServerProperties != nil && resp.Properties.ConfigServerProperties.ConfigServer != nil { if props := resp.Properties.ConfigServerProperties.ConfigServer.GitProperty; props != nil { if err := d.Set("config_server_git_setting", flattenArmSpringCloudConfigServerGitProperty(props, d)); err != nil { @@ -821,7 +826,6 @@ func flattenArmSpringCloudNetwork(input *appplatform.NetworkProfile) []interface "cidr_ranges": cidrRanges, "app_network_resource_group": appNetworkResourceGroup, "service_runtime_network_resource_group": serviceRuntimeNetworkResourceGroup, - "outbound_ip": flattenArmSpringCloudNetworkOutboundIPs(input.OutboundIPs), }, } } diff --git a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go index ab9baab24174..043dc1dfc48f 100644 --- a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go +++ b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go @@ -112,7 +112,7 @@ func TestAccAzureRMSpringCloudService_virtualNetwork(t *testing.T) { testCheckAzureRMSpringCloudServiceExists(data.ResourceName), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.service_runtime_network_resource_group"), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.app_network_resource_group"), - resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.outbound_ip.0.public_ips.0"), + resource.TestCheckResourceAttrSet(data.ResourceName, "outbound_ip.0.public_ips.0"), ), }, data.ImportStep( From 4e5c0bb2c5c45229b3d867d4f5e83ad0a64fe905 Mon Sep 17 00:00:00 2001 From: njucz Date: Fri, 20 Nov 2020 10:28:47 +0800 Subject: [PATCH 6/8] check all fields nil and return `[]interface{}{}` in flatten func --- .../services/appplatform/spring_cloud_service_resource.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go index b77434d942de..262e32d86cb6 100644 --- a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go +++ b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go @@ -69,7 +69,6 @@ func resourceArmSpringCloudService() *schema.Resource { "network": { Type: schema.TypeList, Optional: true, - Computed: true, ForceNew: true, MaxItems: 1, Elem: &schema.Resource{ @@ -819,6 +818,10 @@ func flattenArmSpringCloudNetwork(input *appplatform.NetworkProfile) []interface appNetworkResourceGroup = *input.AppNetworkResourceGroup } + if serviceRuntimeSubnetID == "" && appSubnetID == "" && serviceRuntimeNetworkResourceGroup == "" && appNetworkResourceGroup == "" && len(cidrRanges) == 0 { + return []interface{}{} + } + return []interface{}{ map[string]interface{}{ "app_subnet_id": appSubnetID, From 75f9bd9c59ef478e82c264021f2ec910e253c023 Mon Sep 17 00:00:00 2001 From: tombuildsstuff Date: Thu, 26 Nov 2020 11:24:52 +0100 Subject: [PATCH 7/8] spring_cloud: exposing the IP's at the top level `outbound_public_ip_addresses` --- .../spring_cloud_service_data_source.go | 21 ++++-- .../spring_cloud_service_resource.go | 75 ++++++++----------- .../spring_cloud_service_data_source_test.go | 1 + .../spring_cloud_service_resource_test.go | 2 +- .../docs/d/spring_cloud_service.html.markdown | 4 +- .../docs/r/spring_cloud_service.html.markdown | 8 +- 6 files changed, 53 insertions(+), 58 deletions(-) diff --git a/azurerm/internal/services/appplatform/spring_cloud_service_data_source.go b/azurerm/internal/services/appplatform/spring_cloud_service_data_source.go index 669b9f0592c4..3da7070e69c2 100644 --- a/azurerm/internal/services/appplatform/spring_cloud_service_data_source.go +++ b/azurerm/internal/services/appplatform/spring_cloud_service_data_source.go @@ -102,6 +102,14 @@ func dataSourceArmSpringCloudService() *schema.Resource { }, }, + "outbound_public_ip_addresses": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "tags": tags.SchemaDataSource(), }, } @@ -132,11 +140,14 @@ func dataSourceArmSpringCloudServiceRead(d *schema.ResourceData, meta interface{ d.Set("location", azure.NormalizeLocation(*location)) } - if resp.Properties != nil && resp.Properties.ConfigServerProperties != nil && resp.Properties.ConfigServerProperties.ConfigServer != nil { - if props := resp.Properties.ConfigServerProperties.ConfigServer.GitProperty; props != nil { - if err := d.Set("config_server_git_setting", flattenArmSpringCloudConfigServerGitProperty(props, d)); err != nil { - return fmt.Errorf("failure setting AzureRM Spring Cloud Service Config Server error: %+v", err) - } + if props := resp.Properties; props != nil { + if err := d.Set("config_server_git_setting", flattenArmSpringCloudConfigServerGitProperty(props.ConfigServerProperties, d)); err != nil { + return fmt.Errorf("setting `config_server_git_setting`: %+v", err) + } + + outboundPublicIPAddresses := flattenOutboundPublicIPAddresses(props.NetworkProfile) + if err := d.Set("outbound_public_ip_addresses", outboundPublicIPAddresses); err != nil { + return fmt.Errorf("setting `outbound_public_ip_addresses`: %+v", err) } } diff --git a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go index 262e32d86cb6..1ef02607f2f8 100644 --- a/azurerm/internal/services/appplatform/spring_cloud_service_resource.go +++ b/azurerm/internal/services/appplatform/spring_cloud_service_resource.go @@ -208,19 +208,11 @@ func resourceArmSpringCloudService() *schema.Resource { }, }, - "outbound_ip": { + "outbound_public_ip_addresses": { Type: schema.TypeList, Computed: true, - Elem: &schema.Resource{ - Schema: map[string]*schema.Schema{ - "public_ips": { - Type: schema.TypeList, - Computed: true, - Elem: &schema.Schema{ - Type: schema.TypeString, - }, - }, - }, + Elem: &schema.Schema{ + Type: schema.TypeString, }, }, @@ -388,24 +380,20 @@ func resourceArmSpringCloudServiceRead(d *schema.ResourceData, meta interface{}) if resp.Sku != nil { d.Set("sku_name", resp.Sku.Name) } - if resp.Properties != nil { - if err := d.Set("trace", flattenArmSpringCloudTrace(resp.Properties.Trace)); err != nil { + if props := resp.Properties; props != nil { + if err := d.Set("trace", flattenArmSpringCloudTrace(props.Trace)); err != nil { return fmt.Errorf("failure setting `trace`: %+v", err) } - if err := d.Set("network", flattenArmSpringCloudNetwork(resp.Properties.NetworkProfile)); err != nil { + if err := d.Set("network", flattenArmSpringCloudNetwork(props.NetworkProfile)); err != nil { return fmt.Errorf("setting `network`: %+v", err) } - if resp.Properties.NetworkProfile != nil { - if err := d.Set("outbound_ip", flattenArmSpringCloudNetworkOutboundIPs(resp.Properties.NetworkProfile.OutboundIPs)); err != nil { - return fmt.Errorf("setting `outbound_ip`: %+v", err) - } + + outboundPublicIPAddresses := flattenOutboundPublicIPAddresses(props.NetworkProfile) + if err := d.Set("outbound_public_ip_addresses", outboundPublicIPAddresses); err != nil { + return fmt.Errorf("setting `outbound_public_ip_addresses`: %+v", err) } - if resp.Properties.ConfigServerProperties != nil && resp.Properties.ConfigServerProperties.ConfigServer != nil { - if props := resp.Properties.ConfigServerProperties.ConfigServer.GitProperty; props != nil { - if err := d.Set("config_server_git_setting", flattenArmSpringCloudConfigServerGitProperty(props, d)); err != nil { - return fmt.Errorf("failure setting AzureRM Spring Cloud Service error: %+v", err) - } - } + if err := d.Set("config_server_git_setting", flattenArmSpringCloudConfigServerGitProperty(props.ConfigServerProperties, d)); err != nil { + return fmt.Errorf("setting `config_server_git_setting`: %+v", err) } } @@ -572,11 +560,13 @@ func expandArmSpringCloudTrace(input []interface{}) *appplatform.TraceProperties } } -func flattenArmSpringCloudConfigServerGitProperty(input *appplatform.ConfigServerGitProperty, d *schema.ResourceData) []interface{} { - if input == nil { +func flattenArmSpringCloudConfigServerGitProperty(input *appplatform.ConfigServerProperties, d *schema.ResourceData) []interface{} { + if input == nil || input.ConfigServer == nil || input.ConfigServer.GitProperty == nil { return []interface{}{} } + gitProperty := input.ConfigServer.GitProperty + // prepare old state to find sensitive props not returned by API. oldGitSetting := make(map[string]interface{}) if oldGitSettings := d.Get("config_server_git_setting").([]interface{}); len(oldGitSettings) > 0 { @@ -584,19 +574,19 @@ func flattenArmSpringCloudConfigServerGitProperty(input *appplatform.ConfigServe } uri := "" - if input.URI != nil { - uri = *input.URI + if gitProperty.URI != nil { + uri = *gitProperty.URI } label := "" - if input.Label != nil { - label = *input.Label + if gitProperty.Label != nil { + label = *gitProperty.Label } - searchPaths := utils.FlattenStringSlice(input.SearchPaths) + searchPaths := utils.FlattenStringSlice(gitProperty.SearchPaths) - httpBasicAuth := []interface{}{} - if input.Username != nil && input.Password != nil { + httpBasicAuth := make([]interface{}, 0) + if gitProperty.Username != nil && gitProperty.Password != nil { // username and password returned by API are * // to avoid state diff, we get the props from old state username := "" @@ -619,7 +609,7 @@ func flattenArmSpringCloudConfigServerGitProperty(input *appplatform.ConfigServe } sshAuth := []interface{}{} - if input.PrivateKey != nil { + if gitProperty.PrivateKey != nil { // private_key, host_key and host_key_algorithm returned by API are * // to avoid state diff, we get the props from old state privateKey := "" @@ -636,8 +626,8 @@ func flattenArmSpringCloudConfigServerGitProperty(input *appplatform.ConfigServe } strictHostKeyChecking := false - if input.StrictHostKeyChecking != nil { - strictHostKeyChecking = *input.StrictHostKeyChecking + if gitProperty.StrictHostKeyChecking != nil { + strictHostKeyChecking = *gitProperty.StrictHostKeyChecking } sshAuth = []interface{}{ @@ -657,7 +647,7 @@ func flattenArmSpringCloudConfigServerGitProperty(input *appplatform.ConfigServe "search_paths": searchPaths, "http_basic_auth": httpBasicAuth, "ssh_auth": sshAuth, - "repository": flattenArmSpringCloudGitPatternRepository(input.Repositories, d), + "repository": flattenArmSpringCloudGitPatternRepository(gitProperty.Repositories, d), }, } } @@ -833,13 +823,10 @@ func flattenArmSpringCloudNetwork(input *appplatform.NetworkProfile) []interface } } -func flattenArmSpringCloudNetworkOutboundIPs(input *appplatform.NetworkProfileOutboundIPs) []interface{} { - if input == nil { +func flattenOutboundPublicIPAddresses(input *appplatform.NetworkProfile) []interface{} { + if input == nil || input.OutboundIPs == nil { return []interface{}{} } - return []interface{}{ - map[string]interface{}{ - "public_ips": utils.FlattenStringSlice(input.PublicIPs), - }, - } + + return utils.FlattenStringSlice(input.OutboundIPs.PublicIPs) } diff --git a/azurerm/internal/services/appplatform/tests/spring_cloud_service_data_source_test.go b/azurerm/internal/services/appplatform/tests/spring_cloud_service_data_source_test.go index db5c6950f68c..334cc204d455 100644 --- a/azurerm/internal/services/appplatform/tests/spring_cloud_service_data_source_test.go +++ b/azurerm/internal/services/appplatform/tests/spring_cloud_service_data_source_test.go @@ -19,6 +19,7 @@ func TestAccDataSourceAzureRMSpringCloudService_basic(t *testing.T) { Config: testAccDataSourceSpringCloudService_basic(data), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttrSet(data.ResourceName, "id"), + resource.TestCheckResourceAttrSet(data.ResourceName, "outbound_public_ip_addresses.0"), ), }, }, diff --git a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go index 043dc1dfc48f..c5507547b5dd 100644 --- a/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go +++ b/azurerm/internal/services/appplatform/tests/spring_cloud_service_resource_test.go @@ -112,7 +112,7 @@ func TestAccAzureRMSpringCloudService_virtualNetwork(t *testing.T) { testCheckAzureRMSpringCloudServiceExists(data.ResourceName), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.service_runtime_network_resource_group"), resource.TestCheckResourceAttrSet(data.ResourceName, "network.0.app_network_resource_group"), - resource.TestCheckResourceAttrSet(data.ResourceName, "outbound_ip.0.public_ips.0"), + resource.TestCheckResourceAttrSet(data.ResourceName, "outbound_public_ip_addresses.0"), ), }, data.ImportStep( diff --git a/website/docs/d/spring_cloud_service.html.markdown b/website/docs/d/spring_cloud_service.html.markdown index 56f7304e24c9..dbc8d2c40654 100644 --- a/website/docs/d/spring_cloud_service.html.markdown +++ b/website/docs/d/spring_cloud_service.html.markdown @@ -41,9 +41,11 @@ The following attributes are exported: * `id` - The ID of Spring Cloud Service. +* `config_server_git_setting` - A `config_server_git_setting` block as defined below. + * `location` - The location of Spring Cloud Service. -* `config_server_git_setting` - A `config_server_git_setting` block as defined below. +* `outbound_public_ip_addresses` - A list of the outbound Public IP Addresses used by this Spring Cloud Service. * `tags` - A mapping of tags assigned to Spring Cloud Service. diff --git a/website/docs/r/spring_cloud_service.html.markdown b/website/docs/r/spring_cloud_service.html.markdown index 56996130f85f..745b4c9d94b1 100644 --- a/website/docs/r/spring_cloud_service.html.markdown +++ b/website/docs/r/spring_cloud_service.html.markdown @@ -153,13 +153,7 @@ The following attributes are exported: * `id` - The ID of the Spring Cloud Service. -* `outbound_ip` - An `outbound_ip` block as defined below. - ---- - -A `outbound_ip` block exports the following: - -* `public_ips` - A list of public IP addresses for Azure Spring Cloud instance. +* `outbound_public_ip_addresses` - A list of the outbound Public IP Addresses used by this Spring Cloud Service. ## Timeouts From d9377b3c940dfb9af042238b6a5fc06b4f610fe0 Mon Sep 17 00:00:00 2001 From: tombuildsstuff Date: Thu, 26 Nov 2020 11:46:14 +0100 Subject: [PATCH 8/8] teamcity: limiting the appplatform concurrent runs to 5 --- .teamcity/components/settings.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.teamcity/components/settings.kt b/.teamcity/components/settings.kt index 139c4ea72b79..415b8db49289 100644 --- a/.teamcity/components/settings.kt +++ b/.teamcity/components/settings.kt @@ -19,6 +19,9 @@ var runNightly = mapOf( // specifies a list of services which should be run with a custom test configuration var serviceTestConfigurationOverrides = mapOf( + // Spring Cloud only allows a max of 10 provisioned + "appplatform" to testConfiguration(5, defaultStartHour), + // The AKS API has a low rate limit "containers" to testConfiguration(5, defaultStartHour),