From 9812285b46c37a5088160d21bb37de8adcb467e9 Mon Sep 17 00:00:00 2001 From: ocobleseqx Date: Tue, 2 Apr 2024 15:54:17 +0200 Subject: [PATCH] make tfgen --- .pulumi-java-gen.version | 2 +- examples/go.mod | 16 +- examples/go.sum | 34 ++-- go.work.sum | 22 +- .../bridge-metadata.json | 14 +- .../cmd/pulumi-resource-equinix/schema.json | 191 ++++++++++-------- provider/go.mod | 35 ++-- provider/go.sum | 64 +++--- provider/resources.go | 21 +- sdk/go.mod | 12 +- sdk/go.sum | 24 +-- upstream | 2 +- 12 files changed, 234 insertions(+), 203 deletions(-) diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 6f060dcb..2774f858 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.9.9 \ No newline at end of file +0.10.0 \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod index 0463865f..ade9c2fc 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/equinix/pulumi-equinix/examples go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.108.1 +require github.com/pulumi/pulumi/pkg/v3 v3.112.0 require ( cloud.google.com/go v0.110.10 // indirect @@ -136,7 +136,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.108.1 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.112.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect @@ -146,7 +146,7 @@ require ( github.com/segmentio/encoding v0.3.5 // indirect github.com/sergi/go-diff v1.3.1 // indirect github.com/skeema/knownhosts v1.2.1 // indirect - github.com/spf13/cobra v1.7.0 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect @@ -162,14 +162,14 @@ require ( go.uber.org/atomic v1.11.0 // indirect gocloud.dev v0.36.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.18.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect golang.org/x/mod v0.14.0 // indirect - golang.org/x/net v0.19.0 // indirect + golang.org/x/net v0.21.0 // indirect golang.org/x/oauth2 v0.15.0 // indirect golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.4.0 // indirect golang.org/x/tools v0.16.0 // indirect @@ -180,7 +180,7 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect google.golang.org/grpc v1.61.0 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/examples/go.sum b/examples/go.sum index 1c5a3054..4dacf790 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -519,7 +519,7 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -1482,10 +1482,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/pkg/v3 v3.108.1 h1:K1UK40v5IpEPIaJ2un3WNOTBbLQaKR26HbLLh5EmMHY= -github.com/pulumi/pulumi/pkg/v3 v3.108.1/go.mod h1:48uCfxkPXUq/XTBqei9VuR0CRWObnSVlqcLkD6DhII8= -github.com/pulumi/pulumi/sdk/v3 v3.108.1 h1:5idjc3JmzToYVizRPbFyjJ5UU4AbExd04pcSP9AhPEc= -github.com/pulumi/pulumi/sdk/v3 v3.108.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= +github.com/pulumi/pulumi/pkg/v3 v3.112.0 h1:vhoM6sx1eegJntIeUZENtck3VeMtK1zBiQ2E3EPOnHw= +github.com/pulumi/pulumi/pkg/v3 v3.112.0/go.mod h1:GQhNr0v5E8TACF8j0p6UQqyr7mZreUpoMfVjLeu6eY0= +github.com/pulumi/pulumi/sdk/v3 v3.112.0 h1:cq2x5N6iuYhSLdeOdRs+LIq0EneB0Cb54WOlD/VaX3E= +github.com/pulumi/pulumi/sdk/v3 v3.112.0/go.mod h1:JWSzKBoHd8rlncC1DhXLf7YdV+Bk/Qf+hSZOOQh0WwQ= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -1564,8 +1564,8 @@ github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKv github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= @@ -1804,8 +1804,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= 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= @@ -1932,8 +1932,8 @@ golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2127,8 +2127,8 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2137,8 +2137,8 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= 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= @@ -2492,8 +2492,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/go.work.sum b/go.work.sum index d13a86e8..ec36a77c 100644 --- a/go.work.sum +++ b/go.work.sum @@ -139,7 +139,6 @@ cloud.google.com/go/spanner v1.53.0/go.mod h1:liG4iCeLqm5L3fFLU5whFITqP0e0orsAW1 cloud.google.com/go/spanner v1.55.0/go.mod h1:HXEznMUVhC+PC+HDyo9YFG2Ajj5BQDkcbqB9Z2Ffxi0= cloud.google.com/go/speech v1.17.1 h1:KIV99afoYTJqA2qi8Cjbl5DpjSRzvqFgKcptGXg6kxw= cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= -cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= cloud.google.com/go/storagetransfer v1.10.0 h1:+ZLkeXx0K0Pk5XdDmG0MnUVqIR18lllsihU/yq39I8Q= cloud.google.com/go/talent v1.6.2 h1:j46ZgD6N2YdpFPux9mc7OAf4YK3tiBCsbLKc8rQx+bU= cloud.google.com/go/texttospeech v1.7.1 h1:S/pR/GZT9p15R7Y2dk2OXD/3AufTct/NSxT4a7nxByw= @@ -211,6 +210,7 @@ github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2 h1:CxeO3Up9XLNFgHeJfgUfgSK github.com/GoogleCloudPlatform/cloudsql-proxy v1.33.14/go.mod h1:vroGijye9h4A6kMWeCtk9/zIh5ebseV/JmbKJ0VL3w8= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= +github.com/Kunde21/markdownfmt/v3 v3.1.0/go.mod h1:tPXN1RTyOzJwhfHoon9wUr4HGYmWgVxSQN6VBJDkrVc= github.com/Microsoft/hcsshim v0.9.2 h1:wB06W5aYFfUB3IvootYAY2WnOmIdgPGfqSI6tufQNnY= github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3 h1:4FA+QBaydEHlwxg0lMN3rhwoDaQy6LKhVWR4qvq4BuA= github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= @@ -226,6 +226,7 @@ github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWso github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9 h1:7kQgkwGRoLzC9K0oyXdJo7nve/bynv/KwUsxbiTlzAM= @@ -241,6 +242,7 @@ github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY github.com/apache/arrow/go/v10 v10.0.1 h1:n9dERvixoC/1JjDmBcs9FPaEryoANa2sCgVFo6ez9cI= github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= github.com/apache/arrow/go/v12 v12.0.0 h1:xtZE63VWl7qLdB0JObIXvvhGjoVNrQ9ciIHG2OK5cmc= +github.com/apache/arrow/go/v12 v12.0.1/go.mod h1:weuTY7JvTG/HDPtMQxEUp7pU73vkLWMLpY67QwZ/WWw= github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= github.com/apparentlymart/go-textseg/v12 v12.0.0 h1:bNEQyAGak9tojivJNkoqWErVCQbjdL7GzRt3F8NvfJ0= @@ -404,6 +406,7 @@ github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCg github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7 h1:LofdAjjjqCSXMwLGgOgnE+rdPuvX9DxCqaHwKy7i/ko= @@ -509,7 +512,6 @@ github.com/google/pprof v0.0.0-20230926050212-f7f687d19a98/go.mod h1:czg5+yv1E0Z github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4= github.com/google/subcommands v1.0.1 h1:/eqq+otEXm5vhfBrbREPCSVQbvofip6kIz+mX5TUH7k= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= @@ -679,6 +681,7 @@ github.com/mmcloughlin/avo v0.5.0 h1:nAco9/aI9Lg2kiuROBY6BhCI/z0t5jEvJfjWbL8qXLU github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/moby v23.0.3+incompatible h1:g+qvdrXfskgMXiq6DQMo5EdEIp8mo/9befVIddWstGI= github.com/moby/moby v23.0.3+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v25.0.4+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI= github.com/moby/sys/signal v0.6.0 h1:aDpY94H8VlhTGa9sNYUFCFsMZIUh5wm0B6XkIoJj/iY= @@ -705,6 +708,7 @@ github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96d github.com/ncw/swift v1.0.47 h1:4DQRPj35Y41WogBxyhOXlrI37nzGlyEcsforeudyYPQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= @@ -866,8 +870,10 @@ github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwY github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/yuin/goldmark v1.5.2 h1:ALmeCk/px5FSm1MAcFBAsVKZjDuMVj8Tm7FFIlMJnqU= github.com/yuin/goldmark v1.5.2/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/goldmark-emoji v1.0.1 h1:ctuWEyzGBwiucEqxzwe0SOYDXPAucOrE9NQC18Wa1os= github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGjRIBbIZQFqkQ= +github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= @@ -929,7 +935,6 @@ go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/arch v0.1.0 h1:oMxhUYsO9VsR1dcoVUjJjIGhx1LXol3989T/yZ59Xsw= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= @@ -938,11 +943,11 @@ golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhp golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210218084038-e8e29180ff58/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= @@ -952,28 +957,23 @@ gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPj gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4= google.golang.org/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY= google.golang.org/api v0.150.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg= -google.golang.org/api v0.151.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8 h1:Cpp2P6TPjujNoC5M2KHY6g7wfyLYfIWRZaSdIKfDasA= google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= -google.golang.org/genproto v0.0.0-20231120223509-83a465c0220f/go.mod h1:nWSwAFPb+qfNJXsoeO3Io7zf4tMSfN8EA8RlDA04GhY= google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3/go.mod h1:5RBcpGRxr25RbDzY5w+dmaqpSEvl8Gwl1x2CICf60ic= google.golang.org/genproto v0.0.0-20231212172506-995d672761c0/go.mod h1:l/k7rMz0vFTBPy+tFSGvXEd3z+BcoG1k7EHbqm+YBsY= google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= -google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f/go.mod h1:Uy9bTZJqmfrw2rIBxgGLnamc78euZULUBrLZ9XTITKI= google.golang.org/genproto/googleapis/api v0.0.0-20231211222908-989df2bf70f3/go.mod h1:k2dtGpRrbsSyKcNPKKI5sstZkrNCZwpU/ns96JoHbGg= google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917/go.mod h1:CmlNWB9lSezaYELKS5Ym1r44VrrbPUa7JTvw+6MbpJ0= google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc h1:g3hIDl0jRNd9PPTs2uBzYuaD5mQuwOkZY0vSc0LR32o= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231212172506-995d672761c0/go.mod h1:guYXGPwC6jwxgWKW5Y405fKWOFNwlvUlUnzyp9i0uqo= google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0/go.mod h1:FUoWkonphQm3RhTS+kOEhF8h0iDpm4tdXolVCeZ9KKA= google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917/go.mod h1:xtjpI3tXFPP051KaWnhvxkiubL/6dJ18vLVf7q2pTOU= google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo= diff --git a/provider/cmd/pulumi-resource-equinix/bridge-metadata.json b/provider/cmd/pulumi-resource-equinix/bridge-metadata.json index e2e90a8f..4a6f40e1 100644 --- a/provider/cmd/pulumi-resource-equinix/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-equinix/bridge-metadata.json @@ -12,11 +12,11 @@ "equinix:metal/gateway:Gateway": 1, "equinix:metal/interconnection:Interconnection": 1, "equinix:metal/ipAttachment:IpAttachment": 0, - "equinix:metal/organization:Organization": 0, - "equinix:metal/organizationMember:OrganizationMember": 0, + "equinix:metal/organization:Organization": 1, + "equinix:metal/organizationMember:OrganizationMember": 1, "equinix:metal/port:Port": 0, "equinix:metal/portVlanAttachment:PortVlanAttachment": 0, - "equinix:metal/project:Project": 0, + "equinix:metal/project:Project": 1, "equinix:metal/projectApiKey:ProjectApiKey": 0, "equinix:metal/projectSshKey:ProjectSshKey": 1, "equinix:metal/reservedIpBlock:ReservedIpBlock": 0, @@ -24,7 +24,7 @@ "equinix:metal/sshKey:SshKey": 1, "equinix:metal/userApiKey:UserApiKey": 0, "equinix:metal/virtualCircuit:VirtualCircuit": 0, - "equinix:metal/vlan:Vlan": 0, + "equinix:metal/vlan:Vlan": 1, "equinix:metal/vrf:Vrf": 0, "equinix:networkedge/aclTemplate:AclTemplate": 0, "equinix:networkedge/bgp:Bgp": 0, @@ -53,17 +53,17 @@ "equinix:metal/getIpBlockRanges:getIpBlockRanges": 0, "equinix:metal/getMetro:getMetro": 0, "equinix:metal/getOperatingSystem:getOperatingSystem": 0, - "equinix:metal/getOrganization:getOrganization": 0, + "equinix:metal/getOrganization:getOrganization": 1, "equinix:metal/getPlans:getPlans": 0, "equinix:metal/getPort:getPort": 0, "equinix:metal/getPrecreatedIpBlock:getPrecreatedIpBlock": 0, - "equinix:metal/getProject:getProject": 0, + "equinix:metal/getProject:getProject": 1, "equinix:metal/getProjectSshKey:getProjectSshKey": 1, "equinix:metal/getReservedIpBlock:getReservedIpBlock": 0, "equinix:metal/getSpotMarketPrice:getSpotMarketPrice": 0, "equinix:metal/getSpotMarketRequest:getSpotMarketRequest": 0, "equinix:metal/getVirtualCircuit:getVirtualCircuit": 0, - "equinix:metal/getVlan:getVlan": 0, + "equinix:metal/getVlan:getVlan": 1, "equinix:metal/getVrf:getVrf": 0, "equinix:networkedge/getAccount:getAccount": 0, "equinix:networkedge/getDevice:getDevice": 0, diff --git a/provider/cmd/pulumi-resource-equinix/schema.json b/provider/cmd/pulumi-resource-equinix/schema.json index 82050680..780684b3 100644 --- a/provider/cmd/pulumi-resource-equinix/schema.json +++ b/provider/cmd/pulumi-resource-equinix/schema.json @@ -629,11 +629,8 @@ "type": "string", "description": "Port name\n" }, - "redundancies": { - "type": "array", - "items": { - "$ref": "#/types/equinix:fabric/ConnectionASideAccessPointPortRedundancy:ConnectionASideAccessPointPortRedundancy" - }, + "redundancy": { + "$ref": "#/types/equinix:fabric/ConnectionASideAccessPointPortRedundancy:ConnectionASideAccessPointPortRedundancy", "description": "Redundancy Information\n" }, "uuid": { @@ -647,7 +644,7 @@ "requiredOutputs": [ "href", "name", - "redundancies", + "redundancy", "uuid" ] } @@ -1494,11 +1491,8 @@ "type": "string", "description": "Port name\n" }, - "redundancies": { - "type": "array", - "items": { - "$ref": "#/types/equinix:fabric/ConnectionZSideAccessPointPortRedundancy:ConnectionZSideAccessPointPortRedundancy" - }, + "redundancy": { + "$ref": "#/types/equinix:fabric/ConnectionZSideAccessPointPortRedundancy:ConnectionZSideAccessPointPortRedundancy", "description": "Redundancy Information\n" }, "uuid": { @@ -1512,7 +1506,7 @@ "requiredOutputs": [ "href", "name", - "redundancies", + "redundancy", "uuid" ] } @@ -7423,7 +7417,18 @@ "city", "country", "zipCode" - ] + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "address", + "city", + "country", + "state", + "zipCode" + ] + } + } }, "equinix:metal/ProjectBgpConfig:ProjectBgpConfig": { "properties": { @@ -8531,8 +8536,7 @@ }, "md5": { "type": "string", - "description": "Password for BGP session in plaintext (not a checksum).\n", - "secret": true + "description": "Password for BGP session in plaintext (not a checksum).\n" }, "status": { "type": "string", @@ -8544,6 +8548,7 @@ "asn", "deploymentType", "maxPrefix", + "md5", "status" ], "language": { @@ -12477,6 +12482,10 @@ "equinix:metal/interconnection:Interconnection": { "description": "Use this resource to request the creation an Interconnection asset to connect with other parties using [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/).\n\n\u003e Equinix Metal connection with with Service Token A-side / Z-side (service_token_type) is not generally available and may not be enabled yet for your organization.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst config = new pulumi.Config();\nconst projectId = config.require(\"projectId\");\nconst metro = config.get(\"metro\") || \"SV\";\nconst speedInMbps = config.getNumber(\"speedInMbps\") || 200;\nconst connection = new equinix.metal.Interconnection(\"connection\", {\n name: \"fabric-port-to-metal\",\n projectId: projectId,\n type: \"shared\",\n redundancy: \"primary\",\n metro: metro,\n speed: `${speedInMbps}Mbps`,\n serviceTokenType: \"z_side\",\n});\nexport const connectionStatus = connection.status;\nexport const connectionTokens = connection.serviceTokens;\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nconfig = pulumi.Config()\nproject_id = config.require(\"projectId\")\nmetro = config.get(\"metro\")\nif metro is None:\n metro = \"SV\"\nspeed_in_mbps = config.get_int(\"speedInMbps\")\nif speed_in_mbps is None:\n speed_in_mbps = 200\nconnection = equinix.metal.Interconnection(\"connection\",\n name=\"fabric-port-to-metal\",\n project_id=project_id,\n type=\"shared\",\n redundancy=\"primary\",\n metro=metro,\n speed=f\"{speed_in_mbps}Mbps\",\n service_token_type=\"z_side\")\npulumi.export(\"connectionStatus\", connection.status)\npulumi.export(\"connectionTokens\", connection.service_tokens)\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\tmetro := \"SV\"\n\t\tif param := cfg.Get(\"metro\"); param != \"\" {\n\t\t\tmetro = param\n\t\t}\n\t\tspeedInMbps := 200\n\t\tif param := cfg.GetInt(\"speedInMbps\"); param != 0 {\n\t\t\tspeedInMbps = param\n\t\t}\n\t\tconnection, err := metal.NewInterconnection(ctx, \"connection\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"fabric-port-to-metal\"),\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"shared\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tMetro: pulumi.String(metro),\n\t\t\tSpeed: pulumi.String(fmt.Sprintf(\"%vMbps\", speedInMbps)),\n\t\t\tServiceTokenType: pulumi.String(\"z_side\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"connectionStatus\", connection.Status)\n\t\tctx.Export(\"connectionTokens\", connection.ServiceTokens)\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var projectId = config.Require(\"projectId\");\n var metro = config.Get(\"metro\") ?? \"SV\";\n var speedInMbps = config.GetNumber(\"speedInMbps\") ?? 200;\n var connection = new Equinix.Metal.Interconnection(\"connection\", new()\n {\n Name = \"fabric-port-to-metal\",\n ProjectId = projectId,\n Type = \"shared\",\n Redundancy = \"primary\",\n Metro = metro,\n Speed = $\"{speedInMbps}Mbps\",\n ServiceTokenType = \"z_side\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"connectionStatus\"] = connection.Status,\n [\"connectionTokens\"] = connection.ServiceTokens,\n };\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.equinix.pulumi.metal.Interconnection;\nimport com.equinix.pulumi.metal.InterconnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\").get();\n final var metro = config.get(\"metro\").orElse(\"SV\");\n final var speedInMbps = Integer.parseInt(config.get(\"speedInMbps\").orElse(\"200\"));\n var connection = new Interconnection(\"connection\", InterconnectionArgs.builder() \n .name(\"fabric-port-to-metal\")\n .projectId(projectId)\n .type(\"shared\")\n .redundancy(\"primary\")\n .metro(metro)\n .speed(String.format(\"%sMbps\", speedInMbps))\n .serviceTokenType(\"z_side\")\n .build());\n\n ctx.export(\"connectionStatus\", connection.status());\n ctx.export(\"connectionTokens\", connection.serviceTokens());\n }\n}\n```\n```yaml\nconfig:\n projectId:\n type: string\n metro:\n type: string\n default: SV\n speedInMbps:\n type: integer\n default: 200\nresources:\n connection:\n type: equinix:metal:Interconnection\n properties:\n name: fabric-port-to-metal\n projectId: ${projectId}\n type: shared\n redundancy: primary\n metro: ${metro}\n speed: ${speedInMbps}Mbps\n serviceTokenType: z_side\noutputs:\n connectionStatus: ${connection.status}\n connectionTokens: ${connection.serviceTokens}\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { + "authorizationCode": { + "type": "string", + "description": "Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the\nMetal end of the network, when viewing resources from within Fabric.\n" + }, "contactEmail": { "type": "string", "description": "The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key.\n" @@ -12562,9 +12571,17 @@ "type": "integer" }, "description": "Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.\n" + }, + "vrfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant\nconnection\n" } }, "required": [ + "authorizationCode", "contactEmail", "description", "facility", @@ -12643,6 +12660,13 @@ "type": "integer" }, "description": "Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.\n" + }, + "vrfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant\nconnection\n" } }, "requiredInputs": [ @@ -12652,6 +12676,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Interconnection resources.\n", "properties": { + "authorizationCode": { + "type": "string", + "description": "Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the\nMetal end of the network, when viewing resources from within Fabric.\n" + }, "contactEmail": { "type": "string", "description": "The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key.\n" @@ -12737,6 +12765,13 @@ "type": "integer" }, "description": "Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.\n" + }, + "vrfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant\nconnection\n" } }, "type": "object" @@ -12919,10 +12954,13 @@ } }, "required": [ - "address", "created", + "description", + "logo", "name", - "updated" + "twitter", + "updated", + "website" ], "inputProperties": { "address": { @@ -12950,9 +12988,6 @@ "description": "Website link.\n" } }, - "requiredInputs": [ - "address" - ], "stateInputs": { "description": "Input properties used for looking up and filtering Organization resources.\n", "properties": { @@ -13056,34 +13091,29 @@ "inputProperties": { "invitee": { "type": "string", - "description": "The email address of the user to invite\n", - "willReplaceOnChanges": true + "description": "The email address of the user to invite\n" }, "message": { "type": "string", - "description": "A message to include in the emailed invitation.\n", - "willReplaceOnChanges": true + "description": "A message to include in the emailed invitation.\n" }, "organizationId": { "type": "string", - "description": "The organization to invite the user to\n", - "willReplaceOnChanges": true + "description": "The organization to invite the user to\n" }, "projectsIds": { "type": "array", "items": { "type": "string" }, - "description": "Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.\n", - "willReplaceOnChanges": true + "description": "Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.\n" }, "roles": { "type": "array", "items": { "type": "string" }, - "description": "Organization roles (admin, collaborator, limited_collaborator, billing)\n", - "willReplaceOnChanges": true + "description": "Organization roles (admin, collaborator, limited_collaborator, billing)\n" } }, "requiredInputs": [ @@ -13105,13 +13135,11 @@ }, "invitee": { "type": "string", - "description": "The email address of the user to invite\n", - "willReplaceOnChanges": true + "description": "The email address of the user to invite\n" }, "message": { "type": "string", - "description": "A message to include in the emailed invitation.\n", - "willReplaceOnChanges": true + "description": "A message to include in the emailed invitation.\n" }, "nonce": { "type": "string", @@ -13119,24 +13147,21 @@ }, "organizationId": { "type": "string", - "description": "The organization to invite the user to\n", - "willReplaceOnChanges": true + "description": "The organization to invite the user to\n" }, "projectsIds": { "type": "array", "items": { "type": "string" }, - "description": "Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.\n", - "willReplaceOnChanges": true + "description": "Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.\n" }, "roles": { "type": "array", "items": { "type": "string" }, - "description": "Organization roles (admin, collaborator, limited_collaborator, billing)\n", - "willReplaceOnChanges": true + "description": "Organization roles (admin, collaborator, limited_collaborator, billing)\n" }, "state": { "type": "string", @@ -13482,6 +13507,7 @@ } }, "required": [ + "backendTransfer", "created", "name", "organizationId", @@ -13503,8 +13529,7 @@ }, "organizationId": { "type": "string", - "description": "The UUID of organization under which you want to create the project. If you\nleave it out, the project will be created under your the default organization of your account.\n", - "willReplaceOnChanges": true + "description": "The UUID of organization under which you want to create the project. If you\nleave it out, the project will be created under your the default organization of your account.\n" }, "paymentMethodId": { "type": "string", @@ -13532,8 +13557,7 @@ }, "organizationId": { "type": "string", - "description": "The UUID of organization under which you want to create the project. If you\nleave it out, the project will be created under your the default organization of your account.\n", - "willReplaceOnChanges": true + "description": "The UUID of organization under which you want to create the project. If you\nleave it out, the project will be created under your the default organization of your account.\n" }, "paymentMethodId": { "type": "string", @@ -14600,14 +14624,15 @@ } }, "required": [ + "facility", + "metro", "projectId", "vxlan" ], "inputProperties": { "description": { "type": "string", - "description": "Description string.\n", - "willReplaceOnChanges": true + "description": "Description string.\n" }, "facility": { "type": "string", @@ -14621,23 +14646,19 @@ } ], "description": "Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide\n", - "deprecationMessage": "Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices", - "willReplaceOnChanges": true + "deprecationMessage": "Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices" }, "metro": { "type": "string", - "description": "Metro in which to create the VLAN\n", - "willReplaceOnChanges": true + "description": "Metro in which to create the VLAN\n" }, "projectId": { "type": "string", - "description": "ID of parent project.\n", - "willReplaceOnChanges": true + "description": "ID of parent project.\n" }, "vxlan": { "type": "integer", - "description": "VLAN ID, must be unique in metro.\n", - "willReplaceOnChanges": true + "description": "VLAN ID, must be unique in metro.\n" } }, "requiredInputs": [ @@ -14648,8 +14669,7 @@ "properties": { "description": { "type": "string", - "description": "Description string.\n", - "willReplaceOnChanges": true + "description": "Description string.\n" }, "facility": { "type": "string", @@ -14663,23 +14683,19 @@ } ], "description": "Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide\n", - "deprecationMessage": "Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices", - "willReplaceOnChanges": true + "deprecationMessage": "Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices" }, "metro": { "type": "string", - "description": "Metro in which to create the VLAN\n", - "willReplaceOnChanges": true + "description": "Metro in which to create the VLAN\n" }, "projectId": { "type": "string", - "description": "ID of parent project.\n", - "willReplaceOnChanges": true + "description": "ID of parent project.\n" }, "vxlan": { "type": "integer", - "description": "VLAN ID, must be unique in metro.\n", - "willReplaceOnChanges": true + "description": "VLAN ID, must be unique in metro.\n" } }, "type": "object" @@ -17413,7 +17429,7 @@ } }, "equinix:metal/getGateway:getGateway": { - "description": "Use this datasource to retrieve Metal Gateway resources in Equinix Metal.\n\n\u003e VRF features are not generally available. The interfaces related to VRF resources may change ahead of general availability.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\n// Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\nconst testVlan = new equinix.metal.Vlan(\"testVlan\", {\n description: \"test VLAN in SV\",\n metro: \"sv\",\n projectId: local.project_id,\n});\nconst testGateway = equinix.metal.getGateway({\n gatewayId: local.gateway_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\n# Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\ntest_vlan = equinix.metal.Vlan(\"testVlan\",\n description=\"test VLAN in SV\",\n metro=\"sv\",\n project_id=local[\"project_id\"])\ntest_gateway = equinix.metal.get_gateway(gateway_id=local[\"gateway_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\n var testVlan = new Equinix.Metal.Vlan(\"testVlan\", new()\n {\n Description = \"test VLAN in SV\",\n Metro = \"sv\",\n ProjectId = local.Project_id,\n });\n\n var testGateway = Equinix.Metal.GetGateway.Invoke(new()\n {\n GatewayId = local.Gateway_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\n\t\t_, err := metal.NewVlan(ctx, \"testVlan\", \u0026metal.VlanArgs{\n\t\t\tDescription: pulumi.String(\"test VLAN in SV\"),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.LookupGateway(ctx, \u0026metal.LookupGatewayArgs{\n\t\t\tGatewayId: local.Gateway_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Vlan;\nimport com.pulumi.equinix.metal.VlanArgs;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testVlan = new Vlan(\"testVlan\", VlanArgs.builder() \n .description(\"test VLAN in SV\")\n .metro(\"sv\")\n .projectId(local.project_id())\n .build());\n\n final var testGateway = MetalFunctions.getGateway(GetGatewayArgs.builder()\n .gatewayId(local.gateway_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\n testVlan:\n type: equinix:metal:Vlan\n properties:\n description: test VLAN in SV\n metro: sv\n projectId: ${local.project_id}\nvariables:\n testGateway:\n fn::invoke:\n Function: equinix:metal:getGateway\n Arguments:\n gatewayId: ${local.gateway_id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this datasource to retrieve Metal Gateway resources in Equinix Metal.\n\n\u003e VRF features are not generally available. The interfaces related to VRF resources may change ahead of general availability.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\n// Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\nconst testVlan = new equinix.metal.Vlan(\"testVlan\", {\n description: \"test VLAN in SV\",\n metro: \"sv\",\n projectId: local.project_id,\n});\nconst testGateway = equinix.metal.getGateway({\n gatewayId: local.gateway_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\n# Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\ntest_vlan = equinix.metal.Vlan(\"testVlan\",\n description=\"test VLAN in SV\",\n metro=\"sv\",\n project_id=local[\"project_id\"])\ntest_gateway = equinix.metal.get_gateway(gateway_id=local[\"gateway_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\n var testVlan = new Equinix.Metal.Vlan(\"testVlan\", new()\n {\n Description = \"test VLAN in SV\",\n Metro = \"sv\",\n ProjectId = local.Project_id,\n });\n\n var testGateway = Equinix.Metal.GetGateway.Invoke(new()\n {\n GatewayId = local.Gateway_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\n\t\t_, err := metal.NewVlan(ctx, \"testVlan\", \u0026metal.VlanArgs{\n\t\t\tDescription: pulumi.String(\"test VLAN in SV\"),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.LookupGateway(ctx, \u0026metal.LookupGatewayArgs{\n\t\t\tGatewayId: local.Gateway_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Vlan;\nimport com.pulumi.equinix.metal.VlanArgs;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\n var testVlan = new Vlan(\"testVlan\", VlanArgs.builder() \n .description(\"test VLAN in SV\")\n .metro(\"sv\")\n .projectId(local.project_id())\n .build());\n\n final var testGateway = MetalFunctions.getGateway(GetGatewayArgs.builder()\n .gatewayId(local.gateway_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses\n testVlan:\n type: equinix:metal:Vlan\n properties:\n description: test VLAN in SV\n metro: sv\n projectId: ${local.project_id}\nvariables:\n testGateway:\n fn::invoke:\n Function: equinix:metal:getGateway\n Arguments:\n gatewayId: ${local.gateway_id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGateway.\n", "properties": { @@ -17563,6 +17579,9 @@ "outputs": { "description": "A collection of values returned by getInterconnection.\n", "properties": { + "authorizationCode": { + "type": "string" + }, "connectionId": { "type": "string" }, @@ -17655,10 +17674,17 @@ "type": "integer" }, "description": "Attached VLANs. Only available in shared connection. One vlan for Primary/Single connection and two vlans for Redundant connection.\n" + }, + "vrfs": { + "type": "array", + "items": { + "type": "string" + } } }, "type": "object", "required": [ + "authorizationCode", "connectionId", "contactEmail", "description", @@ -17678,7 +17704,8 @@ "tags", "token", "type", - "vlans" + "vlans", + "vrfs" ] } }, @@ -17820,7 +17847,7 @@ } }, "equinix:metal/getOperatingSystem:getOperatingSystem": { - "description": "Use this data source to get Equinix Metal Operating System image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst example = equinix.metal.getOperatingSystem({\n distro: \"ubuntu\",\n version: \"20.04\",\n provisionableOn: \"c3.medium.x86\",\n});\nconst server = new equinix.metal.Device(\"server\", {\n hostname: \"tf.ubuntu\",\n plan: \"c3.medium.x86\",\n metro: \"ny\",\n operatingSystem: example.then(example =\u003e example.id).apply((x) =\u003e equinix.metal.operatingsystem.OperatingSystem[x]),\n billingCycle: \"hourly\",\n projectId: local.project_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.get_operating_system(distro=\"ubuntu\",\n version=\"20.04\",\n provisionable_on=\"c3.medium.x86\")\nserver = equinix.metal.Device(\"server\",\n hostname=\"tf.ubuntu\",\n plan=\"c3.medium.x86\",\n metro=\"ny\",\n operating_system=example.id.apply(lambda x: equinix.metal/operatingsystem.OperatingSystem(x)),\n billing_cycle=\"hourly\",\n project_id=local[\"project_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Equinix.Metal.GetOperatingSystem.Invoke(new()\n {\n Distro = \"ubuntu\",\n Version = \"20.04\",\n ProvisionableOn = \"c3.medium.x86\",\n });\n\n var server = new Equinix.Metal.Device(\"server\", new()\n {\n Hostname = \"tf.ubuntu\",\n Plan = \"c3.medium.x86\",\n Metro = \"ny\",\n OperatingSystem = example.Apply(getOperatingSystemResult =\u003e getOperatingSystemResult.Id).Apply(System.Enum.Parse\u003cEquinix.Metal.OperatingSystem.OperatingSystem\u003e),\n BillingCycle = \"hourly\",\n ProjectId = local.Project_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.GetOperatingSystem(ctx, \u0026metal.GetOperatingSystemArgs{\n\t\t\tDistro: pulumi.StringRef(\"ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"20.04\"),\n\t\t\tProvisionableOn: pulumi.StringRef(\"c3.medium.x86\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewDevice(ctx, \"server\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.ubuntu\"),\n\t\t\tPlan: pulumi.String(\"c3.medium.x86\"),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tOperatingSystem: example.Id.ApplyT(func(x *string) metal.OperatingSystem { return metal.OperatingSystem(*x) }).(metal.OperatingSystemOutput),\n\t\t\tBillingCycle: pulumi.String(\"hourly\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetOperatingSystemArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MetalFunctions.getOperatingSystem(GetOperatingSystemArgs.builder()\n .distro(\"ubuntu\")\n .version(\"20.04\")\n .provisionableOn(\"c3.medium.x86\")\n .build());\n\n var server = new Device(\"server\", DeviceArgs.builder() \n .hostname(\"tf.ubuntu\")\n .plan(\"c3.medium.x86\")\n .metro(\"ny\")\n .operatingSystem(example.applyValue(getOperatingSystemResult -\u003e getOperatingSystemResult.id()))\n .billingCycle(\"hourly\")\n .projectId(local.project_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n server:\n type: equinix:metal:Device\n properties:\n hostname: tf.ubuntu\n plan: c3.medium.x86\n metro: ny\n operatingSystem: ${example.id}\n billingCycle: hourly\n projectId: ${local.project_id}\nvariables:\n example:\n fn::invoke:\n Function: equinix:metal:getOperatingSystem\n Arguments:\n distro: ubuntu\n version: '20.04'\n provisionableOn: c3.medium.x86\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get Equinix Metal Operating System image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst example = equinix.metal.getOperatingSystem({\n distro: \"ubuntu\",\n version: \"20.04\",\n provisionableOn: \"c3.medium.x86\",\n});\nconst server = new equinix.metal.Device(\"server\", {\n hostname: \"tf.ubuntu\",\n plan: equinix.metal.Plan.C3MediumX86,\n metro: \"ny\",\n operatingSystem: example.then(example =\u003e example.id).apply((x) =\u003e equinix.metal.OperatingSystem[x]),\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: local.project_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.get_operating_system(distro=\"ubuntu\",\n version=\"20.04\",\n provisionable_on=\"c3.medium.x86\")\nserver = equinix.metal.Device(\"server\",\n hostname=\"tf.ubuntu\",\n plan=equinix.metal.Plan.C3_MEDIUM_X86,\n metro=\"ny\",\n operating_system=example.id.apply(lambda x: equinix.metal.OperatingSystem(x)),\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=local[\"project_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Equinix.Metal.GetOperatingSystem.Invoke(new()\n {\n Distro = \"ubuntu\",\n Version = \"20.04\",\n ProvisionableOn = \"c3.medium.x86\",\n });\n\n var server = new Equinix.Metal.Device(\"server\", new()\n {\n Hostname = \"tf.ubuntu\",\n Plan = Equinix.Metal.Plan.C3MediumX86,\n Metro = \"ny\",\n OperatingSystem = example.Apply(getOperatingSystemResult =\u003e getOperatingSystemResult.Id).Apply(System.Enum.Parse\u003cEquinix.Metal.OperatingSystem\u003e),\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = local.Project_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.GetOperatingSystem(ctx, \u0026metal.GetOperatingSystemArgs{\n\t\t\tDistro: pulumi.StringRef(\"ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"20.04\"),\n\t\t\tProvisionableOn: pulumi.StringRef(\"c3.medium.x86\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewDevice(ctx, \"server\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.ubuntu\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3MediumX86),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tOperatingSystem: example.Id.ApplyT(func(x *string) metal.OperatingSystem { return metal.OperatingSystem(*x) }).(metal.OperatingSystemOutput),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetOperatingSystemArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MetalFunctions.getOperatingSystem(GetOperatingSystemArgs.builder()\n .distro(\"ubuntu\")\n .version(\"20.04\")\n .provisionableOn(\"c3.medium.x86\")\n .build());\n\n var server = new Device(\"server\", DeviceArgs.builder() \n .hostname(\"tf.ubuntu\")\n .plan(\"c3.medium.x86\")\n .metro(\"ny\")\n .operatingSystem(example.applyValue(getOperatingSystemResult -\u003e getOperatingSystemResult.id()))\n .billingCycle(\"hourly\")\n .projectId(local.project_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n server:\n type: equinix:metal:Device\n properties:\n hostname: tf.ubuntu\n plan: c3.medium.x86\n metro: ny\n operatingSystem: ${example.id}\n billingCycle: hourly\n projectId: ${local.project_id}\nvariables:\n example:\n fn::invoke:\n Function: equinix:metal:getOperatingSystem\n Arguments:\n distro: ubuntu\n version: '20.04'\n provisionableOn: c3.medium.x86\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOperatingSystem.\n", "properties": { @@ -17879,6 +17906,10 @@ "inputs": { "description": "A collection of arguments for invoking getOrganization.\n", "properties": { + "description": { + "type": "string", + "description": "Description string.\n" + }, "name": { "type": "string", "description": "The organization name.\n" @@ -17902,8 +17933,7 @@ "description": "Description string.\n" }, "id": { - "type": "string", - "description": "The provider-assigned unique ID for this managed resource.\n" + "type": "string" }, "logo": { "type": "string", @@ -17934,19 +17964,18 @@ "type": "object", "required": [ "address", - "description", + "id", "logo", "name", "organizationId", "projectIds", "twitter", - "website", - "id" + "website" ] } }, "equinix:metal/getPlans:getPlans": { - "description": "Provides an Equinix Metal plans datasource. This can be used to find plans that meet a filter criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst example = equinix.metal.getPlans({\n sorts: [{\n attribute: \"pricing_hour\",\n direction: \"asc\",\n }],\n filters: [\n {\n attribute: \"pricing_hour\",\n values: [\"2.5\"],\n matchBy: \"less_than\",\n },\n {\n attribute: \"available_in_metros\",\n values: [\n \"da\",\n \"sv\",\n ],\n },\n ],\n});\nexport const plans = example.then(example =\u003e example.plans);\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.get_plans(sorts=[equinix.metal.GetPlansSortArgs(\n attribute=\"pricing_hour\",\n direction=\"asc\",\n )],\n filters=[\n equinix.metal.GetPlansFilterArgs(\n attribute=\"pricing_hour\",\n values=[\"2.5\"],\n match_by=\"less_than\",\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"available_in_metros\",\n values=[\n \"da\",\n \"sv\",\n ],\n ),\n ])\npulumi.export(\"plans\", example.plans)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Equinix.Metal.GetPlans.Invoke(new()\n {\n Sorts = new[]\n {\n new Equinix.Metal.Inputs.GetPlansSortInputArgs\n {\n Attribute = \"pricing_hour\",\n Direction = \"asc\",\n },\n },\n Filters = new[]\n {\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"pricing_hour\",\n Values = new[]\n {\n \"2.5\",\n },\n MatchBy = \"less_than\",\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"available_in_metros\",\n Values = new[]\n {\n \"da\",\n \"sv\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"plans\"] = example.Apply(getPlansResult =\u003e getPlansResult.Plans),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.GetPlans(ctx, \u0026metal.GetPlansArgs{\n\t\t\tSorts: []metal.GetPlansSort{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"pricing_hour\",\n\t\t\t\t\tDirection: pulumi.StringRef(\"asc\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFilters: []metal.GetPlansFilter{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"pricing_hour\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"2.5\",\n\t\t\t\t\t},\n\t\t\t\t\tMatchBy: pulumi.StringRef(\"less_than\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"available_in_metros\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"da\",\n\t\t\t\t\t\t\"sv\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"plans\", example.Plans)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MetalFunctions.getPlans(GetPlansArgs.builder()\n .sorts(GetPlansSortArgs.builder()\n .attribute(\"pricing_hour\")\n .direction(\"asc\")\n .build())\n .filters( \n GetPlansFilterArgs.builder()\n .attribute(\"pricing_hour\")\n .values(2.5)\n .matchBy(\"less_than\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"available_in_metros\")\n .values( \n \"da\",\n \"sv\")\n .build())\n .build());\n\n ctx.export(\"plans\", example.applyValue(getPlansResult -\u003e getPlansResult.plans()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments:\n sorts:\n - attribute: pricing_hour\n direction: asc\n filters:\n - attribute: pricing_hour\n values:\n - 2.5\n matchBy: less_than\n - attribute: available_in_metros\n values:\n - da\n - sv\noutputs:\n plans: ${example.plans}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst example = equinix.metal.getPlans({\n filters: [\n {\n attribute: \"class\",\n values: [\"large\"],\n matchBy: \"substring\",\n },\n {\n attribute: \"deployment_types\",\n values: [\"spot_market\"],\n },\n {\n attribute: \"available_in_metros\",\n values: [\n \"da\",\n \"sv\",\n ],\n all: true,\n },\n ],\n});\nexport const plans = example.then(example =\u003e example.plans);\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.get_plans(filters=[\n equinix.metal.GetPlansFilterArgs(\n attribute=\"class\",\n values=[\"large\"],\n match_by=\"substring\",\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"deployment_types\",\n values=[\"spot_market\"],\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"available_in_metros\",\n values=[\n \"da\",\n \"sv\",\n ],\n all=True,\n ),\n])\npulumi.export(\"plans\", example.plans)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Equinix.Metal.GetPlans.Invoke(new()\n {\n Filters = new[]\n {\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"class\",\n Values = new[]\n {\n \"large\",\n },\n MatchBy = \"substring\",\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"deployment_types\",\n Values = new[]\n {\n \"spot_market\",\n },\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"available_in_metros\",\n Values = new[]\n {\n \"da\",\n \"sv\",\n },\n All = true,\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"plans\"] = example.Apply(getPlansResult =\u003e getPlansResult.Plans),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.GetPlans(ctx, \u0026metal.GetPlansArgs{\n\t\t\tFilters: pulumi.Array{\n\t\t\t\tmetal.GetPlansFilter{\n\t\t\t\t\tAttribute: \"class\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"large\",\n\t\t\t\t\t},\n\t\t\t\t\tMatchBy: pulumi.StringRef(\"substring\"),\n\t\t\t\t},\n\t\t\t\tmetal.GetPlansFilter{\n\t\t\t\t\tAttribute: \"deployment_types\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"spot_market\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmetal.GetPlansFilter{\n\t\t\t\t\tAttribute: \"available_in_metros\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"da\",\n\t\t\t\t\t\t\"sv\",\n\t\t\t\t\t},\n\t\t\t\t\tAll: pulumi.BoolRef(true),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"plans\", example.Plans)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MetalFunctions.getPlans(GetPlansArgs.builder()\n .filters( \n GetPlansFilterArgs.builder()\n .attribute(\"class\")\n .values(\"large\")\n .matchBy(\"substring\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"deployment_types\")\n .values(\"spot_market\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"available_in_metros\")\n .values( \n \"da\",\n \"sv\")\n .all(true)\n .build())\n .build());\n\n ctx.export(\"plans\", example.applyValue(getPlansResult -\u003e getPlansResult.plans()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments:\n filters:\n - attribute: class\n values:\n - large\n matchBy: substring\n - attribute: deployment_types\n values:\n - spot_market\n - attribute: available_in_metros\n values:\n - da\n - sv\n all: true\noutputs:\n plans: ${example.plans}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Plans/Metro\n\nPreserve deployed device plan, facility and metro when creating a new execution plan.\n\nAs described in the `data-resource-behavior` feature as shown in the example below.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst examplePlans = equinix.metal.getPlans({\n sorts: [{\n attribute: \"pricing_hour\",\n direction: \"asc\",\n }],\n filters: [\n {\n attribute: \"name\",\n values: [\n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\",\n ],\n },\n {\n attribute: \"available_in_metros\",\n values: [\"sv\"],\n },\n ],\n});\n// This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n// It will ignore future changes on plan and metro\nconst exampleDevice = new equinix.metal.Device(\"exampleDevice\", {\n hostname: \"example\",\n plan: examplePlans.then(examplePlans =\u003e examplePlans.plans?.[0]?.name).apply((x) =\u003e equinix.metal.plan.Plan[x]),\n metro: examplePlans.then(examplePlans =\u003e examplePlans.plans?.[0]?.availableInMetros?.[0]),\n operatingSystem: \"ubuntu_20_04\",\n billingCycle: \"hourly\",\n projectId: _var.project_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample_plans = equinix.metal.get_plans(sorts=[equinix.metal.GetPlansSortArgs(\n attribute=\"pricing_hour\",\n direction=\"asc\",\n )],\n filters=[\n equinix.metal.GetPlansFilterArgs(\n attribute=\"name\",\n values=[\n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\",\n ],\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"available_in_metros\",\n values=[\"sv\"],\n ),\n ])\n# This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n# It will ignore future changes on plan and metro\nexample_device = equinix.metal.Device(\"exampleDevice\",\n hostname=\"example\",\n plan=example_plans.plans[0].name.apply(lambda x: equinix.metal/plan.Plan(x)),\n metro=example_plans.plans[0].available_in_metros[0],\n operating_system=\"ubuntu_20_04\",\n billing_cycle=\"hourly\",\n project_id=var[\"project_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePlans = Equinix.Metal.GetPlans.Invoke(new()\n {\n Sorts = new[]\n {\n new Equinix.Metal.Inputs.GetPlansSortInputArgs\n {\n Attribute = \"pricing_hour\",\n Direction = \"asc\",\n },\n },\n Filters = new[]\n {\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"name\",\n Values = new[]\n {\n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\",\n },\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"available_in_metros\",\n Values = new[]\n {\n \"sv\",\n },\n },\n },\n });\n\n // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n // It will ignore future changes on plan and metro\n var exampleDevice = new Equinix.Metal.Device(\"exampleDevice\", new()\n {\n Hostname = \"example\",\n Plan = examplePlans.Apply(getPlansResult =\u003e getPlansResult.Plans[0]?.Name).Apply(System.Enum.Parse\u003cEquinix.Metal.Plan.Plan\u003e),\n Metro = examplePlans.Apply(getPlansResult =\u003e getPlansResult.Plans[0]?.AvailableInMetros[0]),\n OperatingSystem = \"ubuntu_20_04\",\n BillingCycle = \"hourly\",\n ProjectId = @var.Project_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePlans, err := metal.GetPlans(ctx, \u0026metal.GetPlansArgs{\n\t\t\tSorts: []metal.GetPlansSort{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"pricing_hour\",\n\t\t\t\t\tDirection: pulumi.StringRef(\"asc\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFilters: []metal.GetPlansFilter{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"c3.small.x86\",\n\t\t\t\t\t\t\"c3.medium.x86\",\n\t\t\t\t\t\t\"m3.large.x86\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"available_in_metros\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"sv\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n\t\t// It will ignore future changes on plan and metro\n\t\t_, err = metal.NewDevice(ctx, \"exampleDevice\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"example\"),\n\t\t\tPlan: examplePlans.Plans[0].Name.ApplyT(func(x *string) metal.Plan { return metal.Plan(*x) }).(metal.PlanOutput),\n\t\t\tMetro: *pulumi.String(examplePlans.Plans[0].AvailableInMetros[0]),\n\t\t\tOperatingSystem: pulumi.String(\"ubuntu_20_04\"),\n\t\t\tBillingCycle: pulumi.String(\"hourly\"),\n\t\t\tProjectId: pulumi.Any(_var.Project_id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplePlans = MetalFunctions.getPlans(GetPlansArgs.builder()\n .sorts(GetPlansSortArgs.builder()\n .attribute(\"pricing_hour\")\n .direction(\"asc\")\n .build())\n .filters( \n GetPlansFilterArgs.builder()\n .attribute(\"name\")\n .values( \n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"available_in_metros\")\n .values(\"sv\")\n .build())\n .build());\n\n var exampleDevice = new Device(\"exampleDevice\", DeviceArgs.builder() \n .hostname(\"example\")\n .plan(examplePlans.applyValue(getPlansResult -\u003e getPlansResult.plans()[0].name()))\n .metro(examplePlans.applyValue(getPlansResult -\u003e getPlansResult.plans()[0].availableInMetros()[0]))\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(var_.project_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n # It will ignore future changes on plan and metro\n exampleDevice:\n type: equinix:metal:Device\n properties:\n hostname: example\n plan: ${examplePlans.plans[0].name}\n metro: ${examplePlans.plans[0].availableInMetros[0]}\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${var.project_id}\nvariables:\n examplePlans:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments:\n sorts:\n - attribute: pricing_hour\n direction: asc\n filters:\n - attribute: name\n values:\n - c3.small.x86\n - c3.medium.x86\n - m3.large.x86\n - attribute: available_in_metros\n values:\n - sv\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf your use case requires dynamic changes of a device plan or metro you can define the lifecycle with a condition.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst config = new pulumi.Config();\nconst ignorePlansMetrosChanges = config.getBoolean(\"ignorePlansMetrosChanges\") || false;\nconst examplePlans = equinix.metal.getPlans({});\n// required device arguments\nconst exampleDevice = new equinix.metal.Device(\"exampleDevice\", {});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nconfig = pulumi.Config()\nignore_plans_metros_changes = config.get_bool(\"ignorePlansMetrosChanges\")\nif ignore_plans_metros_changes is None:\n ignore_plans_metros_changes = False\nexample_plans = equinix.metal.get_plans()\n# required device arguments\nexample_device = equinix.metal.Device(\"exampleDevice\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var ignorePlansMetrosChanges = config.GetBoolean(\"ignorePlansMetrosChanges\") ?? false;\n var examplePlans = Equinix.Metal.GetPlans.Invoke();\n\n // required device arguments\n var exampleDevice = new Equinix.Metal.Device(\"exampleDevice\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tignorePlansMetrosChanges := false\n\t\tif param := cfg.GetBool(\"ignorePlansMetrosChanges\"); param {\n\t\t\tignorePlansMetrosChanges = param\n\t\t}\n\t\t_, err := metal.GetPlans(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// required device arguments\n\t\t_, err = metal.NewDevice(ctx, \"exampleDevice\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport com.pulumi.equinix.metal.Device;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var ignorePlansMetrosChanges = config.get(\"ignorePlansMetrosChanges\").orElse(false);\n final var examplePlans = MetalFunctions.getPlans();\n\n var exampleDevice = new Device(\"exampleDevice\");\n\n }\n}\n```\n```yaml\nconfiguration:\n # Following example uses a boolean variable that may eventually be set to you false when you update your equinix_metal_plans filter criteria because you need a device plan with a new feature.\n ignorePlansMetrosChanges:\n type: bool\n default: false\nresources:\n exampleDevice:\n type: equinix:metal:Device\nvariables:\n examplePlans:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Equinix Metal plans datasource. This can be used to find plans that meet a filter criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst example = equinix.metal.getPlans({\n sorts: [{\n attribute: \"pricing_hour\",\n direction: \"asc\",\n }],\n filters: [\n {\n attribute: \"pricing_hour\",\n values: [\"2.5\"],\n matchBy: \"less_than\",\n },\n {\n attribute: \"available_in_metros\",\n values: [\n \"da\",\n \"sv\",\n ],\n },\n ],\n});\nexport const plans = example.then(example =\u003e example.plans);\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.get_plans(sorts=[equinix.metal.GetPlansSortArgs(\n attribute=\"pricing_hour\",\n direction=\"asc\",\n )],\n filters=[\n equinix.metal.GetPlansFilterArgs(\n attribute=\"pricing_hour\",\n values=[\"2.5\"],\n match_by=\"less_than\",\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"available_in_metros\",\n values=[\n \"da\",\n \"sv\",\n ],\n ),\n ])\npulumi.export(\"plans\", example.plans)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Equinix.Metal.GetPlans.Invoke(new()\n {\n Sorts = new[]\n {\n new Equinix.Metal.Inputs.GetPlansSortInputArgs\n {\n Attribute = \"pricing_hour\",\n Direction = \"asc\",\n },\n },\n Filters = new[]\n {\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"pricing_hour\",\n Values = new[]\n {\n \"2.5\",\n },\n MatchBy = \"less_than\",\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"available_in_metros\",\n Values = new[]\n {\n \"da\",\n \"sv\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"plans\"] = example.Apply(getPlansResult =\u003e getPlansResult.Plans),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.GetPlans(ctx, \u0026metal.GetPlansArgs{\n\t\t\tSorts: []metal.GetPlansSort{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"pricing_hour\",\n\t\t\t\t\tDirection: pulumi.StringRef(\"asc\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFilters: []metal.GetPlansFilter{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"pricing_hour\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"2.5\",\n\t\t\t\t\t},\n\t\t\t\t\tMatchBy: pulumi.StringRef(\"less_than\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"available_in_metros\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"da\",\n\t\t\t\t\t\t\"sv\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"plans\", example.Plans)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MetalFunctions.getPlans(GetPlansArgs.builder()\n .sorts(GetPlansSortArgs.builder()\n .attribute(\"pricing_hour\")\n .direction(\"asc\")\n .build())\n .filters( \n GetPlansFilterArgs.builder()\n .attribute(\"pricing_hour\")\n .values(2.5)\n .matchBy(\"less_than\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"available_in_metros\")\n .values( \n \"da\",\n \"sv\")\n .build())\n .build());\n\n ctx.export(\"plans\", example.applyValue(getPlansResult -\u003e getPlansResult.plans()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments:\n sorts:\n - attribute: pricing_hour\n direction: asc\n filters:\n - attribute: pricing_hour\n values:\n - 2.5\n matchBy: less_than\n - attribute: available_in_metros\n values:\n - da\n - sv\noutputs:\n plans: ${example.plans}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst example = equinix.metal.getPlans({\n filters: [\n {\n attribute: \"class\",\n values: [\"large\"],\n matchBy: \"substring\",\n },\n {\n attribute: \"deployment_types\",\n values: [\"spot_market\"],\n },\n {\n attribute: \"available_in_metros\",\n values: [\n \"da\",\n \"sv\",\n ],\n all: true,\n },\n ],\n});\nexport const plans = example.then(example =\u003e example.plans);\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.get_plans(filters=[\n equinix.metal.GetPlansFilterArgs(\n attribute=\"class\",\n values=[\"large\"],\n match_by=\"substring\",\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"deployment_types\",\n values=[\"spot_market\"],\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"available_in_metros\",\n values=[\n \"da\",\n \"sv\",\n ],\n all=True,\n ),\n])\npulumi.export(\"plans\", example.plans)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Equinix.Metal.GetPlans.Invoke(new()\n {\n Filters = new[]\n {\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"class\",\n Values = new[]\n {\n \"large\",\n },\n MatchBy = \"substring\",\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"deployment_types\",\n Values = new[]\n {\n \"spot_market\",\n },\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"available_in_metros\",\n Values = new[]\n {\n \"da\",\n \"sv\",\n },\n All = true,\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"plans\"] = example.Apply(getPlansResult =\u003e getPlansResult.Plans),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.GetPlans(ctx, \u0026metal.GetPlansArgs{\n\t\t\tFilters: pulumi.Array{\n\t\t\t\tmetal.GetPlansFilter{\n\t\t\t\t\tAttribute: \"class\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"large\",\n\t\t\t\t\t},\n\t\t\t\t\tMatchBy: pulumi.StringRef(\"substring\"),\n\t\t\t\t},\n\t\t\t\tmetal.GetPlansFilter{\n\t\t\t\t\tAttribute: \"deployment_types\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"spot_market\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmetal.GetPlansFilter{\n\t\t\t\t\tAttribute: \"available_in_metros\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"da\",\n\t\t\t\t\t\t\"sv\",\n\t\t\t\t\t},\n\t\t\t\t\tAll: pulumi.BoolRef(true),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"plans\", example.Plans)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = MetalFunctions.getPlans(GetPlansArgs.builder()\n .filters( \n GetPlansFilterArgs.builder()\n .attribute(\"class\")\n .values(\"large\")\n .matchBy(\"substring\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"deployment_types\")\n .values(\"spot_market\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"available_in_metros\")\n .values( \n \"da\",\n \"sv\")\n .all(true)\n .build())\n .build());\n\n ctx.export(\"plans\", example.applyValue(getPlansResult -\u003e getPlansResult.plans()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments:\n filters:\n - attribute: class\n values:\n - large\n matchBy: substring\n - attribute: deployment_types\n values:\n - spot_market\n - attribute: available_in_metros\n values:\n - da\n - sv\n all: true\noutputs:\n plans: ${example.plans}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Plans/Metro\n\nPreserve deployed device plan, facility and metro when creating a new execution plan.\n\nAs described in the `data-resource-behavior` feature as shown in the example below.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst examplePlans = equinix.metal.getPlans({\n sorts: [{\n attribute: \"pricing_hour\",\n direction: \"asc\",\n }],\n filters: [\n {\n attribute: \"name\",\n values: [\n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\",\n ],\n },\n {\n attribute: \"available_in_metros\",\n values: [\"sv\"],\n },\n ],\n});\n// This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n// It will ignore future changes on plan and metro\nconst exampleDevice = new equinix.metal.Device(\"exampleDevice\", {\n hostname: \"example\",\n plan: examplePlans.then(examplePlans =\u003e examplePlans.plans?.[0]?.name).apply((x) =\u003e equinix.metal.Plan[x]),\n metro: examplePlans.then(examplePlans =\u003e examplePlans.plans?.[0]?.availableInMetros?.[0]),\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: _var.project_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample_plans = equinix.metal.get_plans(sorts=[equinix.metal.GetPlansSortArgs(\n attribute=\"pricing_hour\",\n direction=\"asc\",\n )],\n filters=[\n equinix.metal.GetPlansFilterArgs(\n attribute=\"name\",\n values=[\n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\",\n ],\n ),\n equinix.metal.GetPlansFilterArgs(\n attribute=\"available_in_metros\",\n values=[\"sv\"],\n ),\n ])\n# This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n# It will ignore future changes on plan and metro\nexample_device = equinix.metal.Device(\"exampleDevice\",\n hostname=\"example\",\n plan=example_plans.plans[0].name.apply(lambda x: equinix.metal.Plan(x)),\n metro=example_plans.plans[0].available_in_metros[0],\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=var[\"project_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePlans = Equinix.Metal.GetPlans.Invoke(new()\n {\n Sorts = new[]\n {\n new Equinix.Metal.Inputs.GetPlansSortInputArgs\n {\n Attribute = \"pricing_hour\",\n Direction = \"asc\",\n },\n },\n Filters = new[]\n {\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"name\",\n Values = new[]\n {\n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\",\n },\n },\n new Equinix.Metal.Inputs.GetPlansFilterInputArgs\n {\n Attribute = \"available_in_metros\",\n Values = new[]\n {\n \"sv\",\n },\n },\n },\n });\n\n // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n // It will ignore future changes on plan and metro\n var exampleDevice = new Equinix.Metal.Device(\"exampleDevice\", new()\n {\n Hostname = \"example\",\n Plan = examplePlans.Apply(getPlansResult =\u003e getPlansResult.Plans[0]?.Name).Apply(System.Enum.Parse\u003cEquinix.Metal.Plan\u003e),\n Metro = examplePlans.Apply(getPlansResult =\u003e getPlansResult.Plans[0]?.AvailableInMetros[0]),\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = @var.Project_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePlans, err := metal.GetPlans(ctx, \u0026metal.GetPlansArgs{\n\t\t\tSorts: []metal.GetPlansSort{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"pricing_hour\",\n\t\t\t\t\tDirection: pulumi.StringRef(\"asc\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFilters: []metal.GetPlansFilter{\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"c3.small.x86\",\n\t\t\t\t\t\t\"c3.medium.x86\",\n\t\t\t\t\t\t\"m3.large.x86\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tAttribute: \"available_in_metros\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"sv\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n\t\t// It will ignore future changes on plan and metro\n\t\t_, err = metal.NewDevice(ctx, \"exampleDevice\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"example\"),\n\t\t\tPlan: examplePlans.Plans[0].Name.ApplyT(func(x *string) metal.Plan { return metal.Plan(*x) }).(metal.PlanOutput),\n\t\t\tMetro: pulumi.String(examplePlans.Plans[0].AvailableInMetros[0]),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(_var.Project_id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplePlans = MetalFunctions.getPlans(GetPlansArgs.builder()\n .sorts(GetPlansSortArgs.builder()\n .attribute(\"pricing_hour\")\n .direction(\"asc\")\n .build())\n .filters( \n GetPlansFilterArgs.builder()\n .attribute(\"name\")\n .values( \n \"c3.small.x86\",\n \"c3.medium.x86\",\n \"m3.large.x86\")\n .build(),\n GetPlansFilterArgs.builder()\n .attribute(\"available_in_metros\")\n .values(\"sv\")\n .build())\n .build());\n\n // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n // It will ignore future changes on plan and metro\n var exampleDevice = new Device(\"exampleDevice\", DeviceArgs.builder() \n .hostname(\"example\")\n .plan(examplePlans.applyValue(getPlansResult -\u003e getPlansResult.plans()[0].name()))\n .metro(examplePlans.applyValue(getPlansResult -\u003e getPlansResult.plans()[0].availableInMetros()[0]))\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(var_.project_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This equinix_metal_device will use the first returned plan and the first metro in which that plan is available\n # It will ignore future changes on plan and metro\n exampleDevice:\n type: equinix:metal:Device\n properties:\n hostname: example\n plan: ${examplePlans.plans[0].name}\n metro: ${examplePlans.plans[0].availableInMetros[0]}\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${var.project_id}\nvariables:\n examplePlans:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments:\n sorts:\n - attribute: pricing_hour\n direction: asc\n filters:\n - attribute: name\n values:\n - c3.small.x86\n - c3.medium.x86\n - m3.large.x86\n - attribute: available_in_metros\n values:\n - sv\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf your use case requires dynamic changes of a device plan or metro you can define the lifecycle with a condition.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst config = new pulumi.Config();\nconst ignorePlansMetrosChanges = config.getBoolean(\"ignorePlansMetrosChanges\") || false;\nconst examplePlans = equinix.metal.getPlans({});\n// required device arguments\nconst exampleDevice = new equinix.metal.Device(\"exampleDevice\", {});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nconfig = pulumi.Config()\nignore_plans_metros_changes = config.get_bool(\"ignorePlansMetrosChanges\")\nif ignore_plans_metros_changes is None:\n ignore_plans_metros_changes = False\nexample_plans = equinix.metal.get_plans()\n# required device arguments\nexample_device = equinix.metal.Device(\"exampleDevice\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var ignorePlansMetrosChanges = config.GetBoolean(\"ignorePlansMetrosChanges\") ?? false;\n var examplePlans = Equinix.Metal.GetPlans.Invoke();\n\n // required device arguments\n var exampleDevice = new Equinix.Metal.Device(\"exampleDevice\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tignorePlansMetrosChanges := false\n\t\tif param := cfg.GetBool(\"ignorePlansMetrosChanges\"); param {\n\t\t\tignorePlansMetrosChanges = param\n\t\t}\n\t\t_, err := metal.GetPlans(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// required device arguments\n\t\t_, err = metal.NewDevice(ctx, \"exampleDevice\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPlansArgs;\nimport com.pulumi.equinix.metal.Device;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var ignorePlansMetrosChanges = config.get(\"ignorePlansMetrosChanges\").orElse(false);\n final var examplePlans = MetalFunctions.getPlans();\n\n // required device arguments\n var exampleDevice = new Device(\"exampleDevice\");\n\n }\n}\n```\n```yaml\nconfiguration:\n # Following example uses a boolean variable that may eventually be set to you false when you update your equinix_metal_plans filter criteria because you need a device plan with a new feature.\n ignorePlansMetrosChanges:\n type: bool\n default: false\nresources:\n exampleDevice:\n type: equinix:metal:Device\nvariables:\n examplePlans:\n fn::invoke:\n Function: equinix:metal:getPlans\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPlans.\n", "properties": { @@ -18001,7 +18030,7 @@ } }, "equinix:metal/getPort:getPort": { - "description": "Use this data source to read ports of existing devices. You can read port by either its UUID,\nor by a device UUID and port name.\n\n## Example Usage\n\nCreate a device and read it's eth0 port to the datasource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst projectId = \"\u003cUUID_of_your_project\u003e\";\nconst testDevice = new equinix.metal.Device(\"testDevice\", {\n hostname: \"tfacc-test-device-port\",\n plan: \"c3.medium.x86\",\n metro: \"sv\",\n operatingSystem: \"ubuntu_20_04\",\n billingCycle: \"hourly\",\n projectId: projectId,\n});\nconst testPort = equinix.metal.getPortOutput({\n deviceId: testDevice.id,\n name: \"eth0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nproject_id = \"\u003cUUID_of_your_project\u003e\"\ntest_device = equinix.metal.Device(\"testDevice\",\n hostname=\"tfacc-test-device-port\",\n plan=\"c3.medium.x86\",\n metro=\"sv\",\n operating_system=\"ubuntu_20_04\",\n billing_cycle=\"hourly\",\n project_id=project_id)\ntest_port = equinix.metal.get_port_output(device_id=test_device.id,\n name=\"eth0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var projectId = \"\u003cUUID_of_your_project\u003e\";\n\n var testDevice = new Equinix.Metal.Device(\"testDevice\", new()\n {\n Hostname = \"tfacc-test-device-port\",\n Plan = \"c3.medium.x86\",\n Metro = \"sv\",\n OperatingSystem = \"ubuntu_20_04\",\n BillingCycle = \"hourly\",\n ProjectId = projectId,\n });\n\n var testPort = Equinix.Metal.GetPort.Invoke(new()\n {\n DeviceId = testDevice.Id,\n Name = \"eth0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprojectId := \"\u003cUUID_of_your_project\u003e\"\n\t\ttestDevice, err := metal.NewDevice(ctx, \"testDevice\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tfacc-test-device-port\"),\n\t\t\tPlan: pulumi.String(\"c3.medium.x86\"),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(\"ubuntu_20_04\"),\n\t\t\tBillingCycle: pulumi.String(\"hourly\"),\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = metal.LookupPortOutput(ctx, metal.GetPortOutputArgs{\n\t\t\tDeviceId: testDevice.ID(),\n\t\t\tName: pulumi.String(\"eth0\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var projectId = \"\u003cUUID_of_your_project\u003e\";\n\n var testDevice = new Device(\"testDevice\", DeviceArgs.builder() \n .hostname(\"tfacc-test-device-port\")\n .plan(\"c3.medium.x86\")\n .metro(\"sv\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .build());\n\n final var testPort = MetalFunctions.getPort(GetPortArgs.builder()\n .deviceId(testDevice.id())\n .name(\"eth0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDevice:\n type: equinix:metal:Device\n properties:\n hostname: tfacc-test-device-port\n plan: c3.medium.x86\n metro: sv\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\nvariables:\n projectId: \u003cUUID_of_your_project\u003e\n testPort:\n fn::invoke:\n Function: equinix:metal:getPort\n Arguments:\n deviceId: ${testDevice.id}\n name: eth0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to read ports of existing devices. You can read port by either its UUID,\nor by a device UUID and port name.\n\n## Example Usage\n\nCreate a device and read it's eth0 port to the datasource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst projectId = \"\u003cUUID_of_your_project\u003e\";\nconst testDevice = new equinix.metal.Device(\"testDevice\", {\n hostname: \"tfacc-test-device-port\",\n plan: equinix.metal.Plan.C3MediumX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n});\nconst testPort = equinix.metal.getPortOutput({\n deviceId: testDevice.id,\n name: \"eth0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nproject_id = \"\u003cUUID_of_your_project\u003e\"\ntest_device = equinix.metal.Device(\"testDevice\",\n hostname=\"tfacc-test-device-port\",\n plan=equinix.metal.Plan.C3_MEDIUM_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id)\ntest_port = equinix.metal.get_port_output(device_id=test_device.id,\n name=\"eth0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var projectId = \"\u003cUUID_of_your_project\u003e\";\n\n var testDevice = new Equinix.Metal.Device(\"testDevice\", new()\n {\n Hostname = \"tfacc-test-device-port\",\n Plan = Equinix.Metal.Plan.C3MediumX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n });\n\n var testPort = Equinix.Metal.GetPort.Invoke(new()\n {\n DeviceId = testDevice.Id,\n Name = \"eth0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprojectId := \"\u003cUUID_of_your_project\u003e\"\n\t\ttestDevice, err := metal.NewDevice(ctx, \"testDevice\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tfacc-test-device-port\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3MediumX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = metal.LookupPortOutput(ctx, metal.GetPortOutputArgs{\n\t\t\tDeviceId: testDevice.ID(),\n\t\t\tName: pulumi.String(\"eth0\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.MetalFunctions;\nimport com.pulumi.equinix.metal.inputs.GetPortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var projectId = \"\u003cUUID_of_your_project\u003e\";\n\n var testDevice = new Device(\"testDevice\", DeviceArgs.builder() \n .hostname(\"tfacc-test-device-port\")\n .plan(\"c3.medium.x86\")\n .metro(\"sv\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .build());\n\n final var testPort = MetalFunctions.getPort(GetPortArgs.builder()\n .deviceId(testDevice.id())\n .name(\"eth0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDevice:\n type: equinix:metal:Device\n properties:\n hostname: tfacc-test-device-port\n plan: c3.medium.x86\n metro: sv\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\nvariables:\n projectId: \u003cUUID_of_your_project\u003e\n testPort:\n fn::invoke:\n Function: equinix:metal:getPort\n Arguments:\n deviceId: ${testDevice.id}\n name: eth0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPort.\n", "properties": { @@ -18253,8 +18282,7 @@ "description": "The timestamp for when the project was created.\n" }, "id": { - "type": "string", - "description": "The provider-assigned unique ID for this managed resource.\n" + "type": "string" }, "name": { "type": "string" @@ -18287,13 +18315,13 @@ "backendTransfer", "bgpConfig", "created", + "id", "name", "organizationId", "paymentMethodId", "projectId", "updated", - "userIds", - "id" + "userIds" ] } }, @@ -18788,8 +18816,7 @@ "deprecationMessage": "Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices" }, "id": { - "type": "string", - "description": "The provider-assigned unique ID for this managed resource.\n" + "type": "string" }, "metro": { "type": "string" @@ -18809,11 +18836,11 @@ "assignedDevicesIds", "description", "facility", + "id", "metro", "projectId", "vlanId", - "vxlan", - "id" + "vxlan" ] } }, diff --git a/provider/go.mod b/provider/go.mod index 18c42792..bccc1863 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -13,10 +13,10 @@ replace ( require ( github.com/equinix/terraform-provider-equinix v1.32.0 - github.com/pulumi/pulumi-terraform-bridge/pf v0.30.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.77.0 - github.com/pulumi/pulumi/pkg/v3 v3.108.1 - github.com/pulumi/pulumi/sdk/v3 v3.108.1 + github.com/pulumi/pulumi-terraform-bridge/pf v0.32.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.79.0 + github.com/pulumi/pulumi/pkg/v3 v3.112.0 + github.com/pulumi/pulumi/sdk/v3 v3.112.0 ) require ( @@ -82,9 +82,9 @@ require ( github.com/djherbis/times v1.5.0 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/equinix-labs/fabric-go v0.7.1 // indirect + github.com/equinix-labs/fabric-go v0.9.0 // indirect github.com/equinix/ecx-go/v2 v2.3.1 // indirect - github.com/equinix/equinix-sdk-go v0.34.0 // indirect + github.com/equinix/equinix-sdk-go v0.35.0 // indirect github.com/equinix/ne-go v1.16.0 // indirect github.com/equinix/oauth2-go v1.0.0 // indirect github.com/equinix/rest-go v1.3.0 // indirect @@ -142,12 +142,11 @@ require ( github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-exec v0.20.0 // indirect github.com/hashicorp/terraform-json v0.21.0 // indirect - github.com/hashicorp/terraform-plugin-framework v1.6.1 // indirect + github.com/hashicorp/terraform-plugin-framework v1.7.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect github.com/hashicorp/terraform-plugin-go v0.22.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect - github.com/hashicorp/terraform-plugin-mux v0.15.0 // indirect github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 // indirect github.com/hashicorp/terraform-plugin-testing v1.6.0 // indirect github.com/hashicorp/terraform-registry-address v0.2.3 // indirect @@ -201,9 +200,9 @@ require ( github.com/posener/complete v1.2.3 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi-java/pkg v0.9.9 // indirect + github.com/pulumi/pulumi-java/pkg v0.10.0 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi-yaml v1.5.0 // indirect + github.com/pulumi/pulumi-yaml v1.6.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect @@ -219,9 +218,9 @@ require ( github.com/skeema/knownhosts v1.2.1 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.7.0 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/testify v1.8.4 // indirect + github.com/stretchr/testify v1.9.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect @@ -244,14 +243,14 @@ require ( go.uber.org/atomic v1.11.0 // indirect gocloud.dev v0.36.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.19.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect golang.org/x/mod v0.15.0 // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect + golang.org/x/net v0.22.0 // indirect + golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.17.0 // indirect - golang.org/x/term v0.17.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.16.0 // indirect @@ -262,7 +261,7 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect google.golang.org/grpc v1.62.0 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/provider/go.sum b/provider/go.sum index ac1a14ac..b0d616d5 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1644,7 +1644,7 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -1738,12 +1738,12 @@ github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87K github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= -github.com/equinix-labs/fabric-go v0.7.1 h1:4yk0IKXMcc72rkRVbcYHokAEc1uUB06t6NXK+DtSsbs= -github.com/equinix-labs/fabric-go v0.7.1/go.mod h1:oqgGS3GOI8hHGPJKsAwDOEX0qRHl52sJGvwA/zMSd90= +github.com/equinix-labs/fabric-go v0.9.0 h1:BDJlVNaxpn1cSvjkTgy2zNr7srf8rF+7qOnLd2JxofU= +github.com/equinix-labs/fabric-go v0.9.0/go.mod h1:b/fvMHgVruNItuBIs7nZbcKc2ie4ZatkDHPM47DCF08= github.com/equinix/ecx-go/v2 v2.3.1 h1:gFcAIeyaEUw7S8ebqApmT7E/S7pC7Ac3wgScp89fkPU= github.com/equinix/ecx-go/v2 v2.3.1/go.mod h1:FvCdZ3jXU8Z4CPKig2DT+4J2HdwgRK17pIcznM7RXyk= -github.com/equinix/equinix-sdk-go v0.34.0 h1:CgEl174Jm0ima4rzNFXSl3K7RzTy0NF8eji1/dwYS+Q= -github.com/equinix/equinix-sdk-go v0.34.0/go.mod h1:qnpdRzVftHFNaJFk1VSIrAOTLrIoeDrxzUr3l8ARyvQ= +github.com/equinix/equinix-sdk-go v0.35.0 h1:p/uwA8QPBAuNnKGc3mQkwjw+6++qUadLNnKFQ8jw+wg= +github.com/equinix/equinix-sdk-go v0.35.0/go.mod h1:hEb3XLaedz7xhl/dpPIS6eOIiXNPeqNiVoyDrT6paIg= github.com/equinix/ne-go v1.16.0 h1:ZijMZxlu/2323RDfisxyeXukMn1TNv5tP5XiXZ8tWRM= github.com/equinix/ne-go v1.16.0/go.mod h1:eHkkxM4nbTB7DZ9X9zGnwfYnxIJWIsU3aHA+FAoZ1EI= github.com/equinix/oauth2-go v1.0.0 h1:fHtAPGq82PdgtK5vEThs8Vwz6f7D/8SX4tE3NJu+KcU= @@ -2833,20 +2833,20 @@ github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= github.com/pulumi/providertest v0.0.11 h1:mg8MQ7Cq7+9XlHIkBD+aCqQO4mwAJEISngZgVdnQUe8= github.com/pulumi/providertest v0.0.11/go.mod h1:HsxjVsytcMIuNj19w1lT2W0QXY0oReXl1+h6eD2JXP8= -github.com/pulumi/pulumi-java/pkg v0.9.9 h1:F3xJUtMFDVrTGCxb7Rh2Q8s6tj7gMfM5pcoUthz7vFY= -github.com/pulumi/pulumi-java/pkg v0.9.9/go.mod h1:LVF1zeg3UkToHWxb67V+zEIxQc3EdMnlot5NWSt+FpA= -github.com/pulumi/pulumi-terraform-bridge/pf v0.30.0 h1:2Jn0lXcfid0E2gbbpPwtRBWkJxGmOiUenTYP07A8b+U= -github.com/pulumi/pulumi-terraform-bridge/pf v0.30.0/go.mod h1:6MjVHzJy4MVmb/19nbRv7p9VkcKcpjl8a8uEp1CDKwo= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.77.0 h1:BZhD7yNZz7O5MWeM4WofY6XBLjtiA3qH2UJJTg8+Nts= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.77.0/go.mod h1:OCfjEGPU2fbBlda8UZhN/N3FljW6R08SK6lXPXzahwA= +github.com/pulumi/pulumi-java/pkg v0.10.0 h1:D1i5MiiNrxYr2uJ1szcj1aQwF9DYv7TTsPmajB9dKSw= +github.com/pulumi/pulumi-java/pkg v0.10.0/go.mod h1:xu6UgYtQm+xXOo1/DZNa2CWVPytu+RMkZVTtI7w7ffY= +github.com/pulumi/pulumi-terraform-bridge/pf v0.32.0 h1:+yOxg6ulqRrRBNyBU1q28F6KDNjOgFV9EkhZU9ZLR/s= +github.com/pulumi/pulumi-terraform-bridge/pf v0.32.0/go.mod h1:pWkGrl4GPwWcMevCZMxSzkYw36s0tN0/a/W1oK4SwPU= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.79.0 h1:h0HlgUsqaQAe57/+AP9kbhHo5SLI0uwl8lstjVG+I9U= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.79.0/go.mod h1:U5CqG4BJmdzCd4ALO2cx/dEP0yTHfIS2sk2ah1ngZq4= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= -github.com/pulumi/pulumi-yaml v1.5.0 h1:HfXu+WSFNpycref9CK935cViYJzXwSgHGWM/RepyrW0= -github.com/pulumi/pulumi-yaml v1.5.0/go.mod h1:AvKSmEQv2EkPbpvAQroR1eP1LkJGC8z5NDM34rVWOtg= -github.com/pulumi/pulumi/pkg/v3 v3.108.1 h1:K1UK40v5IpEPIaJ2un3WNOTBbLQaKR26HbLLh5EmMHY= -github.com/pulumi/pulumi/pkg/v3 v3.108.1/go.mod h1:48uCfxkPXUq/XTBqei9VuR0CRWObnSVlqcLkD6DhII8= -github.com/pulumi/pulumi/sdk/v3 v3.108.1 h1:5idjc3JmzToYVizRPbFyjJ5UU4AbExd04pcSP9AhPEc= -github.com/pulumi/pulumi/sdk/v3 v3.108.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= +github.com/pulumi/pulumi-yaml v1.6.0 h1:mb/QkebWXTa1fR+P3ZkCCHGXOYC6iTN8X8By9eNz8xM= +github.com/pulumi/pulumi-yaml v1.6.0/go.mod h1:RyEPo4MhL363sbAiFMVKRsQmXpQPDCY1S8pGv3E6Ij0= +github.com/pulumi/pulumi/pkg/v3 v3.112.0 h1:vhoM6sx1eegJntIeUZENtck3VeMtK1zBiQ2E3EPOnHw= +github.com/pulumi/pulumi/pkg/v3 v3.112.0/go.mod h1:GQhNr0v5E8TACF8j0p6UQqyr7mZreUpoMfVjLeu6eY0= +github.com/pulumi/pulumi/sdk/v3 v3.112.0 h1:cq2x5N6iuYhSLdeOdRs+LIq0EneB0Cb54WOlD/VaX3E= +github.com/pulumi/pulumi/sdk/v3 v3.112.0/go.mod h1:JWSzKBoHd8rlncC1DhXLf7YdV+Bk/Qf+hSZOOQh0WwQ= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= @@ -2951,8 +2951,8 @@ github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKv github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= @@ -2973,8 +2973,9 @@ 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/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -2989,8 +2990,9 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -3253,8 +3255,9 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -3427,8 +3430,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= +golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -3468,8 +3471,8 @@ golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQ golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -3662,8 +3665,9 @@ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3685,8 +3689,9 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= 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= @@ -4225,8 +4230,9 @@ google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QO google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/provider/resources.go b/provider/resources.go index d3527e30..34a62f97 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -208,9 +208,11 @@ func Provider() tfbridge.ProviderInfo { }, "port": { MaxItemsOne: tfbridge.True(), - Fields: map[string]*tfbridge.SchemaInfo{ - "redundancy": { - MaxItemsOne: tfbridge.True(), + Elem: &tfbridge.SchemaInfo{ + Fields: map[string]*tfbridge.SchemaInfo{ + "redundancy": { + MaxItemsOne: tfbridge.True(), + }, }, }, }, @@ -349,9 +351,11 @@ func Provider() tfbridge.ProviderInfo { }, "port": { MaxItemsOne: tfbridge.True(), - Fields: map[string]*tfbridge.SchemaInfo{ - "redundancy": { - MaxItemsOne: tfbridge.True(), + Elem: &tfbridge.SchemaInfo{ + Fields: map[string]*tfbridge.SchemaInfo{ + "redundancy": { + MaxItemsOne: tfbridge.True(), + }, }, }, }, @@ -577,11 +581,6 @@ func Provider() tfbridge.ProviderInfo { Docs: &tfbridge.DocInfo{ ReplaceExamplesSection: true, }, - Fields: map[string]*tfbridge.SchemaInfo{ - "address": { - MaxItemsOne: tfbridge.True(), - }, - }, }, "equinix_metal_organization": { Tok: makeEquinixResource(metalMod, "Organization"), diff --git a/sdk/go.mod b/sdk/go.mod index f027d4ee..864b0b45 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.108.1 + github.com/pulumi/pulumi/sdk/v3 v3.112.0 ) require ( @@ -80,18 +80,18 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/zclconf/go-cty v1.14.2 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/crypto v0.18.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect golang.org/x/mod v0.14.0 // indirect - golang.org/x/net v0.19.0 // indirect + golang.org/x/net v0.21.0 // indirect golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.16.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect google.golang.org/grpc v1.61.0 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/frand v1.4.2 // indirect diff --git a/sdk/go.sum b/sdk/go.sum index acef8c37..919c0228 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -158,8 +158,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/sdk/v3 v3.108.1 h1:5idjc3JmzToYVizRPbFyjJ5UU4AbExd04pcSP9AhPEc= -github.com/pulumi/pulumi/sdk/v3 v3.108.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= +github.com/pulumi/pulumi/sdk/v3 v3.112.0 h1:cq2x5N6iuYhSLdeOdRs+LIq0EneB0Cb54WOlD/VaX3E= +github.com/pulumi/pulumi/sdk/v3 v3.112.0/go.mod h1:JWSzKBoHd8rlncC1DhXLf7YdV+Bk/Qf+hSZOOQh0WwQ= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= @@ -220,8 +220,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM= golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -243,8 +243,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -273,15 +273,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -311,8 +311,8 @@ google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/upstream b/upstream index 2f918dd9..d63009a7 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 2f918dd9cc48b3e6afaa8378a400f0a9a5071653 +Subproject commit d63009a723d5f9101cf7ee7ede863eef9a4fb324