Skip to content

Commit

Permalink
functional datasources; some with just simple name filters
Browse files Browse the repository at this point in the history
  • Loading branch information
dgulinobw committed Mar 31, 2023
1 parent fc1f59f commit 1424f0d
Show file tree
Hide file tree
Showing 19 changed files with 405 additions and 326 deletions.
15 changes: 8 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ module terraform-provider-dog
go 1.18

require (
github.com/davecgh/go-spew v1.1.1
github.com/hashicorp/terraform-plugin-docs v0.13.0
github.com/hashicorp/terraform-plugin-framework v0.15.0
github.com/hashicorp/terraform-plugin-go v0.14.1
github.com/hashicorp/terraform-plugin-log v0.7.0
github.com/hashicorp/terraform-plugin-sdk/v2 v2.24.0
github.com/relaypro-open/dog_api_golang v0.0.0-20230315213341-b33692e49de8
golang.org/x/exp v0.0.0-20221114191408-850992195362
github.com/ledongthuc/goterators v1.0.2
github.com/relaypro-open/dog_api_golang v0.0.0-20230329211137-253bdccb6de5
golang.org/x/exp v0.0.0-20230321023759-10a507213a29
)

require (
Expand All @@ -21,8 +23,6 @@ require (
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
github.com/armon/go-radix v1.0.0 // indirect
github.com/bgentry/speakeasy v0.1.0 // indirect
github.com/bigkevmcd/go-configparser v0.0.0-20230107085059-7f3eb70e40ed // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/go-resty/resty/v2 v2.7.0 // indirect
github.com/golang/protobuf v1.5.2 // indirect
Expand Down Expand Up @@ -60,14 +60,15 @@ require (
github.com/russross/blackfriday v1.6.0 // indirect
github.com/shopspring/decimal v1.3.1 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/stretchr/testify v1.8.0 // indirect
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect
github.com/vmihailenco/tagparser v0.1.2 // indirect
github.com/zclconf/go-cty v1.12.1 // indirect
golang.org/x/crypto v0.2.0 // indirect
golang.org/x/net v0.2.0 // indirect
golang.org/x/sys v0.2.0 // indirect
golang.org/x/text v0.4.0 // indirect
golang.org/x/net v0.7.0 // indirect
golang.org/x/sys v0.5.0 // indirect
golang.org/x/text v0.7.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66 // indirect
google.golang.org/grpc v1.50.1 // indirect
Expand Down
68 changes: 17 additions & 51 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYU
github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU=
github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFUye+ZcSR6opIgz9Co7WcDx6ZcY+RjfFHoA0I=
github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0=
github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk=
github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec=
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
Expand All @@ -31,8 +30,6 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bigkevmcd/go-configparser v0.0.0-20230107085059-7f3eb70e40ed h1:4YVtJhgEZksGVj86S+w3/QkPfDrYVRYBBFWCQUN6AWI=
github.com/bigkevmcd/go-configparser v0.0.0-20230107085059-7f3eb70e40ed/go.mod h1:zqqfbfnDeSdRs1WihmMjSbhb2Ptw8Jbus831xoqiIec=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
Expand Down Expand Up @@ -100,8 +97,6 @@ github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mO
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/hc-install v0.4.0 h1:cZkRFr1WVa0Ty6x5fTvL1TuO1flul231rWkGH92oYYk=
github.com/hashicorp/hc-install v0.4.0/go.mod h1:5d155H8EC5ewegao9A4PUTMNPZaq+TbOzkJJZ4vrXeI=
github.com/hashicorp/hcl/v2 v2.14.1 h1:x0BpjfZ+CYdbiz+8yZTQ+gdLO7IXvOut7Da+XJayx34=
github.com/hashicorp/hcl/v2 v2.14.1/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0=
github.com/hashicorp/hcl/v2 v2.15.0 h1:CPDXO6+uORPjKflkWCCwoWc9uRp+zSIPcCQ+BrxV7m8=
github.com/hashicorp/hcl/v2 v2.15.0/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng=
github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
Expand Down Expand Up @@ -149,6 +144,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/ledongthuc/goterators v1.0.2 h1:/tbqAMlCYGzeAoBsfiOrO1NJWBzGWhs8gqVc4uJfA/g=
github.com/ledongthuc/goterators v1.0.2/go.mod h1:sgoACiiakuAb2rt/QokY+z+Bxmym816FgDi7nTAN2eo=
github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
Expand Down Expand Up @@ -187,42 +184,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo=
github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
github.com/relaypro-open/dog_api_golang v0.0.0-20221103221225-7a2b7a09823d h1:lTX/QBxkpErj+19XzjZxkYroGVbXzl9fnr8YCFIzC/I=
github.com/relaypro-open/dog_api_golang v0.0.0-20221103221225-7a2b7a09823d/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20221110201527-a64e7c40cb28 h1:jwAoDRfnOxIN4tctw1Ajy3jlyFLlhI6U+03HXbn7FDc=
github.com/relaypro-open/dog_api_golang v0.0.0-20221110201527-a64e7c40cb28/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20221110204122-8d75f658b288 h1:+NZzdxqFMevXPVJO1pAYEpN0utBj+rraMw53+++ja7w=
github.com/relaypro-open/dog_api_golang v0.0.0-20221110204122-8d75f658b288/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20221115205048-32c59c017594 h1:vp98tZNwa49gD0PtD/KWHtuq3Lu98FXN1CDbo+eFozk=
github.com/relaypro-open/dog_api_golang v0.0.0-20221115205048-32c59c017594/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20221115211357-bc4dd543d69a h1:4SeqTr0wiNq7Akd1Qe6i4O3CXtHPR5OefHB5YZAdTcM=
github.com/relaypro-open/dog_api_golang v0.0.0-20221115211357-bc4dd543d69a/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230117201755-cabbbad70221 h1:cE8iG0IxUgAF58054Yb+MfXvCixvFPdESYexjskKQKs=
github.com/relaypro-open/dog_api_golang v0.0.0-20230117201755-cabbbad70221/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230117222050-61bc229ef9d5 h1:j1ABcakNXsULTVspInBcIR+5zxZzQavT1iYB9rChXCo=
github.com/relaypro-open/dog_api_golang v0.0.0-20230117222050-61bc229ef9d5/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230215161807-c0d4f464d9f3 h1:VxcR2N2TFbsazS6H502SKlVNvxOtpKN8Au4yk/7anFo=
github.com/relaypro-open/dog_api_golang v0.0.0-20230215161807-c0d4f464d9f3/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230223194147-8e50d9eaa340 h1:tDZ3SjIa/mNnSDjhEBFuKortRYtaHEmdyu2L6H6VqMQ=
github.com/relaypro-open/dog_api_golang v0.0.0-20230223194147-8e50d9eaa340/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230224212205-e4e4ee8f53ff h1:nEl7Jy1ro8sjADttx78QX/4GbPGmdvVQ2FuNpQ+W8BA=
github.com/relaypro-open/dog_api_golang v0.0.0-20230224212205-e4e4ee8f53ff/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230225221129-625f80ac48dd h1:YOrHg0G8ifAS8IVYAn/ulekUgOYPCs3fYApYZTFbe70=
github.com/relaypro-open/dog_api_golang v0.0.0-20230225221129-625f80ac48dd/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230301202705-a8388bf5dace h1:9sbbqxAR1pF5W346wEh9aHrvBidsR8c3Z5EZw24+S5I=
github.com/relaypro-open/dog_api_golang v0.0.0-20230301202705-a8388bf5dace/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230302144827-df2f22eb619a h1:CnC2b+kRRzyCmBBBPmxlcdidWoyrSGz+6spGJNMJ180=
github.com/relaypro-open/dog_api_golang v0.0.0-20230302144827-df2f22eb619a/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230302175531-9d6c47df744f h1:hWSrRabbh1uOA3cNlJWDfGDQ3Y+oIg4hs9uwCf3FSAQ=
github.com/relaypro-open/dog_api_golang v0.0.0-20230302175531-9d6c47df744f/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230314145046-afc83bae3332 h1:xrCbU0w8FQPu4cX+OrfUaCpi4iRRK8nJ1uEBgvHT9/Q=
github.com/relaypro-open/dog_api_golang v0.0.0-20230314145046-afc83bae3332/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230314165349-3ab62e33385c h1:ErGp9MPmTLJ+Z/onCWkvXwIFbskhRLcl5usX9k7Ctwk=
github.com/relaypro-open/dog_api_golang v0.0.0-20230314165349-3ab62e33385c/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230314202211-1f206a499fdf h1:hjOYbQV/tPMthuxmI4iwtAI85WHJ/h2ac4EHs9T4B/w=
github.com/relaypro-open/dog_api_golang v0.0.0-20230314202211-1f206a499fdf/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230315213341-b33692e49de8 h1:r3DYMBHP45YVZrnejja4kyCbnDlr65YXInkckPnTHQ4=
github.com/relaypro-open/dog_api_golang v0.0.0-20230315213341-b33692e49de8/go.mod h1:gVISNtT0C/Ej5ZnCePDyppaDQiPRANiq2A/qhx/tH+8=
github.com/relaypro-open/dog_api_golang v0.0.0-20230329211137-253bdccb6de5 h1:0Vwke73LlXty8YtcK1wNUmhIWj42itH6cTtpK/tVVig=
github.com/relaypro-open/dog_api_golang v0.0.0-20230329211137-253bdccb6de5/go.mod h1:Adjvqlvq9RdyruC6WjKM5A8Uayn7kSh/bRF9feQvaL8=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
Expand All @@ -238,14 +201,17 @@ github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
Expand All @@ -271,8 +237,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.2.0 h1:BRXPfhNivWL5Yq0BGQ39a2sW6t44aODpfxkWjYdzewE=
golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/exp v0.0.0-20221114191408-850992195362 h1:NoHlPRbyl1VFI6FjwHtPQCN7wAMXI6cKcqrmXhOOfBQ=
golang.org/x/exp v0.0.0-20221114191408-850992195362/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand All @@ -284,8 +250,8 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand All @@ -307,17 +273,17 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM=
golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
Expand Down
54 changes: 49 additions & 5 deletions internal/provider/datasource_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
"github.com/hashicorp/terraform-plugin-framework/path"
"github.com/ledongthuc/goterators"
"github.com/davecgh/go-spew/spew"
api "github.com/relaypro-open/dog_api_golang/api"
)

Expand Down Expand Up @@ -139,7 +143,14 @@ type groupDataSourceData struct {
//}

func (d *groupDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
var state GroupList
var state Group
var groupName string
var groupProfileId string

req.Config.GetAttribute(ctx, path.Root("name"), &groupName)
req.Config.GetAttribute(ctx, path.Root("profile_id"), &groupProfileId)
//tflog.Debug(ctx, fmt.Sprintf("ZZZgroupName: '%s'", groupName))
//tflog.Debug(ctx, fmt.Sprintf("ZZZgroupProfileId: '%s'", groupProfileId))

res, statusCode, err := d.p.dog.GetGroups(nil)
if (statusCode < 200 || statusCode > 299) && statusCode != 404 {
Expand All @@ -151,12 +162,45 @@ func (d *groupDataSource) Read(ctx context.Context, req datasource.ReadRequest,
if resp.Diagnostics.HasError() {
return
}
//Filter groups
var filteredGroupsName []api.Group
if groupName != "" {
filteredGroupsName = goterators.Filter(res, func(group api.Group) bool {
//tflog.Debug(ctx, fmt.Sprintf("ZZZgroup.Name: '%s', groupName: '%s'", group.Name,groupName))
return group.Name == groupName
})
} else {
filteredGroupsName = res
}
//tflog.Debug(ctx, spew.Sprint("ZZZfilteredGroupsName: %#v", filteredGroupsName))

var filteredGroupsProfileId []api.Group
if groupProfileId != "" {
filteredGroupsProfileId = goterators.Filter(filteredGroupsName, func(group api.Group) bool {
return group.ProfileId == groupProfileId
})
} else {
filteredGroupsProfileId = filteredGroupsName
}
//tflog.Debug(ctx, spew.Sprint("ZZZfilteredProfileId: %#v", filteredGroupsProfileId))

// Set state
for _, api_group := range res {
group := ApiToGroup(api_group)
state = append(state, group)
filteredGroups := filteredGroupsProfileId

tflog.Debug(ctx, spew.Sprint("ZZZfilteredGroups: %#v", filteredGroups))
if filteredGroups == nil {
resp.Diagnostics.AddError("Data Error", fmt.Sprintf("dog_group data source returned no results."))
}
if len(filteredGroups) > 1 {
resp.Diagnostics.AddError("Data Error", fmt.Sprintf("dog_group data source returned more than one result."))
}
if resp.Diagnostics.HasError() {
return
}

group := filteredGroups[0]
// Set state
state = ApiToGroup(group)
//tflog.Debug(ctx, spew.Sprint("ZZZfilteredGroup: %#v", state))
diags := resp.State.Set(ctx, &state)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
Expand Down
Loading

0 comments on commit 1424f0d

Please sign in to comment.