From 5a8d0d8f9519ba6f1e761ad74c681b23b10cf1a6 Mon Sep 17 00:00:00 2001 From: Anton Sidelnikov <53078276+anton-sidelnikov@users.noreply.github.com> Date: Wed, 27 Dec 2023 10:36:26 +0100 Subject: [PATCH] [DCAAS] fix service_type attribute validation and virtual_interface doc (#2398) [DCAAS] fix service_type attribute validation and virtual_interface doc Summary of the Pull Request PR Checklist Refers to: #2394 and #2393 Tests added/passed. Documentation updated. Schema updated. Release notes added. Reviewed-by: Aloento Reviewed-by: Artem Lifshits --- .../d\321\201_virtual_interface_v2.md" | 19 ++++++----- ...lekomcloud_dc_virtual_interface_v2_test.go | 34 ++++++++++--------- ...pentelekomcloud_dc_virtual_interface_v2.go | 6 +--- ...caas-vi-service-type-cceba89b5f49a24d.yaml | 6 ++++ 4 files changed, 35 insertions(+), 30 deletions(-) create mode 100644 releasenotes/notes/dcaas-vi-service-type-cceba89b5f49a24d.yaml diff --git "a/docs/resources/d\321\201_virtual_interface_v2.md" "b/docs/resources/d\321\201_virtual_interface_v2.md" index 6e8fec428..dfbafe274 100644 --- "a/docs/resources/d\321\201_virtual_interface_v2.md" +++ "b/docs/resources/d\321\201_virtual_interface_v2.md" @@ -31,14 +31,15 @@ resource "opentelekomcloud_dc_virtual_gateway_v2" "vgw_1" { } resource "opentelekomcloud_dc_virtual_interface_v2" "int_1" { - direct_connect_id = var.direct_connect_id - vgw_id = opentelekomcloud_dc_virtual_gateway_v2.vgw_1.id - name = "vi_1" - description = "description" - type = "private" - route_mode = "static" - vlan = 100 - bandwidth = 5 + direct_connect_id = var.direct_connect_id + virtual_gateway_id = opentelekomcloud_dc_virtual_gateway_v2.vgw_1.id + service_type = "vpc" + name = "vi_1" + description = "description" + type = "private" + route_mode = "static" + vlan = 100 + bandwidth = 5 remote_ep_group_id = opentelekomcloud_dc_endpoint_group_v2.dc_endpoint_group.id local_gateway_v4_ip = "180.1.1.1/24" @@ -59,7 +60,7 @@ The following arguments are supported: * `bandwidth` (Int, Required) - Specifies the virtual interface bandwidth. * `remote_ep_group_id` (String, Required) - Specifies the ID of the remote endpoint group that records the CIDR blocks used by the on-premises network. * `description` (String, Optional) - Provides supplementary information about the virtual interface. -* `service_type` (String, Optional, ForceNew) - Specifies what is to be accessed over the connection. The value can only be `vpc`. +* `service_type` (String, Required, ForceNew) - Specifies what is to be accessed over the connection. The value can only be `vpc`. * `local_gateway_v4_ip` (String, Optional, ForceNew) - Specifies the IPv4 address of the local gateway. * `remote_gateway_v4_ip` (String, Optional, ForceNew) - Specifies the IPv4 address of the remote gateway. * `asn` (Int, Optional, ForceNew) - Specifies the AS number of the BGP peer. diff --git a/opentelekomcloud/acceptance/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2_test.go b/opentelekomcloud/acceptance/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2_test.go index d8b0487b0..ced700cda 100644 --- a/opentelekomcloud/acceptance/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2_test.go +++ b/opentelekomcloud/acceptance/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2_test.go @@ -135,14 +135,15 @@ resource "opentelekomcloud_dc_virtual_gateway_v2" "vgw_1" { } resource "opentelekomcloud_dc_virtual_interface_v2" "int_1" { - direct_connect_id = "%s" - vgw_id = opentelekomcloud_dc_virtual_gateway_v2.vgw_1.id - name = "%s" - description = "description" - type = "private" - route_mode = "static" - vlan = 100 - bandwidth = 5 + direct_connect_id = "%s" + virtual_gateway_id = opentelekomcloud_dc_virtual_gateway_v2.vgw_1.id + service_type = "vpc" + name = "%s" + description = "description" + type = "private" + route_mode = "static" + vlan = 100 + bandwidth = 5 remote_ep_group_id = opentelekomcloud_dc_endpoint_group_v2.dc_endpoint_group.id local_gateway_v4_ip = "180.1.1.1/24" @@ -173,14 +174,15 @@ resource "opentelekomcloud_dc_virtual_gateway_v2" "vgw_1" { } resource "opentelekomcloud_dc_virtual_interface_v2" "int_1" { - direct_connect_id = "%s" - vgw_id = opentelekomcloud_dc_virtual_gateway_v2.vgw_1.id - name = "%s" - description = "description updated" - type = "private" - route_mode = "static" - vlan = 100 - bandwidth = 10 + direct_connect_id = "%s" + virtual_gateway_id = opentelekomcloud_dc_virtual_gateway_v2.vgw_1.id + service_type = "vpc" + name = "%s" + description = "description updated" + type = "private" + route_mode = "static" + vlan = 100 + bandwidth = 10 remote_ep_group_id = opentelekomcloud_dc_endpoint_group_v2.dc_endpoint_group.id local_gateway_v4_ip = "180.1.1.1/24" diff --git a/opentelekomcloud/services/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2.go b/opentelekomcloud/services/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2.go index f8e25db06..1c0beed51 100644 --- a/opentelekomcloud/services/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2.go +++ b/opentelekomcloud/services/dcaas/resource_opentelekomcloud_dc_virtual_interface_v2.go @@ -86,12 +86,8 @@ func ResourceVirtualInterfaceV2() *schema.Resource { }, "service_type": { Type: schema.TypeString, - Optional: true, - Computed: true, + Required: true, ForceNew: true, - ValidateFunc: validation.StringInSlice([]string{ - "VPC", - }, false), }, "local_gateway_v4_ip": { Type: schema.TypeString, diff --git a/releasenotes/notes/dcaas-vi-service-type-cceba89b5f49a24d.yaml b/releasenotes/notes/dcaas-vi-service-type-cceba89b5f49a24d.yaml new file mode 100644 index 000000000..729943269 --- /dev/null +++ b/releasenotes/notes/dcaas-vi-service-type-cceba89b5f49a24d.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + **[DCAAS]** Fixes for `service_type` and `virtual_gateway_id` attributes documentation for ``resource/opentelekomcloud_dc_virtual_interface_v2`` (`#2398 `_) + - | + **[DCAAS]** Fix value validation for `service_type` for ``resource/opentelekomcloud_dc_virtual_interface_v2`` (`#2398 `_)