From b15ea021d74f3baade60dbf65b373bdcf1e9cee2 Mon Sep 17 00:00:00 2001 From: Gustavo Michels Date: Wed, 15 Mar 2023 08:42:33 -0400 Subject: [PATCH] feat(container): add MAC address to state (#523) Co-authored-by: Gustavo Michels Co-authored-by: Martin --- docs/resources/container.md | 1 + internal/provider/resource_docker_container.go | 5 +++++ internal/provider/resource_docker_container_migrators.go | 4 ++++ internal/provider/resource_docker_container_structures.go | 1 + internal/provider/resource_docker_container_test.go | 1 + 5 files changed, 12 insertions(+) diff --git a/docs/resources/container.md b/docs/resources/container.md index 96fcb89c..e293ffcd 100644 --- a/docs/resources/container.md +++ b/docs/resources/container.md @@ -290,6 +290,7 @@ Read-Only: - `ip_address` (String) - `ip_prefix_length` (Number) - `ipv6_gateway` (String) +- `mac_address` (String) - `network_name` (String) ## Import diff --git a/internal/provider/resource_docker_container.go b/internal/provider/resource_docker_container.go index 74560131..4682a35f 100644 --- a/internal/provider/resource_docker_container.go +++ b/internal/provider/resource_docker_container.go @@ -615,6 +615,11 @@ func resourceDockerContainer() *schema.Resource { Description: "The IPV6 gateway of the container.", Computed: true, }, + "mac_address": { + Type: schema.TypeString, + Description: "The MAC address of the container.", + Computed: true, + }, }, }, }, diff --git a/internal/provider/resource_docker_container_migrators.go b/internal/provider/resource_docker_container_migrators.go index f99d25a6..d52f3594 100644 --- a/internal/provider/resource_docker_container_migrators.go +++ b/internal/provider/resource_docker_container_migrators.go @@ -546,6 +546,10 @@ func resourceDockerContainerV1() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "mac_address": { + Type: schema.TypeString, + Computed: true, + }, }, }, }, diff --git a/internal/provider/resource_docker_container_structures.go b/internal/provider/resource_docker_container_structures.go index e696132d..2bd95f03 100644 --- a/internal/provider/resource_docker_container_structures.go +++ b/internal/provider/resource_docker_container_structures.go @@ -74,6 +74,7 @@ func flattenContainerNetworks(in *types.NetworkSettings) []interface{} { m["global_ipv6_address"] = networkData.GlobalIPv6Address m["global_ipv6_prefix_length"] = networkData.GlobalIPv6PrefixLen m["ipv6_gateway"] = networkData.IPv6Gateway + m["mac_address"] = networkData.MacAddress out = append(out, m) } return out diff --git a/internal/provider/resource_docker_container_test.go b/internal/provider/resource_docker_container_test.go index 8107fa26..3b0a08db 100644 --- a/internal/provider/resource_docker_container_test.go +++ b/internal/provider/resource_docker_container_test.go @@ -1508,6 +1508,7 @@ func TestAccDockerContainer_ipv4address(t *testing.T) { testAccContainerRunning("docker_container.foo", &c), testCheck, resource.TestCheckResourceAttr("docker_container.foo", "name", "tf-test"), + resource.TestCheckResourceAttrSet("docker_container.foo", "network_data.0.mac_address"), ), }, },