diff --git a/Makefile b/Makefile index 738df131..08079f9f 100644 --- a/Makefile +++ b/Makefile @@ -16,4 +16,4 @@ update-deps: GOPROXY=direct GOSUMDB=off go get -u dev: - go build -o ~/.terraform.d/plugins/terraform-provider-watchtower main.go + go build -o ~/.terraform.d/plugins/terraform-provider-boundary main.go diff --git a/go.mod b/go.mod index 874be0d4..788c0556 100644 --- a/go.mod +++ b/go.mod @@ -3,19 +3,21 @@ module github.com/hashicorp/terraform-provider-watchtower go 1.12 require ( - cloud.google.com/go v0.61.0 // indirect + cloud.google.com/go v0.63.0 // indirect cloud.google.com/go/storage v1.10.0 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect - github.com/aws/aws-sdk-go v1.33.12 // indirect + github.com/aws/aws-sdk-go v1.34.2 // indirect github.com/corbym/gocrest v1.0.3 // indirect github.com/grpc-ecosystem/grpc-gateway v1.14.6 // indirect + github.com/hashicorp/boundary v0.0.0-20200811212500-4cfab0430733 github.com/hashicorp/go-getter v1.4.1 // indirect github.com/hashicorp/go-plugin v1.3.0 // indirect + github.com/hashicorp/go-retryablehttp v0.6.7 // indirect github.com/hashicorp/go-version v1.2.1 // indirect github.com/hashicorp/hcl/v2 v2.6.0 // indirect github.com/hashicorp/terraform-plugin-sdk v1.15.0 - github.com/hashicorp/terraform-svchost v0.0.0-20191119180714-d2e4933b9136 // indirect + github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect github.com/hashicorp/watchtower v0.0.0-20200724221034-4fa8c5415bb5 github.com/hashicorp/yamux v0.0.0-20200609203250-aecfd211c9ce // indirect github.com/jackc/pgx v3.6.2+incompatible // indirect @@ -24,6 +26,7 @@ require ( github.com/oklog/run v1.1.0 // indirect github.com/sergi/go-diff v1.1.0 // indirect github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 // indirect + github.com/spf13/afero v1.3.4 // indirect github.com/stretchr/testify v1.6.1 github.com/ulikunitz/xz v0.5.7 // indirect github.com/vektah/gqlparser v1.1.2 // indirect @@ -32,11 +35,9 @@ require ( github.com/zclconf/go-cty-yaml v1.0.2 // indirect go.opencensus.io v0.22.4 // indirect golang.org/x/net v0.0.0-20200707034311-ab3426394381 // indirect - golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c // indirect + golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed // indirect golang.org/x/text v0.3.3 // indirect golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect - golang.org/x/tools v0.0.0-20200724172932-b5fc9d354d99 // indirect - google.golang.org/api v0.29.0 // indirect - google.golang.org/genproto v0.0.0-20200724131911-43cab4749ae7 // indirect - google.golang.org/grpc v1.30.0 // indirect + golang.org/x/tools v0.0.0-20200811215021-48a8ffc5b207 // indirect + google.golang.org/genproto v0.0.0-20200808173500-a06252235341 // indirect ) diff --git a/go.sum b/go.sum index a3e1a872..c0b3dd6f 100644 --- a/go.sum +++ b/go.sum @@ -24,6 +24,9 @@ cloud.google.com/go v0.60.0 h1:R+tDlceO7Ss+zyvtsdhTxacDyZ1k99xwskQ4FT7ruoM= cloud.google.com/go v0.60.0/go.mod h1:yw2G51M9IfRboUH61Us8GqCeF1PzPblB823Mn2q2eAU= cloud.google.com/go v0.61.0 h1:NLQf5e1OMspfNT1RAHOB3ublr1TW3YTXO8OiWwVjK2U= cloud.google.com/go v0.61.0/go.mod h1:XukKJg4Y7QsUu0Hxg3qQKUWR4VuWivmyMK2+rUyxAqw= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.63.0 h1:A+DfAZQ/eWca7gvu42CS6FNSDX4R8cghF+XfWLn4R6g= +cloud.google.com/go v0.63.0/go.mod h1:GmezbQc7T2snqkEXWfZ0sy0VfkB/ivI2DdtJL2DEmlg= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0 h1:xE3CPsOgttP4ACBePh79zTKALtXwn/Edhcr16R5hMWU= @@ -47,6 +50,7 @@ cloud.google.com/go/pubsub v1.3.1 h1:ukjixP1wl0LpnZ6LWtZJ0mX5tBmjp1f8Sqer8Z2OMUU cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/spanner v1.2.0/go.mod h1:LfwGAsK42Yz8IeLsd/oagGFBqTXt3xVWtm8/KD2vrEI= cloud.google.com/go/spanner v1.5.1/go.mod h1:e1+8M6PF3ntV9Xr57X2Gf+UhylXXYF6gI4WRZ1kfu2A= +cloud.google.com/go/spanner v1.8.0/go.mod h1:mdAPDiFUbE9vCmhHHlxyDUtaPPsIK+pUdf5KmHaUfT8= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0 h1:RPUcBvDeYgQFMfQu1eBMq6piD1SXmLH+vK3qjewZPus= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= @@ -159,6 +163,7 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/arrow v0.0.0-20200601151325-b2287a20f230/go.mod h1:QNYViu/X0HXDHw7m3KXzWSVXIbfUvJqBFe6Gj8/pYA0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apparentlymart/go-cidr v1.0.1 h1:NmIwLZ/KdsjIUlhf+/Np40atNXm/+lZ5txfTJ/SpF+U= github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= @@ -207,6 +212,8 @@ github.com/aws/aws-sdk-go v1.33.4 h1:lhVZe2TkSjJz26jPBCBAvJvAy70Yxxlbm/Ciw1gmyRY github.com/aws/aws-sdk-go v1.33.4/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.33.12 h1:eydMoSwfrSTD9PWKUJOiDL7+/UwDW8AjInUGVE5Llh4= github.com/aws/aws-sdk-go v1.33.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.34.2 h1:9vCknCdTAmmV4ht7lPuda7aJXzllXwEQyCMZKJHjBrM= +github.com/aws/aws-sdk-go v1.34.2/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -227,6 +234,7 @@ github.com/briankassouf/jose v0.9.2-0.20180619214549-d2569464773f/go.mod h1:HQhV github.com/bufbuild/buf v0.13.0/go.mod h1:eVyXCAzQHqwuKNYjzboHIOiJQYZrjXwmNshZna621o8= github.com/bufbuild/buf v0.16.0/go.mod h1:rPwedF9fkDQBJAAfcyxmA9npbGpkGcoNkuBhF4/INrI= github.com/bufbuild/buf v0.20.4/go.mod h1:xhJpKvuGA5KUzOrQVL+SYbf9UJjA1PG2jez3FPfa+nc= +github.com/bufbuild/buf v0.20.5/go.mod h1:Kgpp44ayt6oQ0J0kXEzIkYRfPggDxOriiEHNswd2vEo= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c= @@ -301,6 +309,7 @@ github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zA github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6ROGeiHFAP8WJdI2RoxALQYgdllERc3N5N2DM= github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.0.0-20200620013148-b91950f658ec/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= @@ -498,6 +507,7 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A= github.com/golang-migrate/migrate/v4 v4.11.0 h1:uqtd0ysK5WyBQ/T1K2uDIooJV0o2Obt6uPwP062DupQ= github.com/golang-migrate/migrate/v4 v4.11.0/go.mod h1:nqbpDbckcYjsCD5I8q5+NI9Tkk7SVcmaF40Ax1eAWhg= +github.com/golang-migrate/migrate/v4 v4.12.2/go.mod h1:HQ1DaC8uLHkg4afY8ZQ8D/P5SG+YW9X5INZBVvm+d2k= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= @@ -518,6 +528,7 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -541,6 +552,7 @@ github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -610,6 +622,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.14.6 h1:8ERzHx8aj1Sc47mu9n/AksaKCSWrMc github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.0.0-beta.3/go.mod h1:Nhd2bO7zTYI3aNQDhaYPeydn78AIRtcAa2NabL5nRjU= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= +github.com/hashicorp/boundary v0.0.0-20200811212500-4cfab0430733 h1:ggLC4NzAsPGlIj/MTUG4Uvi9VQWMOQIPxJ7JmgcWszs= +github.com/hashicorp/boundary v0.0.0-20200811212500-4cfab0430733/go.mod h1:8yA/eQFUtqTeK2g3XT0Tq49cixWE9/hQOej/lgDwmwY= github.com/hashicorp/consul-template v0.22.0/go.mod h1:lHrykBIcPobCuEcIMLJryKxDyk2lUMnQWmffOEONH0k= github.com/hashicorp/consul-template v0.25.0/go.mod h1:/vUsrJvDuuQHcxEw0zik+YXTS7ZKWZjQeaQhshBmfH0= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= @@ -678,6 +692,8 @@ github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= github.com/hashicorp/go-retryablehttp v0.6.6 h1:HJunrbHTDDbBb/ay4kxa1n+dLmttUlnP3V9oNE4hmsM= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.6.7 h1:8/CAEZt/+F7kR7GevNHulKkUjLht3CPmn7egmhieNKo= +github.com/hashicorp/go-retryablehttp v0.6.7/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= @@ -755,6 +771,8 @@ github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596 h1:hjy github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= github.com/hashicorp/terraform-svchost v0.0.0-20191119180714-d2e4933b9136 h1:81Dg7SK6Q5vzqFItO8e1iIF2Nj8bLXV23NXjEgbev/s= github.com/hashicorp/terraform-svchost v0.0.0-20191119180714-d2e4933b9136/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKLsbzeOsfXmKNpr3GiT18XAblV0BjCbzL8KQAMZGa0= +github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= github.com/hashicorp/vault v1.2.1-0.20200519221912-a8c2591d3641 h1:sFzGh4bThye9dcV3XhO6xOtWlhXY73cgfod/B3eqdf0= github.com/hashicorp/vault v1.2.1-0.20200519221912-a8c2591d3641/go.mod h1:AxZRQLEuX4UQt4GIITGJE/s/dpQJjwQnPfufvchqxFM= github.com/hashicorp/vault v1.2.1-0.20200521015612-812a92b26b19 h1:UnyS8rJUziC7TLs/0blpiCpbnq3l3fwzkpZG+VLLUWI= @@ -875,6 +893,7 @@ github.com/jackc/pgconn v1.5.0 h1:oFSOilzIZkyg787M1fEmyMfOUUvwj0daqYMfaWwNL4o= github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.6.3/go.mod h1:w2pne1C2tZgP+TvjqLpOigGzNqjBgQW9dUw/4Chex78= +github.com/jackc/pgconn v1.6.4/go.mod h1:w2pne1C2tZgP+TvjqLpOigGzNqjBgQW9dUw/4Chex78= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA= @@ -914,6 +933,7 @@ github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oA github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= github.com/jackc/pgx/v4 v4.8.0/go.mod h1:AjqYcDmEyst6GF8jJi/RF73Gla9d7/HLZzJEZj2uwpM= +github.com/jackc/pgx/v4 v4.8.1/go.mod h1:4HOLxrl8wToZJReD04/yB20GDwf4KBYETvlHciCnwW0= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= @@ -945,6 +965,7 @@ github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSn github.com/jhump/protoreflect v1.6.2-0.20200602154950-9a9113f80b57 h1:DDbkVWVTpzxHbD80e2zpbczB+gkTWI1w2gSeL+viRhc= github.com/jhump/protoreflect v1.6.2-0.20200602154950-9a9113f80b57/go.mod h1:RZkzh7Hi9J7qT/sPlWnJ/UwZqCJvciFxKDA0UCeltSM= github.com/jhump/protoreflect v1.7.1-0.20200720033022-cb62454d469b/go.mod h1:D8nEtk+lKr8kMTMiLayswAtSSeHYDaRYk9r78Cy11mM= +github.com/jhump/protoreflect v1.7.1-0.20200723220026-11eaaf73e0ec/go.mod h1:D8nEtk+lKr8kMTMiLayswAtSSeHYDaRYk9r78Cy11mM= github.com/jinzhu/gorm v1.9.12 h1:Drgk1clyWT9t9ERbzHza6Mj/8FY/CqMyVzOiHviMo6Q= github.com/jinzhu/gorm v1.9.12/go.mod h1:vhTjlKSJUTWNtcbQtrMBFCxy7eXTzeCAzfL5fBZT/Qs= github.com/jinzhu/gorm v1.9.15/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= @@ -1001,6 +1022,8 @@ github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= @@ -1025,6 +1048,7 @@ github.com/lib/pq v1.6.0/go.mod h1:4vXEAYvW1fRQ2/FhZ78H73A60MHw1geSm145z2mdY1g= github.com/lib/pq v1.7.0 h1:h93mCPfUSkaul3Ka/VG8uZdmW1uMHDGxzu0NWHuJmHY= github.com/lib/pq v1.7.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.7.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lyft/protoc-gen-star v0.4.10/go.mod h1:mE8fbna26u7aEA2QCVvvfBU/ZrPgocG1206xAFPcs94= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -1134,6 +1158,7 @@ github.com/natefinch/atomic v0.0.0-20150920032501-a62ce929ffcc/go.mod h1:1rLVY/D github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/neo4j-drivers/gobolt v1.7.4/go.mod h1:O9AUbip4Dgre+CD3p40dnMD4a4r52QBIfblg5k7CTbE= github.com/neo4j/neo4j-go-driver v1.7.4/go.mod h1:aPO0vVr+WnhEJne+FgFjfsjzAnssPFLucHgGZ76Zb/U= +github.com/neo4j/neo4j-go-driver v1.8.1-0.20200803113522-b626aa943eba/go.mod h1:ncO5VaFWh0Nrt+4KT4mOZboaczBZcLuHrG+/sUeP8gI= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= @@ -1149,14 +1174,18 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v github.com/olekukonko/tablewriter v0.0.0-20180130162743-b8a9be070da4/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/oligot/go-mod-upgrade v0.1.2/go.mod h1:XmjmLRx/VrqAFMJ5ArLNVALB2m4j9S3jQvAApUaOFKw= github.com/oligot/go-mod-upgrade v0.2.0/go.mod h1:A+g8WOzoaH4U5fEk1svHgC7jWi4otz5uF2kMMwpVzzo= +github.com/oligot/go-mod-upgrade v0.2.1/go.mod h1:A+g8WOzoaH4U5fEk1svHgC7jWi4otz5uF2kMMwpVzzo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -1198,6 +1227,7 @@ github.com/pierrec/lz4 v2.2.6+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pires/go-proxyproto v0.1.3 h1:2XEuhsQluSNA5QIQkiUv8PfgZ51sNYIQkq/yFquiSQM= github.com/pires/go-proxyproto v0.1.3/go.mod h1:Odh9VFOZJCf9G8cLW5o435Xf1J95Jw9Gw5rnCjcwzAY= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1295,6 +1325,8 @@ github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:X github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/snowflakedb/glog v0.0.0-20180824191149-f5055e6f21ce/go.mod h1:EB/w24pR5VKI60ecFnKqXzxX3dOorz1rnVicQTQrGM0= +github.com/snowflakedb/gosnowflake v1.3.5/go.mod h1:13Ky+lxzIm3VqNDZJdyvu9MCGy+WgRdYFdXp96UcLZU= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= @@ -1307,6 +1339,8 @@ github.com/spf13/afero v1.3.1 h1:GPTpEAuNr98px18yNQ66JllNil98wfRZ/5Ukny8FeQA= github.com/spf13/afero v1.3.1/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.3.2 h1:GDarE4TJQI52kYSbSAmLiId1Elfj+xgSDqrUZxFhxlU= github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.3.4 h1:8q6vk3hthlpb2SouZcnBVKboxWQWMDNF38bwholZrJc= +github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= @@ -1331,6 +1365,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= @@ -1475,6 +1510,8 @@ golang.org/x/crypto v0.0.0-20200707235045-ab33eee955e0 h1:eIYIE7EC5/Wv5Kbz8bJPaq golang.org/x/crypto v0.0.0-20200707235045-ab33eee955e0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 h1:DZhuSZLsGlFL4CmhA8BcRA0mnthyA/nZ00AqCUo7vHg= golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1634,6 +1671,7 @@ golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1665,6 +1703,9 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae h1:Ih9Yo4hSPImZOpfGuA4bR/ORK golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c h1:UIcGWL6/wpCfyGuJnRFJRurA+yj8RrW7Q6x2YMCXt6c= golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed h1:WBkVNH1zd9jg/dK4HCM4lNANnmd12EHC9z+LmcCG4ns= +golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1767,12 +1808,22 @@ golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200722181740-bd1e9de8d890/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200724172932-b5fc9d354d99 h1:OHn441rq5CeM5r1xJ0OmY7lfdTvnedi6k+vQiI7G9b8= golang.org/x/tools v0.0.0-20200724172932-b5fc9d354d99/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200725200936-102e7d357031/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200806022845-90696ccdc692/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200807210451-92211316783d h1:0SXIh1o35VoSHeXm4dE5uYlKU5JI3lUMW3b9j+QgTjE= +golang.org/x/tools v0.0.0-20200807210451-92211316783d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200811215021-48a8ffc5b207 h1:8Kg+JssU1jBZs8GIrL5pl4nVyaqyyhdmHAR4D1zGErg= +golang.org/x/tools v0.0.0-20200811215021-48a8ffc5b207/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.0.0-20181220000619-583d854617af/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.2.0/go.mod h1:IfRCZScioGtypHNTlz3gFk67J8uePVW7uDTBzXuIkhU= google.golang.org/api v0.3.0/go.mod h1:IuvZyQh8jgscv8qWfQ4ABd8m7hEudgBFM/EdhA3BnXw= @@ -1804,6 +1855,8 @@ google.golang.org/api v0.28.0 h1:jMF5hhVfMkTZwHW1SDpKq5CkgWLXOb31Foaca9Zr3oM= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0 h1:BaiDisFir8O4IJxvAabCGGkQ6yCJegNQqSVoYUNAnbk= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0 h1:yfrXXP61wVuLb0vBcG6qaOoIoqYEzOQS8jum51jkv2w= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1872,10 +1925,18 @@ google.golang.org/genproto v0.0.0-20200626011028-ee7919e894b5/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200708133552-18036109789b h1:gYoomKOmhJ9YGwv9D05xH6fNWcNBNrMvOuoysvYIVV4= google.golang.org/genproto v0.0.0-20200708133552-18036109789b/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200720141249-1244ee217b7e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200721032028-5044d0edf986/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200722002428-88e341933a54/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200724131911-43cab4749ae7 h1:AWgNCmk2V5HZp9AiCDRBExX/b9I0Ey9F8STHDZlhCC4= google.golang.org/genproto v0.0.0-20200724131911-43cab4749ae7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200726014623-da3ae01ef02d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98 h1:LCO0fg4kb6WwkXQXRQQgUYsFeFb5taTX5WAx5O/Vt28= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200808173500-a06252235341 h1:Kceb+1TNS2X7Cj/A+IUTljNerF/4wOFjlFJ0RGHYKKE= +google.golang.org/genproto v0.0.0-20200808173500-a06252235341/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= @@ -1900,6 +1961,8 @@ google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1969,6 +2032,7 @@ gopkg.in/yaml.v3 v3.0.0-20200506231410-2ff61e1afc86/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20200602154603-c1a7af8cc6cd h1:RTT2AuBaYkdI89zk23sXiYZROxdS9gimvFQlSpZazwE= gopkg.in/yaml.v3 v3.0.0-20200602154603-c1a7af8cc6cd/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= diff --git a/internal/provider/provider.go b/internal/provider/provider.go index 6b22e710..e5cee28a 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/terraform" - "github.com/hashicorp/watchtower/api" - "github.com/hashicorp/watchtower/api/scopes" + "github.com/hashicorp/boundary/api" + "github.com/hashicorp/boundary/api/scopes" ) func New() terraform.ResourceProvider { @@ -16,13 +16,13 @@ func New() terraform.ResourceProvider { "default_organization": { Type: schema.TypeString, Optional: true, - DefaultFunc: schema.EnvDefaultFunc("WATCHTOWER_DEFAULT_ORG", ""), - Description: "The Watchtower organization scope to operate all actions in if not provided in the individual resources.", + DefaultFunc: schema.EnvDefaultFunc("BOUNDARY_DEFAULT_ORG", ""), + Description: "The Boundary organization scope to operate all actions in if not provided in the individual resources.", }, "base_url": { Type: schema.TypeString, Required: true, - Description: "The base url of the Watchtower API. For example 'http://127.0.0.1/'", + Description: "The base url of the Boundary API. For example 'http://127.0.0.1/'", }, "auth_method_id": { Type: schema.TypeString, @@ -41,11 +41,11 @@ func New() terraform.ResourceProvider { }, }, ResourcesMap: map[string]*schema.Resource{ - "watchtower_group": resourceGroup(), - "watchtower_host_catalog": resourceHostCatalog(), - "watchtower_project": resourceProject(), - "watchtower_role": resourceRole(), - "watchtower_user": resourceUser(), + "boundary_group": resourceGroup(), + "boundary_host_catalog": resourceHostCatalog(), + "boundary_project": resourceProject(), + "boundary_role": resourceRole(), + "boundary_user": resourceUser(), }, } diff --git a/internal/provider/provider_test.go b/internal/provider/provider_test.go index e92c5689..c3bc747a 100644 --- a/internal/provider/provider_test.go +++ b/internal/provider/provider_test.go @@ -15,13 +15,13 @@ var testProviders map[string]terraform.ResourceProvider func init() { testProvider = New().(*schema.Provider) testProviders = map[string]terraform.ResourceProvider{ - "watchtower": testProvider, + "boundary": testProvider, } } func testConfig(url string, res ...string) string { provider := fmt.Sprintf(` -provider "watchtower" { +provider "boundary" { base_url = "%s" default_organization = "o_0000000000" auth_method_id = "am_1234567890" diff --git a/internal/provider/resource_group.go b/internal/provider/resource_group.go index 63baa152..98341f0f 100644 --- a/internal/provider/resource_group.go +++ b/internal/provider/resource_group.go @@ -4,8 +4,8 @@ import ( "fmt" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" - "github.com/hashicorp/watchtower/api/groups" - "github.com/hashicorp/watchtower/api/scopes" + "github.com/hashicorp/boundary/api/groups" + "github.com/hashicorp/boundary/api/scopes" ) const ( diff --git a/internal/provider/resource_group_test.go b/internal/provider/resource_group_test.go index 1d9654ab..9b4dcc9a 100644 --- a/internal/provider/resource_group_test.go +++ b/internal/provider/resource_group_test.go @@ -9,9 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" - "github.com/hashicorp/watchtower/api/groups" - "github.com/hashicorp/watchtower/api/scopes" - "github.com/hashicorp/watchtower/testing/controller" + "github.com/hashicorp/boundary/api/groups" + "github.com/hashicorp/boundary/api/scopes" + "github.com/hashicorp/boundary/testing/controller" ) const ( @@ -21,13 +21,13 @@ const ( var ( fooGroup = fmt.Sprintf(` -resource "watchtower_group" "foo" { +resource "boundary_group" "foo" { name = "test" description = "%s" }`, fooGroupDescription) fooGroupUpdate = fmt.Sprintf(` -resource "watchtower_group" "foo" { +resource "boundary_group" "foo" { name = "test" description = "%s" }`, fooGroupDescriptionUpdate) @@ -46,24 +46,24 @@ func TestAccGroup(t *testing.T) { // test create Config: testConfig(url, fooGroup), Check: resource.ComposeTestCheckFunc( - testAccCheckGroupResourceExists("watchtower_group.foo"), - resource.TestCheckResourceAttr("watchtower_group.foo", groupDescriptionKey, fooGroupDescription), - resource.TestCheckResourceAttr("watchtower_group.foo", groupNameKey, "test"), + testAccCheckGroupResourceExists("boundary_group.foo"), + resource.TestCheckResourceAttr("boundary_group.foo", groupDescriptionKey, fooGroupDescription), + resource.TestCheckResourceAttr("boundary_group.foo", groupNameKey, "test"), ), }, { // test update Config: testConfig(url, fooGroupUpdate), Check: resource.ComposeTestCheckFunc( - testAccCheckGroupResourceExists("watchtower_group.foo"), - resource.TestCheckResourceAttr("watchtower_group.foo", groupDescriptionKey, fooGroupDescriptionUpdate), + testAccCheckGroupResourceExists("boundary_group.foo"), + resource.TestCheckResourceAttr("boundary_group.foo", groupDescriptionKey, fooGroupDescriptionUpdate), ), }, { // test destroy Config: testConfig(url), Check: resource.ComposeTestCheckFunc( - testAccCheckGroupDestroyed("watchtower_group.foo"), + testAccCheckGroupDestroyed("boundary_group.foo"), ), }, }, @@ -73,19 +73,19 @@ func TestAccGroup(t *testing.T) { // testAccCheckGroupDestroyed checks the terraform state for the host // catalog and returns an error if found. // -// TODO(malnick) This method falls short of checking the Watchtower API for +// TODO(malnick) This method falls short of checking the Boundary API for // the resource if the resource is not found in state. This is due to us not // having the host catalog ID, but it doesn't guarantee that the resource was // successfully removed. // -// It does check Watchtower if the resource is found in state to point out any +// It does check Boundary if the resource is found in state to point out any // misalignment between what is in state and the actual configuration. func testAccCheckGroupDestroyed(name string) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[name] if !ok { // If it's not in state, it's destroyed in TF but not guaranteed to be destroyed - // in Watchtower. Need to find a way to get the host catalog ID here so we can + // in Boundary. Need to find a way to get the host catalog ID here so we can // form a lookup to the WT API to check this. return nil } @@ -146,7 +146,7 @@ func testAccCheckGroupResourceDestroy(t *testing.T) resource.TestCheckFunc { for _, rs := range s.RootModule().Resources { switch rs.Type { - case "watchtower_group": + case "boundary_group": id := rs.Primary.ID diff --git a/internal/provider/resource_host_catalog.go b/internal/provider/resource_host_catalog.go index 5d7ca1a4..fad1382c 100644 --- a/internal/provider/resource_host_catalog.go +++ b/internal/provider/resource_host_catalog.go @@ -5,8 +5,8 @@ import ( "fmt" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" - "github.com/hashicorp/watchtower/api/hosts" - "github.com/hashicorp/watchtower/api/scopes" + "github.com/hashicorp/boundary/api/hosts" + "github.com/hashicorp/boundary/api/scopes" ) const ( diff --git a/internal/provider/resource_host_catalog_test.go b/internal/provider/resource_host_catalog_test.go index cdcbddfb..b4360968 100644 --- a/internal/provider/resource_host_catalog_test.go +++ b/internal/provider/resource_host_catalog_test.go @@ -9,9 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" - "github.com/hashicorp/watchtower/api/hosts" - "github.com/hashicorp/watchtower/api/scopes" - "github.com/hashicorp/watchtower/testing/controller" + "github.com/hashicorp/boundary/api/hosts" + "github.com/hashicorp/boundary/api/scopes" + "github.com/hashicorp/boundary/testing/controller" "github.com/stretchr/testify/assert" ) @@ -22,16 +22,16 @@ const ( var ( fooHostCatalog = fmt.Sprintf(` -resource "watchtower_host_catalog" "foo" { +resource "boundary_host_catalog" "foo" { description = "%s" - project_id = watchtower_project.project1.id + project_id = boundary_project.project1.id type = "Static" }`, fooHostCatalogDescription) fooHostCatalogUpdate = fmt.Sprintf(` -resource "watchtower_host_catalog" "foo" { +resource "boundary_host_catalog" "foo" { description = "%s" - project_id = watchtower_project.project1.id + project_id = boundary_project.project1.id type = "Static" }`, fooHostCatalogDescriptionUpdate) ) @@ -49,25 +49,25 @@ func TestAccHostCatalogCreate(t *testing.T) { // test create Config: testConfig(url, firstProjectBar, fooHostCatalog), Check: resource.ComposeTestCheckFunc( - testAccCheckProjectResourceExists("watchtower_project.project1"), - testAccCheckHostCatalogResourceExists("watchtower_host_catalog.foo"), - resource.TestCheckResourceAttr("watchtower_host_catalog.foo", hostCatalogDescriptionKey, fooHostCatalogDescription), + testAccCheckProjectResourceExists("boundary_project.project1"), + testAccCheckHostCatalogResourceExists("boundary_host_catalog.foo"), + resource.TestCheckResourceAttr("boundary_host_catalog.foo", hostCatalogDescriptionKey, fooHostCatalogDescription), ), }, { // test update Config: testConfig(url, firstProjectBar, fooHostCatalogUpdate), Check: resource.ComposeTestCheckFunc( - testAccCheckHostCatalogResourceExists("watchtower_host_catalog.foo"), - resource.TestCheckResourceAttr("watchtower_host_catalog.foo", hostCatalogDescriptionKey, fooHostCatalogDescriptionUpdate), + testAccCheckHostCatalogResourceExists("boundary_host_catalog.foo"), + resource.TestCheckResourceAttr("boundary_host_catalog.foo", hostCatalogDescriptionKey, fooHostCatalogDescriptionUpdate), ), }, { // test destroy Config: testConfig(url, firstProjectBar), Check: resource.ComposeTestCheckFunc( - testAccCheckProjectResourceExists("watchtower_project.project1"), - testAccCheckHostCatalogDestroyed("watchtower_host_catalog.foo"), + testAccCheckProjectResourceExists("boundary_project.project1"), + testAccCheckHostCatalogDestroyed("boundary_host_catalog.foo"), ), }, }, @@ -77,19 +77,19 @@ func TestAccHostCatalogCreate(t *testing.T) { // testAccCheckHostCatalogDestroyed checks the terraform state for the host // catalog and returns an error if found. // -// TODO(malnick) This method falls short of checking the Watchtower API for +// TODO(malnick) This method falls short of checking the Boundary API for // the resource if the resource is not found in state. This is due to us not // having the host catalog ID, but it doesn't guarantee that the resource was // successfully removed. // -// It does check Watchtower if the resource is found in state to point out any +// It does check Boundary if the resource is found in state to point out any // misalignment between what is in state and the actual configuration. func testAccCheckHostCatalogDestroyed(name string) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[name] if !ok { // If it's not in state, it's destroyed in TF but not guaranteed to be destroyed - // in Watchtower. Need to find a way to get the host catalog ID here so we can + // in Boundary. Need to find a way to get the host catalog ID here so we can // form a lookup to the WT API to check this. return nil } @@ -154,9 +154,9 @@ func testAccCheckHostCatalogResourceDestroy(t *testing.T) resource.TestCheckFunc for _, rs := range s.RootModule().Resources { switch rs.Type { - case "watchtower_project": + case "boundary_project": continue - case "watchtower_host_catalog": + case "boundary_host_catalog": id := rs.Primary.ID h := hosts.HostCatalog{Id: id} diff --git a/internal/provider/resource_project.go b/internal/provider/resource_project.go index dc7f2228..882fda44 100644 --- a/internal/provider/resource_project.go +++ b/internal/provider/resource_project.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" - "github.com/hashicorp/watchtower/api/scopes" + "github.com/hashicorp/boundary/api/scopes" ) const ( @@ -34,7 +34,7 @@ func resourceProject() *schema.Resource { } // convertProjectToResourceData populates the provided ResourceData with the appropriate values from the provided Project. -// The project passed into thie function should be one read from the watchtower API with all fields populated. +// The project passed into thie function should be one read from the boundary API with all fields populated. func convertProjectToResourceData(p *scopes.Project, d *schema.ResourceData) error { if p.Name != nil { if err := d.Set(projectNameKey, p.Name); err != nil { diff --git a/internal/provider/resource_project_test.go b/internal/provider/resource_project_test.go index 86aea2d1..523a5e1c 100644 --- a/internal/provider/resource_project_test.go +++ b/internal/provider/resource_project_test.go @@ -8,9 +8,9 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" - "github.com/hashicorp/watchtower/api" - "github.com/hashicorp/watchtower/api/scopes" - "github.com/hashicorp/watchtower/testing/controller" + "github.com/hashicorp/boundary/api" + "github.com/hashicorp/boundary/api/scopes" + "github.com/hashicorp/boundary/testing/controller" "github.com/stretchr/testify/assert" ) @@ -26,26 +26,26 @@ func TestAccProjectCreation(t *testing.T) { { Config: testConfig(url, firstProjectBar, secondProject), Check: resource.ComposeTestCheckFunc( - testAccCheckProjectResourceExists("watchtower_project.project1"), - resource.TestCheckResourceAttr("watchtower_project.project1", projectDescriptionKey, "bar"), - resource.TestCheckResourceAttr("watchtower_project.project2", projectDescriptionKey, "project2"), + testAccCheckProjectResourceExists("boundary_project.project1"), + resource.TestCheckResourceAttr("boundary_project.project1", projectDescriptionKey, "bar"), + resource.TestCheckResourceAttr("boundary_project.project2", projectDescriptionKey, "project2"), ), }, // Updates the first project to have description foo { Config: testConfig(url, firstProjectFoo, secondProject), Check: resource.ComposeTestCheckFunc( - testAccCheckProjectResourceExists("watchtower_project.project1"), - resource.TestCheckResourceAttr("watchtower_project.project1", projectDescriptionKey, "foo"), - resource.TestCheckResourceAttr("watchtower_project.project2", projectDescriptionKey, "project2"), + testAccCheckProjectResourceExists("boundary_project.project1"), + resource.TestCheckResourceAttr("boundary_project.project1", projectDescriptionKey, "foo"), + resource.TestCheckResourceAttr("boundary_project.project2", projectDescriptionKey, "project2"), ), }, // Remove second project { Config: testConfig(url, firstProjectFoo), Check: resource.ComposeTestCheckFunc( - testAccCheckProjectResourceExists("watchtower_project.project1"), - resource.TestCheckResourceAttr("watchtower_project.project1", projectDescriptionKey, "foo"), + testAccCheckProjectResourceExists("boundary_project.project1"), + resource.TestCheckResourceAttr("boundary_project.project1", projectDescriptionKey, "foo"), ), }, }, @@ -89,7 +89,7 @@ func testAccCheckProjectResourceDestroy(t *testing.T) resource.TestCheckFunc { for _, rs := range s.RootModule().Resources { id := rs.Primary.ID switch rs.Type { - case "watchtower_project": + case "boundary_project": if _, apiErr, _ := o.ReadProject(md.ctx, &scopes.Project{Id: id}); apiErr == nil || apiErr.Status != http.StatusNotFound { return fmt.Errorf("Didn't get a 404 when reading destroyed project %q: %v", id, apiErr) } @@ -221,17 +221,17 @@ func TestProjectToResourceData(t *testing.T) { const ( firstProjectFoo = ` -resource "watchtower_project" "project1" { +resource "boundary_project" "project1" { description = "foo" }` firstProjectBar = ` -resource "watchtower_project" "project1" { +resource "boundary_project" "project1" { description = "bar" }` secondProject = ` -resource "watchtower_project" "project2" { +resource "boundary_project" "project2" { description = "project2" } ` diff --git a/internal/provider/resource_role.go b/internal/provider/resource_role.go index 52dc7c91..c3901d33 100644 --- a/internal/provider/resource_role.go +++ b/internal/provider/resource_role.go @@ -4,8 +4,8 @@ import ( "fmt" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" - "github.com/hashicorp/watchtower/api/roles" - "github.com/hashicorp/watchtower/api/scopes" + "github.com/hashicorp/boundary/api/roles" + "github.com/hashicorp/boundary/api/scopes" ) const ( diff --git a/internal/provider/resource_role_test.go b/internal/provider/resource_role_test.go index 8e4b456b..8323e49a 100644 --- a/internal/provider/resource_role_test.go +++ b/internal/provider/resource_role_test.go @@ -9,9 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" - "github.com/hashicorp/watchtower/api/roles" - "github.com/hashicorp/watchtower/api/scopes" - "github.com/hashicorp/watchtower/testing/controller" + "github.com/hashicorp/boundary/api/roles" + "github.com/hashicorp/boundary/api/scopes" + "github.com/hashicorp/boundary/testing/controller" ) const ( @@ -21,79 +21,79 @@ const ( var ( fooRole = fmt.Sprintf(` -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "test" description = "%s" }`, fooRoleDescription) fooRoleUpdate = fmt.Sprintf(` -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "test" description = "%s" }`, fooRoleDescriptionUpdate) fooRoleWithUser = ` -resource "watchtower_user" "foo" { +resource "boundary_user" "foo" { name = "foo" } -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "test" description = "test description" - users = [watchtower_user.foo.id] + users = [boundary_user.foo.id] }` fooRoleWithUserUpdate = ` -resource "watchtower_user" "foo" { +resource "boundary_user" "foo" { name = "foo" } -resource "watchtower_user" "bar" { +resource "boundary_user" "bar" { name = "bar" } -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "test" description = "test description" - users = [watchtower_user.foo.id, watchtower_user.bar.id] + users = [boundary_user.foo.id, boundary_user.bar.id] }` fooRoleWithGroups = ` -resource "watchtower_group" "foo" { +resource "boundary_group" "foo" { name = "foo" } -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "test" description = "test description" - groups = [watchtower_group.foo.id] + groups = [boundary_group.foo.id] }` fooRoleWithGroupsUpdate = ` -resource "watchtower_group" "foo" { +resource "boundary_group" "foo" { name = "foo" } -resource "watchtower_group" "bar" { +resource "boundary_group" "bar" { name = "bar" } -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "test" description = "test description" - groups = [watchtower_group.foo.id, watchtower_group.bar.id] + groups = [boundary_group.foo.id, boundary_group.bar.id] }` readonlyGrant = "id=*;actions=read" readonlyGrantUpdate = "id=*;actions=read,create" fooRoleWithGrants = fmt.Sprintf(` -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "readonly" description = "test description" grants = ["%s"] }`, readonlyGrant) fooRoleWithGrantsUpdate = fmt.Sprintf(` -resource "watchtower_role" "foo" { +resource "boundary_role" "foo" { name = "readonly" description = "test description" grants = ["%s", "%s"] @@ -113,20 +113,20 @@ func TestAccRoleWithGrants(t *testing.T) { // test create Config: testConfig(url, fooRoleWithGrants), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - testAccCheckRoleResourceGrantsSet("watchtower_role.foo", []string{readonlyGrant}), - resource.TestCheckResourceAttr("watchtower_role.foo", "name", "readonly"), - resource.TestCheckResourceAttr("watchtower_role.foo", "description", "test description"), + testAccCheckRoleResourceExists("boundary_role.foo"), + testAccCheckRoleResourceGrantsSet("boundary_role.foo", []string{readonlyGrant}), + resource.TestCheckResourceAttr("boundary_role.foo", "name", "readonly"), + resource.TestCheckResourceAttr("boundary_role.foo", "description", "test description"), ), }, { // test update Config: testConfig(url, fooRoleWithGrantsUpdate), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - testAccCheckRoleResourceGrantsSet("watchtower_role.foo", []string{readonlyGrant, readonlyGrantUpdate}), - resource.TestCheckResourceAttr("watchtower_role.foo", "name", "readonly"), - resource.TestCheckResourceAttr("watchtower_role.foo", "description", "test description"), + testAccCheckRoleResourceExists("boundary_role.foo"), + testAccCheckRoleResourceGrantsSet("boundary_role.foo", []string{readonlyGrant, readonlyGrantUpdate}), + resource.TestCheckResourceAttr("boundary_role.foo", "name", "readonly"), + resource.TestCheckResourceAttr("boundary_role.foo", "description", "test description"), ), }, }, @@ -146,22 +146,22 @@ func TestAccRoleWithUsers(t *testing.T) { // test create Config: testConfig(url, fooRoleWithUser), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - testAccCheckRoleResourceUsersSet("watchtower_role.foo", []string{"watchtower_user.foo"}), - testAccCheckUserResourceExists("watchtower_user.foo"), - resource.TestCheckResourceAttr("watchtower_role.foo", roleDescriptionKey, "test description"), - resource.TestCheckResourceAttr("watchtower_role.foo", roleNameKey, "test"), - resource.TestCheckResourceAttr("watchtower_user.foo", "name", "foo"), + testAccCheckRoleResourceExists("boundary_role.foo"), + testAccCheckRoleResourceUsersSet("boundary_role.foo", []string{"boundary_user.foo"}), + testAccCheckUserResourceExists("boundary_user.foo"), + resource.TestCheckResourceAttr("boundary_role.foo", roleDescriptionKey, "test description"), + resource.TestCheckResourceAttr("boundary_role.foo", roleNameKey, "test"), + resource.TestCheckResourceAttr("boundary_user.foo", "name", "foo"), ), }, { // test update Config: testConfig(url, fooRoleWithUserUpdate), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - testAccCheckUserResourceExists("watchtower_user.foo"), - testAccCheckUserResourceExists("watchtower_user.bar"), - testAccCheckRoleResourceUsersSet("watchtower_role.foo", []string{"watchtower_user.foo", "watchtower_user.bar"}), + testAccCheckRoleResourceExists("boundary_role.foo"), + testAccCheckUserResourceExists("boundary_user.foo"), + testAccCheckUserResourceExists("boundary_user.bar"), + testAccCheckRoleResourceUsersSet("boundary_role.foo", []string{"boundary_user.foo", "boundary_user.bar"}), ), }, }, @@ -181,22 +181,22 @@ func TestAccRoleWithGroups(t *testing.T) { // test create Config: testConfig(url, fooRoleWithGroups), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - testAccCheckRoleResourceGroupsSet("watchtower_role.foo", []string{"watchtower_group.foo"}), - testAccCheckUserResourceExists("watchtower_group.foo"), - resource.TestCheckResourceAttr("watchtower_role.foo", roleDescriptionKey, "test description"), - resource.TestCheckResourceAttr("watchtower_role.foo", roleNameKey, "test"), - resource.TestCheckResourceAttr("watchtower_group.foo", "name", "foo"), + testAccCheckRoleResourceExists("boundary_role.foo"), + testAccCheckRoleResourceGroupsSet("boundary_role.foo", []string{"boundary_group.foo"}), + testAccCheckUserResourceExists("boundary_group.foo"), + resource.TestCheckResourceAttr("boundary_role.foo", roleDescriptionKey, "test description"), + resource.TestCheckResourceAttr("boundary_role.foo", roleNameKey, "test"), + resource.TestCheckResourceAttr("boundary_group.foo", "name", "foo"), ), }, { // test update Config: testConfig(url, fooRoleWithGroupsUpdate), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - testAccCheckUserResourceExists("watchtower_group.foo"), - testAccCheckUserResourceExists("watchtower_group.bar"), - testAccCheckRoleResourceGroupsSet("watchtower_role.foo", []string{"watchtower_group.foo", "watchtower_group.bar"}), + testAccCheckRoleResourceExists("boundary_role.foo"), + testAccCheckUserResourceExists("boundary_group.foo"), + testAccCheckUserResourceExists("boundary_group.bar"), + testAccCheckRoleResourceGroupsSet("boundary_role.foo", []string{"boundary_group.foo", "boundary_group.bar"}), ), }, }, @@ -216,24 +216,24 @@ func TestAccRole(t *testing.T) { // test create Config: testConfig(url, fooRole), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - resource.TestCheckResourceAttr("watchtower_role.foo", roleDescriptionKey, fooRoleDescription), - resource.TestCheckResourceAttr("watchtower_role.foo", roleNameKey, "test"), + testAccCheckRoleResourceExists("boundary_role.foo"), + resource.TestCheckResourceAttr("boundary_role.foo", roleDescriptionKey, fooRoleDescription), + resource.TestCheckResourceAttr("boundary_role.foo", roleNameKey, "test"), ), }, { // test update Config: testConfig(url, fooRoleUpdate), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleResourceExists("watchtower_role.foo"), - resource.TestCheckResourceAttr("watchtower_role.foo", roleDescriptionKey, fooRoleDescriptionUpdate), + testAccCheckRoleResourceExists("boundary_role.foo"), + resource.TestCheckResourceAttr("boundary_role.foo", roleDescriptionKey, fooRoleDescriptionUpdate), ), }, { // test destroy Config: testConfig(url), Check: resource.ComposeTestCheckFunc( - testAccCheckRoleDestroyed("watchtower_role.foo"), + testAccCheckRoleDestroyed("boundary_role.foo"), ), }, }, @@ -243,19 +243,19 @@ func TestAccRole(t *testing.T) { // testAccCheckRoleDestroyed checks the terraform state for the host // catalog and returns an error if found. // -// TODO(malnick) This method falls short of checking the Watchtower API for +// TODO(malnick) This method falls short of checking the Boundary API for // the resource if the resource is not found in state. This is due to us not // having the host catalog ID, but it doesn't guarantee that the resource was // successfully removed. // -// It does check Watchtower if the resource is found in state to point out any +// It does check Boundary if the resource is found in state to point out any // misalignment between what is in state and the actual configuration. func testAccCheckRoleDestroyed(name string) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[name] if !ok { // If it's not in state, it's destroyed in TF but not guaranteed to be destroyed - // in Watchtower. Need to find a way to get the host catalog ID here so we can + // in Boundary. Need to find a way to get the host catalog ID here so we can // form a lookup to the WT API to check this. return nil } @@ -350,9 +350,9 @@ func testAccCheckRoleResourceUsersSet(name string, users []string) resource.Test } // for every user set as a principal on the role in the state, ensure - // each role in watchtower has the same setings + // each role in boundary has the same setings if len(r.PrincipalIds) == 0 { - return fmt.Errorf("no users found in watchtower") + return fmt.Errorf("no users found in boundary") } for _, stateUser := range r.PrincipalIds { @@ -363,7 +363,7 @@ func testAccCheckRoleResourceUsersSet(name string, users []string) resource.Test } } if !ok { - return fmt.Errorf("user in state not set in watchtower: %s", stateUser) + return fmt.Errorf("user in state not set in boundary: %s", stateUser) } } @@ -412,9 +412,9 @@ func testAccCheckRoleResourceGroupsSet(name string, groups []string) resource.Te } // for every user set as a principal on the role in the state, ensure - // each role in watchtower has the same setings + // each role in boundary has the same setings if len(r.PrincipalIds) == 0 { - return fmt.Errorf("no groups found in watchtower") + return fmt.Errorf("no groups found in boundary") } for _, stateGroup := range r.PrincipalIds { @@ -425,7 +425,7 @@ func testAccCheckRoleResourceGroupsSet(name string, groups []string) resource.Te } } if !ok { - return fmt.Errorf("group in state not set in watchtower: %s", stateGroup) + return fmt.Errorf("group in state not set in boundary: %s", stateGroup) } } @@ -486,11 +486,11 @@ func testAccCheckRoleResourceDestroy(t *testing.T) resource.TestCheckFunc { for _, rs := range s.RootModule().Resources { switch rs.Type { - case "watchtower_user": + case "boundary_user": continue - case "watchtower_group": + case "boundary_group": continue - case "watchtower_role": + case "boundary_role": id := rs.Primary.ID diff --git a/internal/provider/resource_user.go b/internal/provider/resource_user.go index 1f455f0c..b31f3f42 100644 --- a/internal/provider/resource_user.go +++ b/internal/provider/resource_user.go @@ -4,8 +4,8 @@ import ( "fmt" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" - "github.com/hashicorp/watchtower/api/scopes" - "github.com/hashicorp/watchtower/api/users" + "github.com/hashicorp/boundary/api/scopes" + "github.com/hashicorp/boundary/api/users" ) const ( diff --git a/internal/provider/resource_user_test.go b/internal/provider/resource_user_test.go index 4549ce78..cfb517ff 100644 --- a/internal/provider/resource_user_test.go +++ b/internal/provider/resource_user_test.go @@ -9,9 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" - "github.com/hashicorp/watchtower/api/scopes" - "github.com/hashicorp/watchtower/api/users" - "github.com/hashicorp/watchtower/testing/controller" + "github.com/hashicorp/boundary/api/scopes" + "github.com/hashicorp/boundary/api/users" + "github.com/hashicorp/boundary/testing/controller" ) const ( @@ -22,18 +22,18 @@ const ( var ( fooUser = fmt.Sprintf(` -resource "watchtower_user" "foo" { +resource "boundary_user" "foo" { name = "test" description = "%s" }`, fooUserDescription) fooUserUpdate = fmt.Sprintf(` -resource "watchtower_user" "foo" { +resource "boundary_user" "foo" { name = "test" description = "%s" }`, fooUserDescriptionUpdate) fooUserUnset = fmt.Sprintf(` -resource "watchtower_user" "foo" { +resource "boundary_user" "foo" { name = "test" description = "%s" }`, fooUserDescriptionUnset) @@ -52,25 +52,25 @@ func TestAccUser(t *testing.T) { // test create Config: testConfig(url, fooUser), Check: resource.ComposeTestCheckFunc( - testAccCheckUserResourceExists("watchtower_user.foo"), - resource.TestCheckResourceAttr("watchtower_user.foo", userDescriptionKey, fooUserDescription), - resource.TestCheckResourceAttr("watchtower_user.foo", userNameKey, "test"), + testAccCheckUserResourceExists("boundary_user.foo"), + resource.TestCheckResourceAttr("boundary_user.foo", userDescriptionKey, fooUserDescription), + resource.TestCheckResourceAttr("boundary_user.foo", userNameKey, "test"), ), }, { // test update Config: testConfig(url, fooUserUnset), Check: resource.ComposeTestCheckFunc( - testAccCheckUserResourceExists("watchtower_user.foo"), - resource.TestCheckResourceAttr("watchtower_user.foo", userDescriptionKey, fooUserDescriptionUnset), + testAccCheckUserResourceExists("boundary_user.foo"), + resource.TestCheckResourceAttr("boundary_user.foo", userDescriptionKey, fooUserDescriptionUnset), ), }, { // test unset Config: testConfig(url, fooUserUpdate), Check: resource.ComposeTestCheckFunc( - testAccCheckUserResourceExists("watchtower_user.foo"), - resource.TestCheckResourceAttr("watchtower_user.foo", userDescriptionKey, fooUserDescriptionUpdate), + testAccCheckUserResourceExists("boundary_user.foo"), + resource.TestCheckResourceAttr("boundary_user.foo", userDescriptionKey, fooUserDescriptionUpdate), ), }, @@ -78,7 +78,7 @@ func TestAccUser(t *testing.T) { // test destroy Config: testConfig(url), Check: resource.ComposeTestCheckFunc( - testAccCheckUserDestroyed("watchtower_user.foo"), + testAccCheckUserDestroyed("boundary_user.foo"), ), }, }, @@ -88,19 +88,19 @@ func TestAccUser(t *testing.T) { // testAccCheckUserDestroyed checks the terraform state for the host // catalog and returns an error if found. // -// TODO(malnick) This method falls short of checking the Watchtower API for +// TODO(malnick) This method falls short of checking the Boundary API for // the resource if the resource is not found in state. This is due to us not // having the host catalog ID, but it doesn't guarantee that the resource was // successfully removed. // -// It does check Watchtower if the resource is found in state to point out any +// It does check Boundary if the resource is found in state to point out any // misalignment between what is in state and the actual configuration. func testAccCheckUserDestroyed(name string) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[name] if !ok { // If it's not in state, it's destroyed in TF but not guaranteed to be destroyed - // in Watchtower. Need to find a way to get the host catalog ID here so we can + // in Boundary. Need to find a way to get the host catalog ID here so we can // form a lookup to the WT API to check this. return nil } @@ -161,7 +161,7 @@ func testAccCheckUserResourceDestroy(t *testing.T) resource.TestCheckFunc { for _, rs := range s.RootModule().Resources { switch rs.Type { - case "watchtower_user": + case "boundary_user": id := rs.Primary.ID diff --git a/website/docs/index.html.markdown b/website/docs/index.html.markdown index ad888141..bad03dae 100644 --- a/website/docs/index.html.markdown +++ b/website/docs/index.html.markdown @@ -1,21 +1,21 @@ --- -layout: "watchtower" -page_title: "Provider: Watchtower" -sidebar_current: "docs-watchtower-index" +layout: "boundary" +page_title: "Provider: Boundary" +sidebar_current: "docs-boundary-index" description: |- - Terraform provider Watchtower. + Terraform provider Boundary. --- -# Watchtower Provider +# Boundary Provider -This provider configures Watchtower. +This provider configures Boundary. ## Example Usage Do not keep your authentication password in HCL for production environments, use Terraform environment variables. ```hcl -provider "watchtower" { +provider "boundary" { base_url = "https://127.0.0.1:9200" default_organization = "o_0000000000" auth_method_id = "am_1234567890" diff --git a/website/docs/r/resource_group.html.markdown b/website/docs/r/resource_group.html.markdown index 060ac04e..bd845764 100644 --- a/website/docs/r/resource_group.html.markdown +++ b/website/docs/r/resource_group.html.markdown @@ -1,18 +1,18 @@ --- -layout: "watchtower" -page_title: "Watchtower: group_resource" -sidebar_current: "docs-watchtower-group-resource" +layout: "boundary" +page_title: "Boundary: group_resource" +sidebar_current: "docs-boundary-group-resource" description: |- - Group resource for the Watchtower Terraform provider. + Group resource for the Boundary Terraform provider. --- -# watchtower_group_resource -The group resource allows you to configure a Watchtower group. +# boundary_group_resource +The group resource allows you to configure a Boundary group. ## Example Usage ```hcl -resource "watchtower_group" "example" { +resource "boundary_group" "example" { name = "My group" description = "My first group!" } diff --git a/website/docs/r/resource_host_catalog.html.markdown b/website/docs/r/resource_host_catalog.html.markdown index a2199bc8..e8468dde 100644 --- a/website/docs/r/resource_host_catalog.html.markdown +++ b/website/docs/r/resource_host_catalog.html.markdown @@ -1,28 +1,28 @@ --- -layout: "watchtower" -page_title: "Watchtower: host_catalog_resource" -sidebar_current: "docs-watchtower-host-catalog-resource" +layout: "boundary" +page_title: "Boundary: host_catalog_resource" +sidebar_current: "docs-boundary-host-catalog-resource" description: |- - Host catalog resource for the Watchtower Terraform provider. + Host catalog resource for the Boundary Terraform provider. --- # host_catalog_resource -The host catalog resource allows you to configure a Watchtower host catalog. Host catalogs +The host catalog resource allows you to configure a Boundary host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog. ## Example Usage ```hcl -resource "watchtower_project" "example" { +resource "boundary_project" "example" { description = "My first project!" } -resource "watchtower_host_catalog" "example" { +resource "boundary_host_catalog" "example" { name = "My catalog" description = "My first host catalog!" type = "Static" - project_id = watchtower_project.example.id + project_id = boundary_project.example.id } ``` diff --git a/website/docs/r/resource_role.html.markdown b/website/docs/r/resource_role.html.markdown index 60f11000..991ab4c7 100644 --- a/website/docs/r/resource_role.html.markdown +++ b/website/docs/r/resource_role.html.markdown @@ -1,19 +1,19 @@ --- -layout: "watchtower" -page_title: "Watchtower: role_resource" -sidebar_current: "docs-watchtower-role-resource" +layout: "boundary" +page_title: "Boundary: role_resource" +sidebar_current: "docs-boundary-role-resource" description: |- - Role resource for the Watchtower Terraform provider. + Role resource for the Boundary Terraform provider. --- # role_resource -The role resource allows you to configure a Watchtower role. +The role resource allows you to configure a Boundary role. ## Example Usage Basic usage: ```hcl -resource "watchtower_role" "example" { +resource "boundary_role" "example" { name = "My role" description = "My first role!" } @@ -22,18 +22,18 @@ resource "watchtower_role" "example" { Usage with a user resource: ```hcl -resource "watchtower_user" "foo" { +resource "boundary_user" "foo" { name = "User 1" } -resource "watchtower_user" "bar" { +resource "boundary_user" "bar" { name = "User 2" } -resource "watchtower_role" "example" { +resource "boundary_role" "example" { name = "My role" description = "My first role!" - principals = [watchtower_user.foo.id, watchtower_user.bar.id] + principals = [boundary_user.foo.id, boundary_user.bar.id] } ``` @@ -41,15 +41,15 @@ resource "watchtower_role" "example" { Usage with user and grants resource: ```hcl -resource "watchtower_user" "readonly" { +resource "boundary_user" "readonly" { name = "readonly" description = "A readonly user" } -resource "watchtower_role" "readonly" { +resource "boundary_role" "readonly" { name = "readonly" description = "A readonly role" - principals = [watchtower_user.readonly.id] + principals = [boundary_user.readonly.id] grants = ["id=*;action=read"] } ``` @@ -59,4 +59,4 @@ resource "watchtower_role" "readonly" { The following arguments are optional: * `name` - The role name. Defaults to the resource name. * `description` - The role description. -* `principals` - A list of principal (user or group) IDs to add as principals on the role. \ No newline at end of file +* `principals` - A list of principal (user or group) IDs to add as principals on the role. diff --git a/website/docs/r/resource_user.html.markdown b/website/docs/r/resource_user.html.markdown index 9ebd5e24..dd072e3d 100644 --- a/website/docs/r/resource_user.html.markdown +++ b/website/docs/r/resource_user.html.markdown @@ -1,18 +1,18 @@ --- -layout: "watchtower" -page_title: "Watchtower: user_resource" -sidebar_current: "docs-watchtower-user-resource" +layout: "boundary" +page_title: "Boundary: user_resource" +sidebar_current: "docs-boundary-user-resource" description: |- - User resource for the Watchtower Terraform provider. + User resource for the Boundary Terraform provider. --- # user_resource -The user resource allows you to configure a Watchtower user. +The user resource allows you to configure a Boundary user. ## Example Usage ```hcl -resource "watchtower_user" "example" { +resource "boundary_user" "example" { name = "My user" description = "My first user!" }