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/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortArgs.cs b/sdk/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortArgs.cs index 6abde93b..fa5bb3c2 100644 --- a/sdk/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortArgs.cs +++ b/sdk/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortArgs.cs @@ -24,17 +24,11 @@ public sealed class ConnectionASideAccessPointPortArgs : global::Pulumi.Resource [Input("name")] public Input? Name { get; set; } - [Input("redundancies")] - private InputList? _redundancies; - /// /// Redundancy Information /// - public InputList Redundancies - { - get => _redundancies ?? (_redundancies = new InputList()); - set => _redundancies = value; - } + [Input("redundancy")] + public Input? Redundancy { get; set; } /// /// Equinix-assigned virtual gateway identifier diff --git a/sdk/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortGetArgs.cs b/sdk/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortGetArgs.cs index e61e03e8..71689f11 100644 --- a/sdk/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortGetArgs.cs +++ b/sdk/dotnet/Fabric/Inputs/ConnectionASideAccessPointPortGetArgs.cs @@ -24,17 +24,11 @@ public sealed class ConnectionASideAccessPointPortGetArgs : global::Pulumi.Resou [Input("name")] public Input? Name { get; set; } - [Input("redundancies")] - private InputList? _redundancies; - /// /// Redundancy Information /// - public InputList Redundancies - { - get => _redundancies ?? (_redundancies = new InputList()); - set => _redundancies = value; - } + [Input("redundancy")] + public Input? Redundancy { get; set; } /// /// Equinix-assigned virtual gateway identifier diff --git a/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortArgs.cs b/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortArgs.cs index 61616827..7c6fc701 100644 --- a/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortArgs.cs +++ b/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortArgs.cs @@ -24,17 +24,11 @@ public sealed class ConnectionZSideAccessPointPortArgs : global::Pulumi.Resource [Input("name")] public Input? Name { get; set; } - [Input("redundancies")] - private InputList? _redundancies; - /// /// Redundancy Information /// - public InputList Redundancies - { - get => _redundancies ?? (_redundancies = new InputList()); - set => _redundancies = value; - } + [Input("redundancy")] + public Input? Redundancy { get; set; } /// /// Equinix-assigned virtual gateway identifier diff --git a/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortGetArgs.cs b/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortGetArgs.cs index 2472bef6..25e88d80 100644 --- a/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortGetArgs.cs +++ b/sdk/dotnet/Fabric/Inputs/ConnectionZSideAccessPointPortGetArgs.cs @@ -24,17 +24,11 @@ public sealed class ConnectionZSideAccessPointPortGetArgs : global::Pulumi.Resou [Input("name")] public Input? Name { get; set; } - [Input("redundancies")] - private InputList? _redundancies; - /// /// Redundancy Information /// - public InputList Redundancies - { - get => _redundancies ?? (_redundancies = new InputList()); - set => _redundancies = value; - } + [Input("redundancy")] + public Input? Redundancy { get; set; } /// /// Equinix-assigned virtual gateway identifier diff --git a/sdk/dotnet/Fabric/Outputs/ConnectionASideAccessPointPort.cs b/sdk/dotnet/Fabric/Outputs/ConnectionASideAccessPointPort.cs index 5238f246..7e0f93f2 100644 --- a/sdk/dotnet/Fabric/Outputs/ConnectionASideAccessPointPort.cs +++ b/sdk/dotnet/Fabric/Outputs/ConnectionASideAccessPointPort.cs @@ -24,7 +24,7 @@ public sealed class ConnectionASideAccessPointPort /// /// Redundancy Information /// - public readonly ImmutableArray Redundancies; + public readonly Outputs.ConnectionASideAccessPointPortRedundancy? Redundancy; /// /// Equinix-assigned virtual gateway identifier /// @@ -36,13 +36,13 @@ private ConnectionASideAccessPointPort( string? name, - ImmutableArray redundancies, + Outputs.ConnectionASideAccessPointPortRedundancy? redundancy, string? uuid) { Href = href; Name = name; - Redundancies = redundancies; + Redundancy = redundancy; Uuid = uuid; } } diff --git a/sdk/dotnet/Fabric/Outputs/ConnectionZSideAccessPointPort.cs b/sdk/dotnet/Fabric/Outputs/ConnectionZSideAccessPointPort.cs index ba538e16..5b4c605c 100644 --- a/sdk/dotnet/Fabric/Outputs/ConnectionZSideAccessPointPort.cs +++ b/sdk/dotnet/Fabric/Outputs/ConnectionZSideAccessPointPort.cs @@ -24,7 +24,7 @@ public sealed class ConnectionZSideAccessPointPort /// /// Redundancy Information /// - public readonly ImmutableArray Redundancies; + public readonly Outputs.ConnectionZSideAccessPointPortRedundancy? Redundancy; /// /// Equinix-assigned virtual gateway identifier /// @@ -36,13 +36,13 @@ private ConnectionZSideAccessPointPort( string? name, - ImmutableArray redundancies, + Outputs.ConnectionZSideAccessPointPortRedundancy? redundancy, string? uuid) { Href = href; Name = name; - Redundancies = redundancies; + Redundancy = redundancy; Uuid = uuid; } } diff --git a/sdk/dotnet/Metal/GetInterconnection.cs b/sdk/dotnet/Metal/GetInterconnection.cs index 30201d4d..7bd01b6f 100644 --- a/sdk/dotnet/Metal/GetInterconnection.cs +++ b/sdk/dotnet/Metal/GetInterconnection.cs @@ -101,6 +101,7 @@ public GetInterconnectionInvokeArgs() [OutputType] public sealed class GetInterconnectionResult { + public readonly string AuthorizationCode; public readonly string ConnectionId; /// /// The preferred email used for communication and notifications about the Equinix Fabric interconnection. @@ -178,9 +179,12 @@ public sealed class GetInterconnectionResult /// Attached VLANs. Only available in shared connection. One vlan for Primary/Single connection and two vlans for Redundant connection. /// public readonly ImmutableArray Vlans; + public readonly ImmutableArray Vrfs; [OutputConstructor] private GetInterconnectionResult( + string authorizationCode, + string connectionId, string contactEmail, @@ -219,8 +223,11 @@ private GetInterconnectionResult( string type, - ImmutableArray vlans) + ImmutableArray vlans, + + ImmutableArray vrfs) { + AuthorizationCode = authorizationCode; ConnectionId = connectionId; ContactEmail = contactEmail; Description = description; @@ -241,6 +248,7 @@ private GetInterconnectionResult( Token = token; Type = type; Vlans = vlans; + Vrfs = vrfs; } } } diff --git a/sdk/dotnet/Metal/GetOperatingSystem.cs b/sdk/dotnet/Metal/GetOperatingSystem.cs index 0dd79565..3746d1ba 100644 --- a/sdk/dotnet/Metal/GetOperatingSystem.cs +++ b/sdk/dotnet/Metal/GetOperatingSystem.cs @@ -35,10 +35,10 @@ public static class GetOperatingSystem /// var server = new Equinix.Metal.Device("server", new() /// { /// Hostname = "tf.ubuntu", - /// Plan = "c3.medium.x86", + /// Plan = Equinix.Metal.Plan.C3MediumX86, /// Metro = "ny", - /// OperatingSystem = example.Apply(getOperatingSystemResult => getOperatingSystemResult.Id).Apply(System.Enum.Parse<Equinix.Metal.OperatingSystem.OperatingSystem>), - /// BillingCycle = "hourly", + /// OperatingSystem = example.Apply(getOperatingSystemResult => getOperatingSystemResult.Id).Apply(System.Enum.Parse<Equinix.Metal.OperatingSystem>), + /// BillingCycle = Equinix.Metal.BillingCycle.Hourly, /// ProjectId = local.Project_id, /// }); /// @@ -73,10 +73,10 @@ public static Task InvokeAsync(GetOperatingSystemArgs? /// var server = new Equinix.Metal.Device("server", new() /// { /// Hostname = "tf.ubuntu", - /// Plan = "c3.medium.x86", + /// Plan = Equinix.Metal.Plan.C3MediumX86, /// Metro = "ny", - /// OperatingSystem = example.Apply(getOperatingSystemResult => getOperatingSystemResult.Id).Apply(System.Enum.Parse<Equinix.Metal.OperatingSystem.OperatingSystem>), - /// BillingCycle = "hourly", + /// OperatingSystem = example.Apply(getOperatingSystemResult => getOperatingSystemResult.Id).Apply(System.Enum.Parse<Equinix.Metal.OperatingSystem>), + /// BillingCycle = Equinix.Metal.BillingCycle.Hourly, /// ProjectId = local.Project_id, /// }); /// diff --git a/sdk/dotnet/Metal/GetOrganization.cs b/sdk/dotnet/Metal/GetOrganization.cs index 0081cdfb..7a67e286 100644 --- a/sdk/dotnet/Metal/GetOrganization.cs +++ b/sdk/dotnet/Metal/GetOrganization.cs @@ -75,6 +75,12 @@ public static Output Invoke(GetOrganizationInvokeArgs? ar public sealed class GetOrganizationArgs : global::Pulumi.InvokeArgs { + /// + /// Description string. + /// + [Input("description")] + public string? Description { get; set; } + /// /// The organization name. /// @@ -97,6 +103,12 @@ public GetOrganizationArgs() public sealed class GetOrganizationInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// Description string. + /// + [Input("description")] + public Input? Description { get; set; } + /// /// The organization name. /// @@ -128,10 +140,7 @@ public sealed class GetOrganizationResult /// /// Description string. /// - public readonly string Description; - /// - /// The provider-assigned unique ID for this managed resource. - /// + public readonly string? Description; public readonly string Id; /// /// Logo URL. @@ -156,7 +165,7 @@ public sealed class GetOrganizationResult private GetOrganizationResult( Outputs.GetOrganizationAddressResult address, - string description, + string? description, string id, diff --git a/sdk/dotnet/Metal/GetPlans.cs b/sdk/dotnet/Metal/GetPlans.cs index 002240e8..1def3a0c 100644 --- a/sdk/dotnet/Metal/GetPlans.cs +++ b/sdk/dotnet/Metal/GetPlans.cs @@ -170,10 +170,10 @@ public static class GetPlans /// var exampleDevice = new Equinix.Metal.Device("exampleDevice", new() /// { /// Hostname = "example", - /// Plan = examplePlans.Apply(getPlansResult => getPlansResult.Plans[0]?.Name).Apply(System.Enum.Parse<Equinix.Metal.Plan.Plan>), + /// Plan = examplePlans.Apply(getPlansResult => getPlansResult.Plans[0]?.Name).Apply(System.Enum.Parse<Equinix.Metal.Plan>), /// Metro = examplePlans.Apply(getPlansResult => getPlansResult.Plans[0]?.AvailableInMetros[0]), - /// OperatingSystem = "ubuntu_20_04", - /// BillingCycle = "hourly", + /// OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04, + /// BillingCycle = Equinix.Metal.BillingCycle.Hourly, /// ProjectId = @var.Project_id, /// }); /// @@ -365,10 +365,10 @@ public static Task InvokeAsync(GetPlansArgs? args = null, Invoke /// var exampleDevice = new Equinix.Metal.Device("exampleDevice", new() /// { /// Hostname = "example", - /// Plan = examplePlans.Apply(getPlansResult => getPlansResult.Plans[0]?.Name).Apply(System.Enum.Parse<Equinix.Metal.Plan.Plan>), + /// Plan = examplePlans.Apply(getPlansResult => getPlansResult.Plans[0]?.Name).Apply(System.Enum.Parse<Equinix.Metal.Plan>), /// Metro = examplePlans.Apply(getPlansResult => getPlansResult.Plans[0]?.AvailableInMetros[0]), - /// OperatingSystem = "ubuntu_20_04", - /// BillingCycle = "hourly", + /// OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04, + /// BillingCycle = Equinix.Metal.BillingCycle.Hourly, /// ProjectId = @var.Project_id, /// }); /// diff --git a/sdk/dotnet/Metal/GetPort.cs b/sdk/dotnet/Metal/GetPort.cs index 61565261..c4ad2840 100644 --- a/sdk/dotnet/Metal/GetPort.cs +++ b/sdk/dotnet/Metal/GetPort.cs @@ -33,10 +33,10 @@ public static class GetPort /// var testDevice = new Equinix.Metal.Device("testDevice", new() /// { /// Hostname = "tfacc-test-device-port", - /// Plan = "c3.medium.x86", + /// Plan = Equinix.Metal.Plan.C3MediumX86, /// Metro = "sv", - /// OperatingSystem = "ubuntu_20_04", - /// BillingCycle = "hourly", + /// OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04, + /// BillingCycle = Equinix.Metal.BillingCycle.Hourly, /// ProjectId = projectId, /// }); /// @@ -75,10 +75,10 @@ public static Task InvokeAsync(GetPortArgs? args = null, InvokeOp /// var testDevice = new Equinix.Metal.Device("testDevice", new() /// { /// Hostname = "tfacc-test-device-port", - /// Plan = "c3.medium.x86", + /// Plan = Equinix.Metal.Plan.C3MediumX86, /// Metro = "sv", - /// OperatingSystem = "ubuntu_20_04", - /// BillingCycle = "hourly", + /// OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04, + /// BillingCycle = Equinix.Metal.BillingCycle.Hourly, /// ProjectId = projectId, /// }); /// diff --git a/sdk/dotnet/Metal/GetProject.cs b/sdk/dotnet/Metal/GetProject.cs index 1964e03c..28a05d6b 100644 --- a/sdk/dotnet/Metal/GetProject.cs +++ b/sdk/dotnet/Metal/GetProject.cs @@ -129,9 +129,6 @@ public sealed class GetProjectResult /// The timestamp for when the project was created. /// public readonly string Created; - /// - /// The provider-assigned unique ID for this managed resource. - /// public readonly string Id; public readonly string Name; /// diff --git a/sdk/dotnet/Metal/GetVlan.cs b/sdk/dotnet/Metal/GetVlan.cs index e87651fc..113b3554 100644 --- a/sdk/dotnet/Metal/GetVlan.cs +++ b/sdk/dotnet/Metal/GetVlan.cs @@ -222,9 +222,6 @@ public sealed class GetVlanResult /// public readonly string Description; public readonly string Facility; - /// - /// The provider-assigned unique ID for this managed resource. - /// public readonly string Id; public readonly string Metro; public readonly string ProjectId; diff --git a/sdk/dotnet/Metal/Interconnection.cs b/sdk/dotnet/Metal/Interconnection.cs index f4d95580..a165d73e 100644 --- a/sdk/dotnet/Metal/Interconnection.cs +++ b/sdk/dotnet/Metal/Interconnection.cs @@ -48,6 +48,13 @@ namespace Pulumi.Equinix.Metal [EquinixResourceType("equinix:metal/interconnection:Interconnection")] public partial class Interconnection : global::Pulumi.CustomResource { + /// + /// Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + /// Metal end of the network, when viewing resources from within Fabric. + /// + [Output("authorizationCode")] + public Output AuthorizationCode { get; private set; } = null!; + /// /// 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. /// @@ -158,6 +165,13 @@ public partial class Interconnection : global::Pulumi.CustomResource [Output("vlans")] public Output> Vlans { get; private set; } = null!; + /// + /// Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + /// connection + /// + [Output("vrfs")] + public Output> Vrfs { get; private set; } = null!; + /// /// Create a Interconnection resource with the given unique name, arguments, and options. @@ -301,6 +315,19 @@ public InputList Vlans set => _vlans = value; } + [Input("vrfs")] + private InputList? _vrfs; + + /// + /// Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + /// connection + /// + public InputList Vrfs + { + get => _vrfs ?? (_vrfs = new InputList()); + set => _vrfs = value; + } + public InterconnectionArgs() { } @@ -309,6 +336,13 @@ public InterconnectionArgs() public sealed class InterconnectionState : global::Pulumi.ResourceArgs { + /// + /// Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + /// Metal end of the network, when viewing resources from within Fabric. + /// + [Input("authorizationCode")] + public Input? AuthorizationCode { get; set; } + /// /// 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. /// @@ -443,6 +477,19 @@ public InputList Vlans set => _vlans = value; } + [Input("vrfs")] + private InputList? _vrfs; + + /// + /// Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + /// connection + /// + public InputList Vrfs + { + get => _vrfs ?? (_vrfs = new InputList()); + set => _vrfs = value; + } + public InterconnectionState() { } diff --git a/sdk/dotnet/Metal/Organization.cs b/sdk/dotnet/Metal/Organization.cs index 498d385b..e8e076f5 100644 --- a/sdk/dotnet/Metal/Organization.cs +++ b/sdk/dotnet/Metal/Organization.cs @@ -56,7 +56,7 @@ public partial class Organization : global::Pulumi.CustomResource /// below for more details. /// [Output("address")] - public Output Address { get; private set; } = null!; + public Output Address { get; private set; } = null!; /// /// The timestamp for when the organization was created. @@ -68,13 +68,13 @@ public partial class Organization : global::Pulumi.CustomResource /// Description string. /// [Output("description")] - public Output Description { get; private set; } = null!; + public Output Description { get; private set; } = null!; /// /// Logo URL. /// [Output("logo")] - public Output Logo { get; private set; } = null!; + public Output Logo { get; private set; } = null!; /// /// The name of the Organization. @@ -86,7 +86,7 @@ public partial class Organization : global::Pulumi.CustomResource /// Twitter handle. /// [Output("twitter")] - public Output Twitter { get; private set; } = null!; + public Output Twitter { get; private set; } = null!; /// /// The timestamp for the last time the organization was updated. @@ -98,7 +98,7 @@ public partial class Organization : global::Pulumi.CustomResource /// Website link. /// [Output("website")] - public Output Website { get; private set; } = null!; + public Output Website { get; private set; } = null!; /// @@ -108,7 +108,7 @@ public partial class Organization : global::Pulumi.CustomResource /// The unique name of the resource /// The arguments used to populate this resource's properties /// A bag of options that control this resource's behavior - public Organization(string name, OrganizationArgs args, CustomResourceOptions? options = null) + public Organization(string name, OrganizationArgs? args = null, CustomResourceOptions? options = null) : base("equinix:metal/organization:Organization", name, args ?? new OrganizationArgs(), MakeResourceOptions(options, "")) { } @@ -151,8 +151,8 @@ public sealed class OrganizationArgs : global::Pulumi.ResourceArgs /// An object that has the address information. See Address /// below for more details. /// - [Input("address", required: true)] - public Input Address { get; set; } = null!; + [Input("address")] + public Input? Address { get; set; } /// /// Description string. diff --git a/sdk/dotnet/Metal/Outputs/GetProjectBgpConfigResult.cs b/sdk/dotnet/Metal/Outputs/GetProjectBgpConfigResult.cs index 871dd5c6..1d47d556 100644 --- a/sdk/dotnet/Metal/Outputs/GetProjectBgpConfigResult.cs +++ b/sdk/dotnet/Metal/Outputs/GetProjectBgpConfigResult.cs @@ -28,7 +28,7 @@ public sealed class GetProjectBgpConfigResult /// /// Password for BGP session in plaintext (not a checksum). /// - public readonly string? Md5; + public readonly string Md5; /// /// Status of BGP configuration in the project. /// @@ -42,7 +42,7 @@ private GetProjectBgpConfigResult( int maxPrefix, - string? md5, + string md5, string status) { diff --git a/sdk/dotnet/Metal/Project.cs b/sdk/dotnet/Metal/Project.cs index ff9e0532..d7d30331 100644 --- a/sdk/dotnet/Metal/Project.cs +++ b/sdk/dotnet/Metal/Project.cs @@ -56,7 +56,7 @@ public partial class Project : global::Pulumi.CustomResource /// Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`. /// [Output("backendTransfer")] - public Output BackendTransfer { get; private set; } = null!; + public Output BackendTransfer { get; private set; } = null!; /// /// Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/). diff --git a/sdk/dotnet/Metal/Vlan.cs b/sdk/dotnet/Metal/Vlan.cs index b4f0260e..94470801 100644 --- a/sdk/dotnet/Metal/Vlan.cs +++ b/sdk/dotnet/Metal/Vlan.cs @@ -65,13 +65,13 @@ public partial class Vlan : global::Pulumi.CustomResource /// Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide /// [Output("facility")] - public Output Facility { get; private set; } = null!; + public Output Facility { get; private set; } = null!; /// /// Metro in which to create the VLAN /// [Output("metro")] - public Output Metro { get; private set; } = null!; + public Output Metro { get; private set; } = null!; /// /// ID of parent project. 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/sdk/go/equinix/fabric/pulumiTypes.go b/sdk/go/equinix/fabric/pulumiTypes.go index 23ac1c2d..a28e7ee5 100644 --- a/sdk/go/equinix/fabric/pulumiTypes.go +++ b/sdk/go/equinix/fabric/pulumiTypes.go @@ -2879,7 +2879,7 @@ type ConnectionASideAccessPointPort struct { // Port name Name *string `pulumi:"name"` // Redundancy Information - Redundancies []ConnectionASideAccessPointPortRedundancy `pulumi:"redundancies"` + Redundancy *ConnectionASideAccessPointPortRedundancy `pulumi:"redundancy"` // Equinix-assigned virtual gateway identifier Uuid *string `pulumi:"uuid"` } @@ -2901,7 +2901,7 @@ type ConnectionASideAccessPointPortArgs struct { // Port name Name pulumi.StringPtrInput `pulumi:"name"` // Redundancy Information - Redundancies ConnectionASideAccessPointPortRedundancyArrayInput `pulumi:"redundancies"` + Redundancy ConnectionASideAccessPointPortRedundancyPtrInput `pulumi:"redundancy"` // Equinix-assigned virtual gateway identifier Uuid pulumi.StringPtrInput `pulumi:"uuid"` } @@ -2994,10 +2994,8 @@ func (o ConnectionASideAccessPointPortOutput) Name() pulumi.StringPtrOutput { } // Redundancy Information -func (o ConnectionASideAccessPointPortOutput) Redundancies() ConnectionASideAccessPointPortRedundancyArrayOutput { - return o.ApplyT(func(v ConnectionASideAccessPointPort) []ConnectionASideAccessPointPortRedundancy { - return v.Redundancies - }).(ConnectionASideAccessPointPortRedundancyArrayOutput) +func (o ConnectionASideAccessPointPortOutput) Redundancy() ConnectionASideAccessPointPortRedundancyPtrOutput { + return o.ApplyT(func(v ConnectionASideAccessPointPort) *ConnectionASideAccessPointPortRedundancy { return v.Redundancy }).(ConnectionASideAccessPointPortRedundancyPtrOutput) } // Equinix-assigned virtual gateway identifier @@ -3050,13 +3048,13 @@ func (o ConnectionASideAccessPointPortPtrOutput) Name() pulumi.StringPtrOutput { } // Redundancy Information -func (o ConnectionASideAccessPointPortPtrOutput) Redundancies() ConnectionASideAccessPointPortRedundancyArrayOutput { - return o.ApplyT(func(v *ConnectionASideAccessPointPort) []ConnectionASideAccessPointPortRedundancy { +func (o ConnectionASideAccessPointPortPtrOutput) Redundancy() ConnectionASideAccessPointPortRedundancyPtrOutput { + return o.ApplyT(func(v *ConnectionASideAccessPointPort) *ConnectionASideAccessPointPortRedundancy { if v == nil { return nil } - return v.Redundancies - }).(ConnectionASideAccessPointPortRedundancyArrayOutput) + return v.Redundancy + }).(ConnectionASideAccessPointPortRedundancyPtrOutput) } // Equinix-assigned virtual gateway identifier @@ -3110,29 +3108,45 @@ func (i ConnectionASideAccessPointPortRedundancyArgs) ToConnectionASideAccessPoi return pulumi.ToOutputWithContext(ctx, i).(ConnectionASideAccessPointPortRedundancyOutput) } -// ConnectionASideAccessPointPortRedundancyArrayInput is an input type that accepts ConnectionASideAccessPointPortRedundancyArray and ConnectionASideAccessPointPortRedundancyArrayOutput values. -// You can construct a concrete instance of `ConnectionASideAccessPointPortRedundancyArrayInput` via: +func (i ConnectionASideAccessPointPortRedundancyArgs) ToConnectionASideAccessPointPortRedundancyPtrOutput() ConnectionASideAccessPointPortRedundancyPtrOutput { + return i.ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(context.Background()) +} + +func (i ConnectionASideAccessPointPortRedundancyArgs) ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionASideAccessPointPortRedundancyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionASideAccessPointPortRedundancyOutput).ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(ctx) +} + +// ConnectionASideAccessPointPortRedundancyPtrInput is an input type that accepts ConnectionASideAccessPointPortRedundancyArgs, ConnectionASideAccessPointPortRedundancyPtr and ConnectionASideAccessPointPortRedundancyPtrOutput values. +// You can construct a concrete instance of `ConnectionASideAccessPointPortRedundancyPtrInput` via: // -// ConnectionASideAccessPointPortRedundancyArray{ ConnectionASideAccessPointPortRedundancyArgs{...} } -type ConnectionASideAccessPointPortRedundancyArrayInput interface { +// ConnectionASideAccessPointPortRedundancyArgs{...} +// +// or: +// +// nil +type ConnectionASideAccessPointPortRedundancyPtrInput interface { pulumi.Input - ToConnectionASideAccessPointPortRedundancyArrayOutput() ConnectionASideAccessPointPortRedundancyArrayOutput - ToConnectionASideAccessPointPortRedundancyArrayOutputWithContext(context.Context) ConnectionASideAccessPointPortRedundancyArrayOutput + ToConnectionASideAccessPointPortRedundancyPtrOutput() ConnectionASideAccessPointPortRedundancyPtrOutput + ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(context.Context) ConnectionASideAccessPointPortRedundancyPtrOutput } -type ConnectionASideAccessPointPortRedundancyArray []ConnectionASideAccessPointPortRedundancyInput +type connectionASideAccessPointPortRedundancyPtrType ConnectionASideAccessPointPortRedundancyArgs + +func ConnectionASideAccessPointPortRedundancyPtr(v *ConnectionASideAccessPointPortRedundancyArgs) ConnectionASideAccessPointPortRedundancyPtrInput { + return (*connectionASideAccessPointPortRedundancyPtrType)(v) +} -func (ConnectionASideAccessPointPortRedundancyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ConnectionASideAccessPointPortRedundancy)(nil)).Elem() +func (*connectionASideAccessPointPortRedundancyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectionASideAccessPointPortRedundancy)(nil)).Elem() } -func (i ConnectionASideAccessPointPortRedundancyArray) ToConnectionASideAccessPointPortRedundancyArrayOutput() ConnectionASideAccessPointPortRedundancyArrayOutput { - return i.ToConnectionASideAccessPointPortRedundancyArrayOutputWithContext(context.Background()) +func (i *connectionASideAccessPointPortRedundancyPtrType) ToConnectionASideAccessPointPortRedundancyPtrOutput() ConnectionASideAccessPointPortRedundancyPtrOutput { + return i.ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(context.Background()) } -func (i ConnectionASideAccessPointPortRedundancyArray) ToConnectionASideAccessPointPortRedundancyArrayOutputWithContext(ctx context.Context) ConnectionASideAccessPointPortRedundancyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ConnectionASideAccessPointPortRedundancyArrayOutput) +func (i *connectionASideAccessPointPortRedundancyPtrType) ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionASideAccessPointPortRedundancyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionASideAccessPointPortRedundancyPtrOutput) } type ConnectionASideAccessPointPortRedundancyOutput struct{ *pulumi.OutputState } @@ -3149,6 +3163,16 @@ func (o ConnectionASideAccessPointPortRedundancyOutput) ToConnectionASideAccessP return o } +func (o ConnectionASideAccessPointPortRedundancyOutput) ToConnectionASideAccessPointPortRedundancyPtrOutput() ConnectionASideAccessPointPortRedundancyPtrOutput { + return o.ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(context.Background()) +} + +func (o ConnectionASideAccessPointPortRedundancyOutput) ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionASideAccessPointPortRedundancyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConnectionASideAccessPointPortRedundancy) *ConnectionASideAccessPointPortRedundancy { + return &v + }).(ConnectionASideAccessPointPortRedundancyPtrOutput) +} + // Access point redundancy func (o ConnectionASideAccessPointPortRedundancyOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v ConnectionASideAccessPointPortRedundancy) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) @@ -3164,26 +3188,60 @@ func (o ConnectionASideAccessPointPortRedundancyOutput) Priority() pulumi.String return o.ApplyT(func(v ConnectionASideAccessPointPortRedundancy) *string { return v.Priority }).(pulumi.StringPtrOutput) } -type ConnectionASideAccessPointPortRedundancyArrayOutput struct{ *pulumi.OutputState } +type ConnectionASideAccessPointPortRedundancyPtrOutput struct{ *pulumi.OutputState } -func (ConnectionASideAccessPointPortRedundancyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ConnectionASideAccessPointPortRedundancy)(nil)).Elem() +func (ConnectionASideAccessPointPortRedundancyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectionASideAccessPointPortRedundancy)(nil)).Elem() } -func (o ConnectionASideAccessPointPortRedundancyArrayOutput) ToConnectionASideAccessPointPortRedundancyArrayOutput() ConnectionASideAccessPointPortRedundancyArrayOutput { +func (o ConnectionASideAccessPointPortRedundancyPtrOutput) ToConnectionASideAccessPointPortRedundancyPtrOutput() ConnectionASideAccessPointPortRedundancyPtrOutput { return o } -func (o ConnectionASideAccessPointPortRedundancyArrayOutput) ToConnectionASideAccessPointPortRedundancyArrayOutputWithContext(ctx context.Context) ConnectionASideAccessPointPortRedundancyArrayOutput { +func (o ConnectionASideAccessPointPortRedundancyPtrOutput) ToConnectionASideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionASideAccessPointPortRedundancyPtrOutput { return o } -func (o ConnectionASideAccessPointPortRedundancyArrayOutput) Index(i pulumi.IntInput) ConnectionASideAccessPointPortRedundancyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConnectionASideAccessPointPortRedundancy { - return vs[0].([]ConnectionASideAccessPointPortRedundancy)[vs[1].(int)] +func (o ConnectionASideAccessPointPortRedundancyPtrOutput) Elem() ConnectionASideAccessPointPortRedundancyOutput { + return o.ApplyT(func(v *ConnectionASideAccessPointPortRedundancy) ConnectionASideAccessPointPortRedundancy { + if v != nil { + return *v + } + var ret ConnectionASideAccessPointPortRedundancy + return ret }).(ConnectionASideAccessPointPortRedundancyOutput) } +// Access point redundancy +func (o ConnectionASideAccessPointPortRedundancyPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ConnectionASideAccessPointPortRedundancy) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix*fabric*connection.primary*port*connection.redundancy).group or equinix*fabric*connection.primary*port*connection.redundancy.0.group) +func (o ConnectionASideAccessPointPortRedundancyPtrOutput) Group() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectionASideAccessPointPortRedundancy) *string { + if v == nil { + return nil + } + return v.Group + }).(pulumi.StringPtrOutput) +} + +// Connection priority in redundancy group - PRIMARY, SECONDARY +func (o ConnectionASideAccessPointPortRedundancyPtrOutput) Priority() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectionASideAccessPointPortRedundancy) *string { + if v == nil { + return nil + } + return v.Priority + }).(pulumi.StringPtrOutput) +} + type ConnectionASideAccessPointProfile struct { // Access point config information AccessPointTypeConfigs []ConnectionASideAccessPointProfileAccessPointTypeConfig `pulumi:"accessPointTypeConfigs"` @@ -7571,7 +7629,7 @@ type ConnectionZSideAccessPointPort struct { // Port name Name *string `pulumi:"name"` // Redundancy Information - Redundancies []ConnectionZSideAccessPointPortRedundancy `pulumi:"redundancies"` + Redundancy *ConnectionZSideAccessPointPortRedundancy `pulumi:"redundancy"` // Equinix-assigned virtual gateway identifier Uuid *string `pulumi:"uuid"` } @@ -7593,7 +7651,7 @@ type ConnectionZSideAccessPointPortArgs struct { // Port name Name pulumi.StringPtrInput `pulumi:"name"` // Redundancy Information - Redundancies ConnectionZSideAccessPointPortRedundancyArrayInput `pulumi:"redundancies"` + Redundancy ConnectionZSideAccessPointPortRedundancyPtrInput `pulumi:"redundancy"` // Equinix-assigned virtual gateway identifier Uuid pulumi.StringPtrInput `pulumi:"uuid"` } @@ -7686,10 +7744,8 @@ func (o ConnectionZSideAccessPointPortOutput) Name() pulumi.StringPtrOutput { } // Redundancy Information -func (o ConnectionZSideAccessPointPortOutput) Redundancies() ConnectionZSideAccessPointPortRedundancyArrayOutput { - return o.ApplyT(func(v ConnectionZSideAccessPointPort) []ConnectionZSideAccessPointPortRedundancy { - return v.Redundancies - }).(ConnectionZSideAccessPointPortRedundancyArrayOutput) +func (o ConnectionZSideAccessPointPortOutput) Redundancy() ConnectionZSideAccessPointPortRedundancyPtrOutput { + return o.ApplyT(func(v ConnectionZSideAccessPointPort) *ConnectionZSideAccessPointPortRedundancy { return v.Redundancy }).(ConnectionZSideAccessPointPortRedundancyPtrOutput) } // Equinix-assigned virtual gateway identifier @@ -7742,13 +7798,13 @@ func (o ConnectionZSideAccessPointPortPtrOutput) Name() pulumi.StringPtrOutput { } // Redundancy Information -func (o ConnectionZSideAccessPointPortPtrOutput) Redundancies() ConnectionZSideAccessPointPortRedundancyArrayOutput { - return o.ApplyT(func(v *ConnectionZSideAccessPointPort) []ConnectionZSideAccessPointPortRedundancy { +func (o ConnectionZSideAccessPointPortPtrOutput) Redundancy() ConnectionZSideAccessPointPortRedundancyPtrOutput { + return o.ApplyT(func(v *ConnectionZSideAccessPointPort) *ConnectionZSideAccessPointPortRedundancy { if v == nil { return nil } - return v.Redundancies - }).(ConnectionZSideAccessPointPortRedundancyArrayOutput) + return v.Redundancy + }).(ConnectionZSideAccessPointPortRedundancyPtrOutput) } // Equinix-assigned virtual gateway identifier @@ -7802,29 +7858,45 @@ func (i ConnectionZSideAccessPointPortRedundancyArgs) ToConnectionZSideAccessPoi return pulumi.ToOutputWithContext(ctx, i).(ConnectionZSideAccessPointPortRedundancyOutput) } -// ConnectionZSideAccessPointPortRedundancyArrayInput is an input type that accepts ConnectionZSideAccessPointPortRedundancyArray and ConnectionZSideAccessPointPortRedundancyArrayOutput values. -// You can construct a concrete instance of `ConnectionZSideAccessPointPortRedundancyArrayInput` via: +func (i ConnectionZSideAccessPointPortRedundancyArgs) ToConnectionZSideAccessPointPortRedundancyPtrOutput() ConnectionZSideAccessPointPortRedundancyPtrOutput { + return i.ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(context.Background()) +} + +func (i ConnectionZSideAccessPointPortRedundancyArgs) ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionZSideAccessPointPortRedundancyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionZSideAccessPointPortRedundancyOutput).ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(ctx) +} + +// ConnectionZSideAccessPointPortRedundancyPtrInput is an input type that accepts ConnectionZSideAccessPointPortRedundancyArgs, ConnectionZSideAccessPointPortRedundancyPtr and ConnectionZSideAccessPointPortRedundancyPtrOutput values. +// You can construct a concrete instance of `ConnectionZSideAccessPointPortRedundancyPtrInput` via: // -// ConnectionZSideAccessPointPortRedundancyArray{ ConnectionZSideAccessPointPortRedundancyArgs{...} } -type ConnectionZSideAccessPointPortRedundancyArrayInput interface { +// ConnectionZSideAccessPointPortRedundancyArgs{...} +// +// or: +// +// nil +type ConnectionZSideAccessPointPortRedundancyPtrInput interface { pulumi.Input - ToConnectionZSideAccessPointPortRedundancyArrayOutput() ConnectionZSideAccessPointPortRedundancyArrayOutput - ToConnectionZSideAccessPointPortRedundancyArrayOutputWithContext(context.Context) ConnectionZSideAccessPointPortRedundancyArrayOutput + ToConnectionZSideAccessPointPortRedundancyPtrOutput() ConnectionZSideAccessPointPortRedundancyPtrOutput + ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(context.Context) ConnectionZSideAccessPointPortRedundancyPtrOutput } -type ConnectionZSideAccessPointPortRedundancyArray []ConnectionZSideAccessPointPortRedundancyInput +type connectionZSideAccessPointPortRedundancyPtrType ConnectionZSideAccessPointPortRedundancyArgs + +func ConnectionZSideAccessPointPortRedundancyPtr(v *ConnectionZSideAccessPointPortRedundancyArgs) ConnectionZSideAccessPointPortRedundancyPtrInput { + return (*connectionZSideAccessPointPortRedundancyPtrType)(v) +} -func (ConnectionZSideAccessPointPortRedundancyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ConnectionZSideAccessPointPortRedundancy)(nil)).Elem() +func (*connectionZSideAccessPointPortRedundancyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectionZSideAccessPointPortRedundancy)(nil)).Elem() } -func (i ConnectionZSideAccessPointPortRedundancyArray) ToConnectionZSideAccessPointPortRedundancyArrayOutput() ConnectionZSideAccessPointPortRedundancyArrayOutput { - return i.ToConnectionZSideAccessPointPortRedundancyArrayOutputWithContext(context.Background()) +func (i *connectionZSideAccessPointPortRedundancyPtrType) ToConnectionZSideAccessPointPortRedundancyPtrOutput() ConnectionZSideAccessPointPortRedundancyPtrOutput { + return i.ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(context.Background()) } -func (i ConnectionZSideAccessPointPortRedundancyArray) ToConnectionZSideAccessPointPortRedundancyArrayOutputWithContext(ctx context.Context) ConnectionZSideAccessPointPortRedundancyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ConnectionZSideAccessPointPortRedundancyArrayOutput) +func (i *connectionZSideAccessPointPortRedundancyPtrType) ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionZSideAccessPointPortRedundancyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionZSideAccessPointPortRedundancyPtrOutput) } type ConnectionZSideAccessPointPortRedundancyOutput struct{ *pulumi.OutputState } @@ -7841,6 +7913,16 @@ func (o ConnectionZSideAccessPointPortRedundancyOutput) ToConnectionZSideAccessP return o } +func (o ConnectionZSideAccessPointPortRedundancyOutput) ToConnectionZSideAccessPointPortRedundancyPtrOutput() ConnectionZSideAccessPointPortRedundancyPtrOutput { + return o.ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(context.Background()) +} + +func (o ConnectionZSideAccessPointPortRedundancyOutput) ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionZSideAccessPointPortRedundancyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConnectionZSideAccessPointPortRedundancy) *ConnectionZSideAccessPointPortRedundancy { + return &v + }).(ConnectionZSideAccessPointPortRedundancyPtrOutput) +} + // Access point redundancy func (o ConnectionZSideAccessPointPortRedundancyOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v ConnectionZSideAccessPointPortRedundancy) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) @@ -7856,26 +7938,60 @@ func (o ConnectionZSideAccessPointPortRedundancyOutput) Priority() pulumi.String return o.ApplyT(func(v ConnectionZSideAccessPointPortRedundancy) *string { return v.Priority }).(pulumi.StringPtrOutput) } -type ConnectionZSideAccessPointPortRedundancyArrayOutput struct{ *pulumi.OutputState } +type ConnectionZSideAccessPointPortRedundancyPtrOutput struct{ *pulumi.OutputState } -func (ConnectionZSideAccessPointPortRedundancyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ConnectionZSideAccessPointPortRedundancy)(nil)).Elem() +func (ConnectionZSideAccessPointPortRedundancyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectionZSideAccessPointPortRedundancy)(nil)).Elem() } -func (o ConnectionZSideAccessPointPortRedundancyArrayOutput) ToConnectionZSideAccessPointPortRedundancyArrayOutput() ConnectionZSideAccessPointPortRedundancyArrayOutput { +func (o ConnectionZSideAccessPointPortRedundancyPtrOutput) ToConnectionZSideAccessPointPortRedundancyPtrOutput() ConnectionZSideAccessPointPortRedundancyPtrOutput { return o } -func (o ConnectionZSideAccessPointPortRedundancyArrayOutput) ToConnectionZSideAccessPointPortRedundancyArrayOutputWithContext(ctx context.Context) ConnectionZSideAccessPointPortRedundancyArrayOutput { +func (o ConnectionZSideAccessPointPortRedundancyPtrOutput) ToConnectionZSideAccessPointPortRedundancyPtrOutputWithContext(ctx context.Context) ConnectionZSideAccessPointPortRedundancyPtrOutput { return o } -func (o ConnectionZSideAccessPointPortRedundancyArrayOutput) Index(i pulumi.IntInput) ConnectionZSideAccessPointPortRedundancyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConnectionZSideAccessPointPortRedundancy { - return vs[0].([]ConnectionZSideAccessPointPortRedundancy)[vs[1].(int)] +func (o ConnectionZSideAccessPointPortRedundancyPtrOutput) Elem() ConnectionZSideAccessPointPortRedundancyOutput { + return o.ApplyT(func(v *ConnectionZSideAccessPointPortRedundancy) ConnectionZSideAccessPointPortRedundancy { + if v != nil { + return *v + } + var ret ConnectionZSideAccessPointPortRedundancy + return ret }).(ConnectionZSideAccessPointPortRedundancyOutput) } +// Access point redundancy +func (o ConnectionZSideAccessPointPortRedundancyPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ConnectionZSideAccessPointPortRedundancy) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix*fabric*connection.primary*port*connection.redundancy).group or equinix*fabric*connection.primary*port*connection.redundancy.0.group) +func (o ConnectionZSideAccessPointPortRedundancyPtrOutput) Group() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectionZSideAccessPointPortRedundancy) *string { + if v == nil { + return nil + } + return v.Group + }).(pulumi.StringPtrOutput) +} + +// Connection priority in redundancy group - PRIMARY, SECONDARY +func (o ConnectionZSideAccessPointPortRedundancyPtrOutput) Priority() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectionZSideAccessPointPortRedundancy) *string { + if v == nil { + return nil + } + return v.Priority + }).(pulumi.StringPtrOutput) +} + type ConnectionZSideAccessPointProfile struct { // Access point config information AccessPointTypeConfigs []ConnectionZSideAccessPointProfileAccessPointTypeConfig `pulumi:"accessPointTypeConfigs"` @@ -30889,7 +31005,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointPortInput)(nil)).Elem(), ConnectionASideAccessPointPortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointPortPtrInput)(nil)).Elem(), ConnectionASideAccessPointPortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointPortRedundancyInput)(nil)).Elem(), ConnectionASideAccessPointPortRedundancyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointPortRedundancyArrayInput)(nil)).Elem(), ConnectionASideAccessPointPortRedundancyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointPortRedundancyPtrInput)(nil)).Elem(), ConnectionASideAccessPointPortRedundancyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointProfileInput)(nil)).Elem(), ConnectionASideAccessPointProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointProfilePtrInput)(nil)).Elem(), ConnectionASideAccessPointProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionASideAccessPointProfileAccessPointTypeConfigInput)(nil)).Elem(), ConnectionASideAccessPointProfileAccessPointTypeConfigArgs{}) @@ -30939,7 +31055,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointPortInput)(nil)).Elem(), ConnectionZSideAccessPointPortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointPortPtrInput)(nil)).Elem(), ConnectionZSideAccessPointPortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointPortRedundancyInput)(nil)).Elem(), ConnectionZSideAccessPointPortRedundancyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointPortRedundancyArrayInput)(nil)).Elem(), ConnectionZSideAccessPointPortRedundancyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointPortRedundancyPtrInput)(nil)).Elem(), ConnectionZSideAccessPointPortRedundancyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointProfileInput)(nil)).Elem(), ConnectionZSideAccessPointProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointProfilePtrInput)(nil)).Elem(), ConnectionZSideAccessPointProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectionZSideAccessPointProfileAccessPointTypeConfigInput)(nil)).Elem(), ConnectionZSideAccessPointProfileAccessPointTypeConfigArgs{}) @@ -31254,7 +31370,7 @@ func init() { pulumi.RegisterOutputType(ConnectionASideAccessPointPortOutput{}) pulumi.RegisterOutputType(ConnectionASideAccessPointPortPtrOutput{}) pulumi.RegisterOutputType(ConnectionASideAccessPointPortRedundancyOutput{}) - pulumi.RegisterOutputType(ConnectionASideAccessPointPortRedundancyArrayOutput{}) + pulumi.RegisterOutputType(ConnectionASideAccessPointPortRedundancyPtrOutput{}) pulumi.RegisterOutputType(ConnectionASideAccessPointProfileOutput{}) pulumi.RegisterOutputType(ConnectionASideAccessPointProfilePtrOutput{}) pulumi.RegisterOutputType(ConnectionASideAccessPointProfileAccessPointTypeConfigOutput{}) @@ -31304,7 +31420,7 @@ func init() { pulumi.RegisterOutputType(ConnectionZSideAccessPointPortOutput{}) pulumi.RegisterOutputType(ConnectionZSideAccessPointPortPtrOutput{}) pulumi.RegisterOutputType(ConnectionZSideAccessPointPortRedundancyOutput{}) - pulumi.RegisterOutputType(ConnectionZSideAccessPointPortRedundancyArrayOutput{}) + pulumi.RegisterOutputType(ConnectionZSideAccessPointPortRedundancyPtrOutput{}) pulumi.RegisterOutputType(ConnectionZSideAccessPointProfileOutput{}) pulumi.RegisterOutputType(ConnectionZSideAccessPointProfilePtrOutput{}) pulumi.RegisterOutputType(ConnectionZSideAccessPointProfileAccessPointTypeConfigOutput{}) diff --git a/sdk/go/equinix/metal/getInterconnection.go b/sdk/go/equinix/metal/getInterconnection.go index 96e7f2dc..4d4f8dbb 100644 --- a/sdk/go/equinix/metal/getInterconnection.go +++ b/sdk/go/equinix/metal/getInterconnection.go @@ -60,7 +60,8 @@ type LookupInterconnectionArgs struct { // A collection of values returned by getInterconnection. type LookupInterconnectionResult struct { - ConnectionId string `pulumi:"connectionId"` + AuthorizationCode string `pulumi:"authorizationCode"` + ConnectionId string `pulumi:"connectionId"` // The preferred email used for communication and notifications about the Equinix Fabric interconnection. ContactEmail string `pulumi:"contactEmail"` // Description of the connection resource. @@ -97,12 +98,13 @@ type LookupInterconnectionResult struct { Tags []string `pulumi:"tags"` // (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. // - // Deprecated: If your organization already has connection service tokens enabled, use `service_tokens` instead + // Deprecated: If your organization already has connection service tokens enabled, use `serviceTokens` instead Token string `pulumi:"token"` // Token type, `aSide` or `zSide`. Type string `pulumi:"type"` // Attached VLANs. Only available in shared connection. One vlan for Primary/Single connection and two vlans for Redundant connection. - Vlans []int `pulumi:"vlans"` + Vlans []int `pulumi:"vlans"` + Vrfs []string `pulumi:"vrfs"` } func LookupInterconnectionOutput(ctx *pulumi.Context, args LookupInterconnectionOutputArgs, opts ...pulumi.InvokeOption) LookupInterconnectionResultOutput { @@ -143,6 +145,10 @@ func (o LookupInterconnectionResultOutput) ToLookupInterconnectionResultOutputWi return o } +func (o LookupInterconnectionResultOutput) AuthorizationCode() pulumi.StringOutput { + return o.ApplyT(func(v LookupInterconnectionResult) string { return v.AuthorizationCode }).(pulumi.StringOutput) +} + func (o LookupInterconnectionResultOutput) ConnectionId() pulumi.StringOutput { return o.ApplyT(func(v LookupInterconnectionResult) string { return v.ConnectionId }).(pulumi.StringOutput) } @@ -231,7 +237,7 @@ func (o LookupInterconnectionResultOutput) Tags() pulumi.StringArrayOutput { // (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. // -// Deprecated: If your organization already has connection service tokens enabled, use `service_tokens` instead +// Deprecated: If your organization already has connection service tokens enabled, use `serviceTokens` instead func (o LookupInterconnectionResultOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v LookupInterconnectionResult) string { return v.Token }).(pulumi.StringOutput) } @@ -246,6 +252,10 @@ func (o LookupInterconnectionResultOutput) Vlans() pulumi.IntArrayOutput { return o.ApplyT(func(v LookupInterconnectionResult) []int { return v.Vlans }).(pulumi.IntArrayOutput) } +func (o LookupInterconnectionResultOutput) Vrfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupInterconnectionResult) []string { return v.Vrfs }).(pulumi.StringArrayOutput) +} + func init() { pulumi.RegisterOutputType(LookupInterconnectionResultOutput{}) } diff --git a/sdk/go/equinix/metal/getOperatingSystem.go b/sdk/go/equinix/metal/getOperatingSystem.go index eb399186..5eda1603 100644 --- a/sdk/go/equinix/metal/getOperatingSystem.go +++ b/sdk/go/equinix/metal/getOperatingSystem.go @@ -38,10 +38,10 @@ import ( // } // _, err = metal.NewDevice(ctx, "server", &metal.DeviceArgs{ // Hostname: pulumi.String("tf.ubuntu"), -// Plan: pulumi.String("c3.medium.x86"), +// Plan: pulumi.String(metal.PlanC3MediumX86), // Metro: pulumi.String("ny"), // OperatingSystem: example.Id.ApplyT(func(x *string) metal.OperatingSystem { return metal.OperatingSystem(*x) }).(metal.OperatingSystemOutput), -// BillingCycle: pulumi.String("hourly"), +// BillingCycle: pulumi.String(metal.BillingCycleHourly), // ProjectId: pulumi.Any(local.Project_id), // }) // if err != nil { diff --git a/sdk/go/equinix/metal/getOrganization.go b/sdk/go/equinix/metal/getOrganization.go index 8644de25..3472c1cd 100644 --- a/sdk/go/equinix/metal/getOrganization.go +++ b/sdk/go/equinix/metal/getOrganization.go @@ -53,6 +53,8 @@ func LookupOrganization(ctx *pulumi.Context, args *LookupOrganizationArgs, opts // A collection of arguments for invoking getOrganization. type LookupOrganizationArgs struct { + // Description string. + Description *string `pulumi:"description"` // The organization name. Name *string `pulumi:"name"` // The UUID of the organization resource. @@ -66,9 +68,8 @@ type LookupOrganizationResult struct { // Postal address. Address GetOrganizationAddress `pulumi:"address"` // Description string. - Description string `pulumi:"description"` - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` + Description *string `pulumi:"description"` + Id string `pulumi:"id"` // Logo URL. Logo string `pulumi:"logo"` Name string `pulumi:"name"` @@ -96,6 +97,8 @@ func LookupOrganizationOutput(ctx *pulumi.Context, args LookupOrganizationOutput // A collection of arguments for invoking getOrganization. type LookupOrganizationOutputArgs struct { + // Description string. + Description pulumi.StringPtrInput `pulumi:"description"` // The organization name. Name pulumi.StringPtrInput `pulumi:"name"` // The UUID of the organization resource. @@ -129,11 +132,10 @@ func (o LookupOrganizationResultOutput) Address() GetOrganizationAddressOutput { } // Description string. -func (o LookupOrganizationResultOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v LookupOrganizationResult) string { return v.Description }).(pulumi.StringOutput) +func (o LookupOrganizationResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupOrganizationResult) *string { return v.Description }).(pulumi.StringPtrOutput) } -// The provider-assigned unique ID for this managed resource. func (o LookupOrganizationResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupOrganizationResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/sdk/go/equinix/metal/getPlans.go b/sdk/go/equinix/metal/getPlans.go index 7002d4e4..50b40066 100644 --- a/sdk/go/equinix/metal/getPlans.go +++ b/sdk/go/equinix/metal/getPlans.go @@ -163,9 +163,9 @@ import ( // _, err = metal.NewDevice(ctx, "exampleDevice", &metal.DeviceArgs{ // Hostname: pulumi.String("example"), // Plan: examplePlans.Plans[0].Name.ApplyT(func(x *string) metal.Plan { return metal.Plan(*x) }).(metal.PlanOutput), -// Metro: *pulumi.String(examplePlans.Plans[0].AvailableInMetros[0]), -// OperatingSystem: pulumi.String("ubuntu_20_04"), -// BillingCycle: pulumi.String("hourly"), +// Metro: pulumi.String(examplePlans.Plans[0].AvailableInMetros[0]), +// OperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04), +// BillingCycle: pulumi.String(metal.BillingCycleHourly), // ProjectId: pulumi.Any(_var.Project_id), // }) // if err != nil { diff --git a/sdk/go/equinix/metal/getPort.go b/sdk/go/equinix/metal/getPort.go index e2d6df9b..a4f26b3e 100644 --- a/sdk/go/equinix/metal/getPort.go +++ b/sdk/go/equinix/metal/getPort.go @@ -34,10 +34,10 @@ import ( // projectId := "" // testDevice, err := metal.NewDevice(ctx, "testDevice", &metal.DeviceArgs{ // Hostname: pulumi.String("tfacc-test-device-port"), -// Plan: pulumi.String("c3.medium.x86"), +// Plan: pulumi.String(metal.PlanC3MediumX86), // Metro: pulumi.String("sv"), -// OperatingSystem: pulumi.String("ubuntu_20_04"), -// BillingCycle: pulumi.String("hourly"), +// OperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04), +// BillingCycle: pulumi.String(metal.BillingCycleHourly), // ProjectId: pulumi.String(projectId), // }) // if err != nil { diff --git a/sdk/go/equinix/metal/getProject.go b/sdk/go/equinix/metal/getProject.go index 627fa03d..28512c8d 100644 --- a/sdk/go/equinix/metal/getProject.go +++ b/sdk/go/equinix/metal/getProject.go @@ -67,9 +67,8 @@ type LookupProjectResult struct { BgpConfig GetProjectBgpConfig `pulumi:"bgpConfig"` // The timestamp for when the project was created. Created string `pulumi:"created"` - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - Name string `pulumi:"name"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` // The UUID of this project's parent organization. OrganizationId string `pulumi:"organizationId"` // The UUID of payment method for this project. @@ -136,7 +135,6 @@ func (o LookupProjectResultOutput) Created() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.Created }).(pulumi.StringOutput) } -// The provider-assigned unique ID for this managed resource. func (o LookupProjectResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/sdk/go/equinix/metal/getVlan.go b/sdk/go/equinix/metal/getVlan.go index 566a3e9d..2c5e5718 100644 --- a/sdk/go/equinix/metal/getVlan.go +++ b/sdk/go/equinix/metal/getVlan.go @@ -113,8 +113,7 @@ type LookupVlanResult struct { // Description text of the VLAN resource. Description string `pulumi:"description"` // Deprecated: 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 - Facility string `pulumi:"facility"` - // The provider-assigned unique ID for this managed resource. + Facility string `pulumi:"facility"` Id string `pulumi:"id"` Metro string `pulumi:"metro"` ProjectId string `pulumi:"projectId"` @@ -187,7 +186,6 @@ func (o LookupVlanResultOutput) Facility() pulumi.StringOutput { return o.ApplyT(func(v LookupVlanResult) string { return v.Facility }).(pulumi.StringOutput) } -// The provider-assigned unique ID for this managed resource. func (o LookupVlanResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupVlanResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/sdk/go/equinix/metal/interconnection.go b/sdk/go/equinix/metal/interconnection.go index d5e0b9e9..4409d025 100644 --- a/sdk/go/equinix/metal/interconnection.go +++ b/sdk/go/equinix/metal/interconnection.go @@ -65,6 +65,9 @@ import ( type Interconnection struct { pulumi.CustomResourceState + // Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + // Metal end of the network, when viewing resources from within Fabric. + AuthorizationCode pulumi.StringOutput `pulumi:"authorizationCode"` // 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. ContactEmail pulumi.StringOutput `pulumi:"contactEmail"` // Description for the connection resource. @@ -101,12 +104,15 @@ type Interconnection struct { Tags pulumi.StringArrayOutput `pulumi:"tags"` // (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. // - // Deprecated: If your organization already has connection service tokens enabled, use `service_tokens` instead + // Deprecated: If your organization already has connection service tokens enabled, use `serviceTokens` instead Token pulumi.StringOutput `pulumi:"token"` // Connection type - dedicated or shared. Type pulumi.StringOutput `pulumi:"type"` // Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. Vlans pulumi.IntArrayOutput `pulumi:"vlans"` + // Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + // connection + Vrfs pulumi.StringArrayOutput `pulumi:"vrfs"` } // NewInterconnection registers a new resource with the given unique name, arguments, and options. @@ -145,6 +151,9 @@ func GetInterconnection(ctx *pulumi.Context, // Input properties used for looking up and filtering Interconnection resources. type interconnectionState struct { + // Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + // Metal end of the network, when viewing resources from within Fabric. + AuthorizationCode *string `pulumi:"authorizationCode"` // 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. ContactEmail *string `pulumi:"contactEmail"` // Description for the connection resource. @@ -181,15 +190,21 @@ type interconnectionState struct { Tags []string `pulumi:"tags"` // (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. // - // Deprecated: If your organization already has connection service tokens enabled, use `service_tokens` instead + // Deprecated: If your organization already has connection service tokens enabled, use `serviceTokens` instead Token *string `pulumi:"token"` // Connection type - dedicated or shared. Type *string `pulumi:"type"` // Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. Vlans []int `pulumi:"vlans"` + // Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + // connection + Vrfs []string `pulumi:"vrfs"` } type InterconnectionState struct { + // Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + // Metal end of the network, when viewing resources from within Fabric. + AuthorizationCode pulumi.StringPtrInput // 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. ContactEmail pulumi.StringPtrInput // Description for the connection resource. @@ -226,12 +241,15 @@ type InterconnectionState struct { Tags pulumi.StringArrayInput // (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. // - // Deprecated: If your organization already has connection service tokens enabled, use `service_tokens` instead + // Deprecated: If your organization already has connection service tokens enabled, use `serviceTokens` instead Token pulumi.StringPtrInput // Connection type - dedicated or shared. Type pulumi.StringPtrInput // Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. Vlans pulumi.IntArrayInput + // Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + // connection + Vrfs pulumi.StringArrayInput } func (InterconnectionState) ElementType() reflect.Type { @@ -269,6 +287,9 @@ type interconnectionArgs struct { Type string `pulumi:"type"` // Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. Vlans []int `pulumi:"vlans"` + // Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + // connection + Vrfs []string `pulumi:"vrfs"` } // The set of arguments for constructing a Interconnection resource. @@ -303,6 +324,9 @@ type InterconnectionArgs struct { Type pulumi.StringInput // Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. Vlans pulumi.IntArrayInput + // Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + // connection + Vrfs pulumi.StringArrayInput } func (InterconnectionArgs) ElementType() reflect.Type { @@ -392,6 +416,12 @@ func (o InterconnectionOutput) ToInterconnectionOutputWithContext(ctx context.Co return o } +// Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the +// Metal end of the network, when viewing resources from within Fabric. +func (o InterconnectionOutput) AuthorizationCode() pulumi.StringOutput { + return o.ApplyT(func(v *Interconnection) pulumi.StringOutput { return v.AuthorizationCode }).(pulumi.StringOutput) +} + // 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. func (o InterconnectionOutput) ContactEmail() pulumi.StringOutput { return o.ApplyT(func(v *Interconnection) pulumi.StringOutput { return v.ContactEmail }).(pulumi.StringOutput) @@ -473,7 +503,7 @@ func (o InterconnectionOutput) Tags() pulumi.StringArrayOutput { // (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. // -// Deprecated: If your organization already has connection service tokens enabled, use `service_tokens` instead +// Deprecated: If your organization already has connection service tokens enabled, use `serviceTokens` instead func (o InterconnectionOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v *Interconnection) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) } @@ -488,6 +518,12 @@ func (o InterconnectionOutput) Vlans() pulumi.IntArrayOutput { return o.ApplyT(func(v *Interconnection) pulumi.IntArrayOutput { return v.Vlans }).(pulumi.IntArrayOutput) } +// Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant +// connection +func (o InterconnectionOutput) Vrfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Interconnection) pulumi.StringArrayOutput { return v.Vrfs }).(pulumi.StringArrayOutput) +} + type InterconnectionArrayOutput struct{ *pulumi.OutputState } func (InterconnectionArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/equinix/metal/organization.go b/sdk/go/equinix/metal/organization.go index 2ed41377..854bfd22 100644 --- a/sdk/go/equinix/metal/organization.go +++ b/sdk/go/equinix/metal/organization.go @@ -7,8 +7,6 @@ import ( "context" "reflect" - "errors" - "github.com/equinix/pulumi-equinix/sdk/go/equinix/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -60,33 +58,30 @@ type Organization struct { // An object that has the address information. See Address // below for more details. - Address OrganizationAddressOutput `pulumi:"address"` + Address OrganizationAddressPtrOutput `pulumi:"address"` // The timestamp for when the organization was created. Created pulumi.StringOutput `pulumi:"created"` // Description string. - Description pulumi.StringPtrOutput `pulumi:"description"` + Description pulumi.StringOutput `pulumi:"description"` // Logo URL. - Logo pulumi.StringPtrOutput `pulumi:"logo"` + Logo pulumi.StringOutput `pulumi:"logo"` // The name of the Organization. Name pulumi.StringOutput `pulumi:"name"` // Twitter handle. - Twitter pulumi.StringPtrOutput `pulumi:"twitter"` + Twitter pulumi.StringOutput `pulumi:"twitter"` // The timestamp for the last time the organization was updated. Updated pulumi.StringOutput `pulumi:"updated"` // Website link. - Website pulumi.StringPtrOutput `pulumi:"website"` + Website pulumi.StringOutput `pulumi:"website"` } // NewOrganization registers a new resource with the given unique name, arguments, and options. func NewOrganization(ctx *pulumi.Context, name string, args *OrganizationArgs, opts ...pulumi.ResourceOption) (*Organization, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &OrganizationArgs{} } - if args.Address == nil { - return nil, errors.New("invalid value for required argument 'Address'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource Organization err := ctx.RegisterResource("equinix:metal/organization:Organization", name, args, &resource, opts...) @@ -156,7 +151,7 @@ func (OrganizationState) ElementType() reflect.Type { type organizationArgs struct { // An object that has the address information. See Address // below for more details. - Address OrganizationAddress `pulumi:"address"` + Address *OrganizationAddress `pulumi:"address"` // Description string. Description *string `pulumi:"description"` // Logo URL. @@ -173,7 +168,7 @@ type organizationArgs struct { type OrganizationArgs struct { // An object that has the address information. See Address // below for more details. - Address OrganizationAddressInput + Address OrganizationAddressPtrInput // Description string. Description pulumi.StringPtrInput // Logo URL. @@ -275,8 +270,8 @@ func (o OrganizationOutput) ToOrganizationOutputWithContext(ctx context.Context) // An object that has the address information. See Address // below for more details. -func (o OrganizationOutput) Address() OrganizationAddressOutput { - return o.ApplyT(func(v *Organization) OrganizationAddressOutput { return v.Address }).(OrganizationAddressOutput) +func (o OrganizationOutput) Address() OrganizationAddressPtrOutput { + return o.ApplyT(func(v *Organization) OrganizationAddressPtrOutput { return v.Address }).(OrganizationAddressPtrOutput) } // The timestamp for when the organization was created. @@ -285,13 +280,13 @@ func (o OrganizationOutput) Created() pulumi.StringOutput { } // Description string. -func (o OrganizationOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Organization) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +func (o OrganizationOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *Organization) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } // Logo URL. -func (o OrganizationOutput) Logo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Organization) pulumi.StringPtrOutput { return v.Logo }).(pulumi.StringPtrOutput) +func (o OrganizationOutput) Logo() pulumi.StringOutput { + return o.ApplyT(func(v *Organization) pulumi.StringOutput { return v.Logo }).(pulumi.StringOutput) } // The name of the Organization. @@ -300,8 +295,8 @@ func (o OrganizationOutput) Name() pulumi.StringOutput { } // Twitter handle. -func (o OrganizationOutput) Twitter() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Organization) pulumi.StringPtrOutput { return v.Twitter }).(pulumi.StringPtrOutput) +func (o OrganizationOutput) Twitter() pulumi.StringOutput { + return o.ApplyT(func(v *Organization) pulumi.StringOutput { return v.Twitter }).(pulumi.StringOutput) } // The timestamp for the last time the organization was updated. @@ -310,8 +305,8 @@ func (o OrganizationOutput) Updated() pulumi.StringOutput { } // Website link. -func (o OrganizationOutput) Website() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Organization) pulumi.StringPtrOutput { return v.Website }).(pulumi.StringPtrOutput) +func (o OrganizationOutput) Website() pulumi.StringOutput { + return o.ApplyT(func(v *Organization) pulumi.StringOutput { return v.Website }).(pulumi.StringOutput) } type OrganizationArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/equinix/metal/project.go b/sdk/go/equinix/metal/project.go index c7334555..c9f1a00c 100644 --- a/sdk/go/equinix/metal/project.go +++ b/sdk/go/equinix/metal/project.go @@ -63,7 +63,7 @@ type Project struct { pulumi.CustomResourceState // Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`. - BackendTransfer pulumi.BoolPtrOutput `pulumi:"backendTransfer"` + BackendTransfer pulumi.BoolOutput `pulumi:"backendTransfer"` // Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/). // // > **NOTE:** Once you set the BGP config in a project, it can't be removed (due to a limitation in @@ -285,8 +285,8 @@ func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOu } // Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`. -func (o ProjectOutput) BackendTransfer() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.BackendTransfer }).(pulumi.BoolPtrOutput) +func (o ProjectOutput) BackendTransfer() pulumi.BoolOutput { + return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.BackendTransfer }).(pulumi.BoolOutput) } // Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/). diff --git a/sdk/go/equinix/metal/pulumiTypes.go b/sdk/go/equinix/metal/pulumiTypes.go index 88f81eb5..de53e6e0 100644 --- a/sdk/go/equinix/metal/pulumiTypes.go +++ b/sdk/go/equinix/metal/pulumiTypes.go @@ -4132,7 +4132,7 @@ type GetPlansPlan struct { AvailableInMetros []string `pulumi:"availableInMetros"` // (**Deprecated**) list of facilities where the plan is available // - // Deprecated: Use available_in_metros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices + // Deprecated: Use availableInMetros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices AvailableIns []string `pulumi:"availableIns"` // plan class Class string `pulumi:"class"` @@ -4172,7 +4172,7 @@ type GetPlansPlanArgs struct { AvailableInMetros pulumi.StringArrayInput `pulumi:"availableInMetros"` // (**Deprecated**) list of facilities where the plan is available // - // Deprecated: Use available_in_metros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices + // Deprecated: Use availableInMetros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices AvailableIns pulumi.StringArrayInput `pulumi:"availableIns"` // plan class Class pulumi.StringInput `pulumi:"class"` @@ -4254,7 +4254,7 @@ func (o GetPlansPlanOutput) AvailableInMetros() pulumi.StringArrayOutput { // (**Deprecated**) list of facilities where the plan is available // -// Deprecated: Use available_in_metros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices +// Deprecated: Use availableInMetros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices func (o GetPlansPlanOutput) AvailableIns() pulumi.StringArrayOutput { return o.ApplyT(func(v GetPlansPlan) []string { return v.AvailableIns }).(pulumi.StringArrayOutput) } @@ -4443,7 +4443,7 @@ type GetProjectBgpConfig struct { // The maximum number of route filters allowed per server. MaxPrefix int `pulumi:"maxPrefix"` // Password for BGP session in plaintext (not a checksum). - Md5 *string `pulumi:"md5"` + Md5 string `pulumi:"md5"` // Status of BGP configuration in the project. Status string `pulumi:"status"` } @@ -4467,7 +4467,7 @@ type GetProjectBgpConfigArgs struct { // The maximum number of route filters allowed per server. MaxPrefix pulumi.IntInput `pulumi:"maxPrefix"` // Password for BGP session in plaintext (not a checksum). - Md5 pulumi.StringPtrInput `pulumi:"md5"` + Md5 pulumi.StringInput `pulumi:"md5"` // Status of BGP configuration in the project. Status pulumi.StringInput `pulumi:"status"` } @@ -4514,8 +4514,8 @@ func (o GetProjectBgpConfigOutput) MaxPrefix() pulumi.IntOutput { } // Password for BGP session in plaintext (not a checksum). -func (o GetProjectBgpConfigOutput) Md5() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetProjectBgpConfig) *string { return v.Md5 }).(pulumi.StringPtrOutput) +func (o GetProjectBgpConfigOutput) Md5() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectBgpConfig) string { return v.Md5 }).(pulumi.StringOutput) } // Status of BGP configuration in the project. diff --git a/sdk/go/equinix/metal/vlan.go b/sdk/go/equinix/metal/vlan.go index 25206171..aa697b73 100644 --- a/sdk/go/equinix/metal/vlan.go +++ b/sdk/go/equinix/metal/vlan.go @@ -72,9 +72,9 @@ type Vlan struct { // Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide // // Deprecated: 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 - Facility pulumi.StringPtrOutput `pulumi:"facility"` + Facility pulumi.StringOutput `pulumi:"facility"` // Metro in which to create the VLAN - Metro pulumi.StringPtrOutput `pulumi:"metro"` + Metro pulumi.StringOutput `pulumi:"metro"` // ID of parent project. ProjectId pulumi.StringOutput `pulumi:"projectId"` // VLAN ID, must be unique in metro. @@ -273,13 +273,13 @@ func (o VlanOutput) Description() pulumi.StringPtrOutput { // Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide // // Deprecated: 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 -func (o VlanOutput) Facility() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Vlan) pulumi.StringPtrOutput { return v.Facility }).(pulumi.StringPtrOutput) +func (o VlanOutput) Facility() pulumi.StringOutput { + return o.ApplyT(func(v *Vlan) pulumi.StringOutput { return v.Facility }).(pulumi.StringOutput) } // Metro in which to create the VLAN -func (o VlanOutput) Metro() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Vlan) pulumi.StringPtrOutput { return v.Metro }).(pulumi.StringPtrOutput) +func (o VlanOutput) Metro() pulumi.StringOutput { + return o.ApplyT(func(v *Vlan) pulumi.StringOutput { return v.Metro }).(pulumi.StringOutput) } // ID of parent project. diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionASideAccessPointPortArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionASideAccessPointPortArgs.java index 866f1706..fca7685e 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionASideAccessPointPortArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionASideAccessPointPortArgs.java @@ -7,7 +7,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; -import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -51,15 +50,15 @@ public Optional> name() { * Redundancy Information * */ - @Import(name="redundancies") - private @Nullable Output> redundancies; + @Import(name="redundancy") + private @Nullable Output redundancy; /** * @return Redundancy Information * */ - public Optional>> redundancies() { - return Optional.ofNullable(this.redundancies); + public Optional> redundancy() { + return Optional.ofNullable(this.redundancy); } /** @@ -82,7 +81,7 @@ private ConnectionASideAccessPointPortArgs() {} private ConnectionASideAccessPointPortArgs(ConnectionASideAccessPointPortArgs $) { this.href = $.href; this.name = $.name; - this.redundancies = $.redundancies; + this.redundancy = $.redundancy; this.uuid = $.uuid; } @@ -147,34 +146,24 @@ public Builder name(String name) { } /** - * @param redundancies Redundancy Information + * @param redundancy Redundancy Information * * @return builder * */ - public Builder redundancies(@Nullable Output> redundancies) { - $.redundancies = redundancies; + public Builder redundancy(@Nullable Output redundancy) { + $.redundancy = redundancy; return this; } /** - * @param redundancies Redundancy Information + * @param redundancy Redundancy Information * * @return builder * */ - public Builder redundancies(List redundancies) { - return redundancies(Output.of(redundancies)); - } - - /** - * @param redundancies Redundancy Information - * - * @return builder - * - */ - public Builder redundancies(ConnectionASideAccessPointPortRedundancyArgs... redundancies) { - return redundancies(List.of(redundancies)); + public Builder redundancy(ConnectionASideAccessPointPortRedundancyArgs redundancy) { + return redundancy(Output.of(redundancy)); } /** diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionZSideAccessPointPortArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionZSideAccessPointPortArgs.java index 15c2a314..36010fa2 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionZSideAccessPointPortArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ConnectionZSideAccessPointPortArgs.java @@ -7,7 +7,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; -import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -51,15 +50,15 @@ public Optional> name() { * Redundancy Information * */ - @Import(name="redundancies") - private @Nullable Output> redundancies; + @Import(name="redundancy") + private @Nullable Output redundancy; /** * @return Redundancy Information * */ - public Optional>> redundancies() { - return Optional.ofNullable(this.redundancies); + public Optional> redundancy() { + return Optional.ofNullable(this.redundancy); } /** @@ -82,7 +81,7 @@ private ConnectionZSideAccessPointPortArgs() {} private ConnectionZSideAccessPointPortArgs(ConnectionZSideAccessPointPortArgs $) { this.href = $.href; this.name = $.name; - this.redundancies = $.redundancies; + this.redundancy = $.redundancy; this.uuid = $.uuid; } @@ -147,34 +146,24 @@ public Builder name(String name) { } /** - * @param redundancies Redundancy Information + * @param redundancy Redundancy Information * * @return builder * */ - public Builder redundancies(@Nullable Output> redundancies) { - $.redundancies = redundancies; + public Builder redundancy(@Nullable Output redundancy) { + $.redundancy = redundancy; return this; } /** - * @param redundancies Redundancy Information + * @param redundancy Redundancy Information * * @return builder * */ - public Builder redundancies(List redundancies) { - return redundancies(Output.of(redundancies)); - } - - /** - * @param redundancies Redundancy Information - * - * @return builder - * - */ - public Builder redundancies(ConnectionZSideAccessPointPortRedundancyArgs... redundancies) { - return redundancies(List.of(redundancies)); + public Builder redundancy(ConnectionZSideAccessPointPortRedundancyArgs redundancy) { + return redundancy(Output.of(redundancy)); } /** diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionASideAccessPointPort.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionASideAccessPointPort.java index 945fc327..433e0073 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionASideAccessPointPort.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionASideAccessPointPort.java @@ -6,7 +6,6 @@ import com.equinix.pulumi.fabric.outputs.ConnectionASideAccessPointPortRedundancy; import com.pulumi.core.annotations.CustomType; import java.lang.String; -import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -27,7 +26,7 @@ public final class ConnectionASideAccessPointPort { * @return Redundancy Information * */ - private @Nullable List redundancies; + private @Nullable ConnectionASideAccessPointPortRedundancy redundancy; /** * @return Equinix-assigned virtual gateway identifier * @@ -53,8 +52,8 @@ public Optional name() { * @return Redundancy Information * */ - public List redundancies() { - return this.redundancies == null ? List.of() : this.redundancies; + public Optional redundancy() { + return Optional.ofNullable(this.redundancy); } /** * @return Equinix-assigned virtual gateway identifier @@ -75,14 +74,14 @@ public static Builder builder(ConnectionASideAccessPointPort defaults) { public static final class Builder { private @Nullable String href; private @Nullable String name; - private @Nullable List redundancies; + private @Nullable ConnectionASideAccessPointPortRedundancy redundancy; private @Nullable String uuid; public Builder() {} public Builder(ConnectionASideAccessPointPort defaults) { Objects.requireNonNull(defaults); this.href = defaults.href; this.name = defaults.name; - this.redundancies = defaults.redundancies; + this.redundancy = defaults.redundancy; this.uuid = defaults.uuid; } @@ -97,13 +96,10 @@ public Builder name(@Nullable String name) { return this; } @CustomType.Setter - public Builder redundancies(@Nullable List redundancies) { - this.redundancies = redundancies; + public Builder redundancy(@Nullable ConnectionASideAccessPointPortRedundancy redundancy) { + this.redundancy = redundancy; return this; } - public Builder redundancies(ConnectionASideAccessPointPortRedundancy... redundancies) { - return redundancies(List.of(redundancies)); - } @CustomType.Setter public Builder uuid(@Nullable String uuid) { this.uuid = uuid; @@ -113,7 +109,7 @@ public ConnectionASideAccessPointPort build() { final var _resultValue = new ConnectionASideAccessPointPort(); _resultValue.href = href; _resultValue.name = name; - _resultValue.redundancies = redundancies; + _resultValue.redundancy = redundancy; _resultValue.uuid = uuid; return _resultValue; } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionZSideAccessPointPort.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionZSideAccessPointPort.java index 650ee672..8a6d3fd7 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionZSideAccessPointPort.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ConnectionZSideAccessPointPort.java @@ -6,7 +6,6 @@ import com.equinix.pulumi.fabric.outputs.ConnectionZSideAccessPointPortRedundancy; import com.pulumi.core.annotations.CustomType; import java.lang.String; -import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -27,7 +26,7 @@ public final class ConnectionZSideAccessPointPort { * @return Redundancy Information * */ - private @Nullable List redundancies; + private @Nullable ConnectionZSideAccessPointPortRedundancy redundancy; /** * @return Equinix-assigned virtual gateway identifier * @@ -53,8 +52,8 @@ public Optional name() { * @return Redundancy Information * */ - public List redundancies() { - return this.redundancies == null ? List.of() : this.redundancies; + public Optional redundancy() { + return Optional.ofNullable(this.redundancy); } /** * @return Equinix-assigned virtual gateway identifier @@ -75,14 +74,14 @@ public static Builder builder(ConnectionZSideAccessPointPort defaults) { public static final class Builder { private @Nullable String href; private @Nullable String name; - private @Nullable List redundancies; + private @Nullable ConnectionZSideAccessPointPortRedundancy redundancy; private @Nullable String uuid; public Builder() {} public Builder(ConnectionZSideAccessPointPort defaults) { Objects.requireNonNull(defaults); this.href = defaults.href; this.name = defaults.name; - this.redundancies = defaults.redundancies; + this.redundancy = defaults.redundancy; this.uuid = defaults.uuid; } @@ -97,13 +96,10 @@ public Builder name(@Nullable String name) { return this; } @CustomType.Setter - public Builder redundancies(@Nullable List redundancies) { - this.redundancies = redundancies; + public Builder redundancy(@Nullable ConnectionZSideAccessPointPortRedundancy redundancy) { + this.redundancy = redundancy; return this; } - public Builder redundancies(ConnectionZSideAccessPointPortRedundancy... redundancies) { - return redundancies(List.of(redundancies)); - } @CustomType.Setter public Builder uuid(@Nullable String uuid) { this.uuid = uuid; @@ -113,7 +109,7 @@ public ConnectionZSideAccessPointPort build() { final var _resultValue = new ConnectionZSideAccessPointPort(); _resultValue.href = href; _resultValue.name = name; - _resultValue.redundancies = redundancies; + _resultValue.redundancy = redundancy; _resultValue.uuid = uuid; return _resultValue; } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/Interconnection.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/Interconnection.java index 7916f381..d5fd472f 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/Interconnection.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/Interconnection.java @@ -68,6 +68,22 @@ */ @ResourceType(type="equinix:metal/interconnection:Interconnection") public class Interconnection extends com.pulumi.resources.CustomResource { + /** + * Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + * + */ + @Export(name="authorizationCode", refs={String.class}, tree="[0]") + private Output authorizationCode; + + /** + * @return Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + * + */ + public Output authorizationCode() { + return this.authorizationCode; + } /** * 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. * @@ -332,6 +348,22 @@ public Output type() { public Output>> vlans() { return Codegen.optional(this.vlans); } + /** + * Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + */ + @Export(name="vrfs", refs={List.class,String.class}, tree="[0,1]") + private Output> vrfs; + + /** + * @return Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + */ + public Output>> vrfs() { + return Codegen.optional(this.vrfs); + } /** * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/InterconnectionArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/InterconnectionArgs.java index 32e11f59..4de33419 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/InterconnectionArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/InterconnectionArgs.java @@ -235,6 +235,23 @@ public Optional>> vlans() { return Optional.ofNullable(this.vlans); } + /** + * Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + */ + @Import(name="vrfs") + private @Nullable Output> vrfs; + + /** + * @return Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + */ + public Optional>> vrfs() { + return Optional.ofNullable(this.vrfs); + } + private InterconnectionArgs() {} private InterconnectionArgs(InterconnectionArgs $) { @@ -252,6 +269,7 @@ private InterconnectionArgs(InterconnectionArgs $) { this.tags = $.tags; this.type = $.type; this.vlans = $.vlans; + this.vrfs = $.vrfs; } public static Builder builder() { @@ -594,6 +612,40 @@ public Builder vlans(Integer... vlans) { return vlans(List.of(vlans)); } + /** + * @param vrfs Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + * @return builder + * + */ + public Builder vrfs(@Nullable Output> vrfs) { + $.vrfs = vrfs; + return this; + } + + /** + * @param vrfs Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + * @return builder + * + */ + public Builder vrfs(List vrfs) { + return vrfs(Output.of(vrfs)); + } + + /** + * @param vrfs Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + * @return builder + * + */ + public Builder vrfs(String... vrfs) { + return vrfs(List.of(vrfs)); + } + public InterconnectionArgs build() { $.redundancy = Objects.requireNonNull($.redundancy, "expected parameter 'redundancy' to be non-null"); $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/MetalFunctions.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/MetalFunctions.java index 2ce10546..3ad661a0 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/MetalFunctions.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/MetalFunctions.java @@ -1488,6 +1488,7 @@ public static CompletableFuture getFacilityPlain(GetFacilityP * } * * public static void stack(Context ctx) { + * // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses * var testVlan = new Vlan("testVlan", VlanArgs.builder() * .description("test VLAN in SV") * .metro("sv") @@ -1538,6 +1539,7 @@ public static Output getGateway(GetGatewayArgs args) { * } * * public static void stack(Context ctx) { + * // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses * var testVlan = new Vlan("testVlan", VlanArgs.builder() * .description("test VLAN in SV") * .metro("sv") @@ -1588,6 +1590,7 @@ public static CompletableFuture getGatewayPlain(GetGatewayPlai * } * * public static void stack(Context ctx) { + * // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses * var testVlan = new Vlan("testVlan", VlanArgs.builder() * .description("test VLAN in SV") * .metro("sv") @@ -1638,6 +1641,7 @@ public static Output getGateway(GetGatewayArgs args, InvokeOpt * } * * public static void stack(Context ctx) { + * // Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses * var testVlan = new Vlan("testVlan", VlanArgs.builder() * .description("test VLAN in SV") * .metro("sv") @@ -3166,6 +3170,8 @@ public static CompletableFuture getOrganizationPlain(GetO * .build()) * .build()); * + * // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available + * // It will ignore future changes on plan and metro * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() * .hostname("example") * .plan(examplePlans.applyValue(getPlansResult -> getPlansResult.plans()[0].name())) @@ -3209,6 +3215,7 @@ public static CompletableFuture getOrganizationPlain(GetO * final var ignorePlansMetrosChanges = config.get("ignorePlansMetrosChanges").orElse(false); * final var examplePlans = MetalFunctions.getPlans(); * + * // required device arguments * var exampleDevice = new Device("exampleDevice"); * * } @@ -3369,6 +3376,8 @@ public static Output getPlans() { * .build()) * .build()); * + * // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available + * // It will ignore future changes on plan and metro * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() * .hostname("example") * .plan(examplePlans.applyValue(getPlansResult -> getPlansResult.plans()[0].name())) @@ -3412,6 +3421,7 @@ public static Output getPlans() { * final var ignorePlansMetrosChanges = config.get("ignorePlansMetrosChanges").orElse(false); * final var examplePlans = MetalFunctions.getPlans(); * + * // required device arguments * var exampleDevice = new Device("exampleDevice"); * * } @@ -3572,6 +3582,8 @@ public static CompletableFuture getPlansPlain() { * .build()) * .build()); * + * // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available + * // It will ignore future changes on plan and metro * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() * .hostname("example") * .plan(examplePlans.applyValue(getPlansResult -> getPlansResult.plans()[0].name())) @@ -3615,6 +3627,7 @@ public static CompletableFuture getPlansPlain() { * final var ignorePlansMetrosChanges = config.get("ignorePlansMetrosChanges").orElse(false); * final var examplePlans = MetalFunctions.getPlans(); * + * // required device arguments * var exampleDevice = new Device("exampleDevice"); * * } @@ -3775,6 +3788,8 @@ public static Output getPlans(GetPlansArgs args) { * .build()) * .build()); * + * // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available + * // It will ignore future changes on plan and metro * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() * .hostname("example") * .plan(examplePlans.applyValue(getPlansResult -> getPlansResult.plans()[0].name())) @@ -3818,6 +3833,7 @@ public static Output getPlans(GetPlansArgs args) { * final var ignorePlansMetrosChanges = config.get("ignorePlansMetrosChanges").orElse(false); * final var examplePlans = MetalFunctions.getPlans(); * + * // required device arguments * var exampleDevice = new Device("exampleDevice"); * * } @@ -3978,6 +3994,8 @@ public static CompletableFuture getPlansPlain(GetPlansPlainArgs * .build()) * .build()); * + * // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available + * // It will ignore future changes on plan and metro * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() * .hostname("example") * .plan(examplePlans.applyValue(getPlansResult -> getPlansResult.plans()[0].name())) @@ -4021,6 +4039,7 @@ public static CompletableFuture getPlansPlain(GetPlansPlainArgs * final var ignorePlansMetrosChanges = config.get("ignorePlansMetrosChanges").orElse(false); * final var examplePlans = MetalFunctions.getPlans(); * + * // required device arguments * var exampleDevice = new Device("exampleDevice"); * * } @@ -4181,6 +4200,8 @@ public static Output getPlans(GetPlansArgs args, InvokeOptions o * .build()) * .build()); * + * // This equinix_metal_device will use the first returned plan and the first metro in which that plan is available + * // It will ignore future changes on plan and metro * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() * .hostname("example") * .plan(examplePlans.applyValue(getPlansResult -> getPlansResult.plans()[0].name())) @@ -4224,6 +4245,7 @@ public static Output getPlans(GetPlansArgs args, InvokeOptions o * final var ignorePlansMetrosChanges = config.get("ignorePlansMetrosChanges").orElse(false); * final var examplePlans = MetalFunctions.getPlans(); * + * // required device arguments * var exampleDevice = new Device("exampleDevice"); * * } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/Organization.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/Organization.java index 99b14d30..cbe79c6a 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/Organization.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/Organization.java @@ -74,15 +74,15 @@ public class Organization extends com.pulumi.resources.CustomResource { * */ @Export(name="address", refs={OrganizationAddress.class}, tree="[0]") - private Output address; + private Output address; /** * @return An object that has the address information. See Address * below for more details. * */ - public Output address() { - return this.address; + public Output> address() { + return Codegen.optional(this.address); } /** * The timestamp for when the organization was created. @@ -103,28 +103,28 @@ public Output created() { * */ @Export(name="description", refs={String.class}, tree="[0]") - private Output description; + private Output description; /** * @return Description string. * */ - public Output> description() { - return Codegen.optional(this.description); + public Output description() { + return this.description; } /** * Logo URL. * */ @Export(name="logo", refs={String.class}, tree="[0]") - private Output logo; + private Output logo; /** * @return Logo URL. * */ - public Output> logo() { - return Codegen.optional(this.logo); + public Output logo() { + return this.logo; } /** * The name of the Organization. @@ -145,14 +145,14 @@ public Output name() { * */ @Export(name="twitter", refs={String.class}, tree="[0]") - private Output twitter; + private Output twitter; /** * @return Twitter handle. * */ - public Output> twitter() { - return Codegen.optional(this.twitter); + public Output twitter() { + return this.twitter; } /** * The timestamp for the last time the organization was updated. @@ -173,14 +173,14 @@ public Output updated() { * */ @Export(name="website", refs={String.class}, tree="[0]") - private Output website; + private Output website; /** * @return Website link. * */ - public Output> website() { - return Codegen.optional(this.website); + public Output website() { + return this.website; } /** @@ -195,7 +195,7 @@ public Organization(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Organization(String name, OrganizationArgs args) { + public Organization(String name, @Nullable OrganizationArgs args) { this(name, args, null); } /** @@ -204,7 +204,7 @@ public Organization(String name, OrganizationArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Organization(String name, OrganizationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public Organization(String name, @Nullable OrganizationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("equinix:metal/organization:Organization", name, args == null ? OrganizationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/OrganizationArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/OrganizationArgs.java index 103d73fb..7f82b065 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/OrganizationArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/OrganizationArgs.java @@ -21,16 +21,16 @@ public final class OrganizationArgs extends com.pulumi.resources.ResourceArgs { * below for more details. * */ - @Import(name="address", required=true) - private Output address; + @Import(name="address") + private @Nullable Output address; /** * @return An object that has the address information. See Address * below for more details. * */ - public Output address() { - return this.address; + public Optional> address() { + return Optional.ofNullable(this.address); } /** @@ -144,7 +144,7 @@ public Builder(OrganizationArgs defaults) { * @return builder * */ - public Builder address(Output address) { + public Builder address(@Nullable Output address) { $.address = address; return this; } @@ -266,7 +266,6 @@ public Builder website(String website) { } public OrganizationArgs build() { - $.address = Objects.requireNonNull($.address, "expected parameter 'address' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/Project.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/Project.java index 015683e8..d1a8eac4 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/Project.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/Project.java @@ -68,14 +68,14 @@ public class Project extends com.pulumi.resources.CustomResource { * */ @Export(name="backendTransfer", refs={Boolean.class}, tree="[0]") - private Output backendTransfer; + private Output backendTransfer; /** * @return Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`. * */ - public Output> backendTransfer() { - return Codegen.optional(this.backendTransfer); + public Output backendTransfer() { + return this.backendTransfer; } /** * Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/). diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/Vlan.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/Vlan.java index 6f9fe91d..229c5dcb 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/Vlan.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/Vlan.java @@ -88,28 +88,28 @@ public Output> description() { */ @Deprecated /* 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 */ @Export(name="facility", refs={String.class}, tree="[0]") - private Output facility; + private Output facility; /** * @return Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide * */ - public Output> facility() { - return Codegen.optional(this.facility); + public Output facility() { + return this.facility; } /** * Metro in which to create the VLAN * */ @Export(name="metro", refs={String.class}, tree="[0]") - private Output metro; + private Output metro; /** * @return Metro in which to create the VLAN * */ - public Output> metro() { - return Codegen.optional(this.metro); + public Output metro() { + return this.metro; } /** * ID of parent project. diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationArgs.java index 597907d4..2227d578 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationArgs.java @@ -15,6 +15,21 @@ public final class GetOrganizationArgs extends com.pulumi.resources.InvokeArgs { public static final GetOrganizationArgs Empty = new GetOrganizationArgs(); + /** + * Description string. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description string. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + /** * The organization name. * @@ -52,6 +67,7 @@ public Optional> organizationId() { private GetOrganizationArgs() {} private GetOrganizationArgs(GetOrganizationArgs $) { + this.description = $.description; this.name = $.name; this.organizationId = $.organizationId; } @@ -74,6 +90,27 @@ public Builder(GetOrganizationArgs defaults) { $ = new GetOrganizationArgs(Objects.requireNonNull(defaults)); } + /** + * @param description Description string. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description string. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + /** * @param name The organization name. * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationPlainArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationPlainArgs.java index 4d47ed34..d73b184a 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationPlainArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/GetOrganizationPlainArgs.java @@ -14,6 +14,21 @@ public final class GetOrganizationPlainArgs extends com.pulumi.resources.InvokeA public static final GetOrganizationPlainArgs Empty = new GetOrganizationPlainArgs(); + /** + * Description string. + * + */ + @Import(name="description") + private @Nullable String description; + + /** + * @return Description string. + * + */ + public Optional description() { + return Optional.ofNullable(this.description); + } + /** * The organization name. * @@ -51,6 +66,7 @@ public Optional organizationId() { private GetOrganizationPlainArgs() {} private GetOrganizationPlainArgs(GetOrganizationPlainArgs $) { + this.description = $.description; this.name = $.name; this.organizationId = $.organizationId; } @@ -73,6 +89,17 @@ public Builder(GetOrganizationPlainArgs defaults) { $ = new GetOrganizationPlainArgs(Objects.requireNonNull(defaults)); } + /** + * @param description Description string. + * + * @return builder + * + */ + public Builder description(@Nullable String description) { + $.description = description; + return this; + } + /** * @param name The organization name. * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/InterconnectionState.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/InterconnectionState.java index 8892d13e..f98519e6 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/InterconnectionState.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/inputs/InterconnectionState.java @@ -19,6 +19,23 @@ public final class InterconnectionState extends com.pulumi.resources.ResourceArg public static final InterconnectionState Empty = new InterconnectionState(); + /** + * Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + * + */ + @Import(name="authorizationCode") + private @Nullable Output authorizationCode; + + /** + * @return Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + * + */ + public Optional> authorizationCode() { + return Optional.ofNullable(this.authorizationCode); + } + /** * 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. * @@ -309,9 +326,27 @@ public Optional>> vlans() { return Optional.ofNullable(this.vlans); } + /** + * Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + */ + @Import(name="vrfs") + private @Nullable Output> vrfs; + + /** + * @return Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + */ + public Optional>> vrfs() { + return Optional.ofNullable(this.vrfs); + } + private InterconnectionState() {} private InterconnectionState(InterconnectionState $) { + this.authorizationCode = $.authorizationCode; this.contactEmail = $.contactEmail; this.description = $.description; this.facility = $.facility; @@ -330,6 +365,7 @@ private InterconnectionState(InterconnectionState $) { this.token = $.token; this.type = $.type; this.vlans = $.vlans; + this.vrfs = $.vrfs; } public static Builder builder() { @@ -350,6 +386,29 @@ public Builder(InterconnectionState defaults) { $ = new InterconnectionState(Objects.requireNonNull(defaults)); } + /** + * @param authorizationCode Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + * + * @return builder + * + */ + public Builder authorizationCode(@Nullable Output authorizationCode) { + $.authorizationCode = authorizationCode; + return this; + } + + /** + * @param authorizationCode Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + * + * @return builder + * + */ + public Builder authorizationCode(String authorizationCode) { + return authorizationCode(Output.of(authorizationCode)); + } + /** * @param contactEmail 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. * @@ -790,6 +849,40 @@ public Builder vlans(Integer... vlans) { return vlans(List.of(vlans)); } + /** + * @param vrfs Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + * @return builder + * + */ + public Builder vrfs(@Nullable Output> vrfs) { + $.vrfs = vrfs; + return this; + } + + /** + * @param vrfs Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + * @return builder + * + */ + public Builder vrfs(List vrfs) { + return vrfs(Output.of(vrfs)); + } + + /** + * @param vrfs Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + * + * @return builder + * + */ + public Builder vrfs(String... vrfs) { + return vrfs(List.of(vrfs)); + } + public InterconnectionState build() { return $; } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetInterconnectionResult.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetInterconnectionResult.java index 72d002b0..34e89737 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetInterconnectionResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetInterconnectionResult.java @@ -13,6 +13,7 @@ @CustomType public final class GetInterconnectionResult { + private String authorizationCode; private String connectionId; /** * @return The preferred email used for communication and notifications about the Equinix Fabric interconnection. @@ -117,8 +118,12 @@ public final class GetInterconnectionResult { * */ private List vlans; + private List vrfs; private GetInterconnectionResult() {} + public String authorizationCode() { + return this.authorizationCode; + } public String connectionId() { return this.connectionId; } @@ -263,6 +268,9 @@ public String type() { public List vlans() { return this.vlans; } + public List vrfs() { + return this.vrfs; + } public static Builder builder() { return new Builder(); @@ -273,6 +281,7 @@ public static Builder builder(GetInterconnectionResult defaults) { } @CustomType.Builder public static final class Builder { + private String authorizationCode; private String connectionId; private String contactEmail; private String description; @@ -293,9 +302,11 @@ public static final class Builder { private String token; private String type; private List vlans; + private List vrfs; public Builder() {} public Builder(GetInterconnectionResult defaults) { Objects.requireNonNull(defaults); + this.authorizationCode = defaults.authorizationCode; this.connectionId = defaults.connectionId; this.contactEmail = defaults.contactEmail; this.description = defaults.description; @@ -316,8 +327,14 @@ public Builder(GetInterconnectionResult defaults) { this.token = defaults.token; this.type = defaults.type; this.vlans = defaults.vlans; + this.vrfs = defaults.vrfs; } + @CustomType.Setter + public Builder authorizationCode(String authorizationCode) { + this.authorizationCode = Objects.requireNonNull(authorizationCode); + return this; + } @CustomType.Setter public Builder connectionId(String connectionId) { this.connectionId = Objects.requireNonNull(connectionId); @@ -430,8 +447,17 @@ public Builder vlans(List vlans) { public Builder vlans(Integer... vlans) { return vlans(List.of(vlans)); } + @CustomType.Setter + public Builder vrfs(List vrfs) { + this.vrfs = Objects.requireNonNull(vrfs); + return this; + } + public Builder vrfs(String... vrfs) { + return vrfs(List.of(vrfs)); + } public GetInterconnectionResult build() { final var _resultValue = new GetInterconnectionResult(); + _resultValue.authorizationCode = authorizationCode; _resultValue.connectionId = connectionId; _resultValue.contactEmail = contactEmail; _resultValue.description = description; @@ -452,6 +478,7 @@ public GetInterconnectionResult build() { _resultValue.token = token; _resultValue.type = type; _resultValue.vlans = vlans; + _resultValue.vrfs = vrfs; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetOrganizationResult.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetOrganizationResult.java index 0e0e2832..816b214c 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetOrganizationResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetOrganizationResult.java @@ -8,6 +8,8 @@ import java.lang.String; import java.util.List; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class GetOrganizationResult { @@ -20,11 +22,7 @@ public final class GetOrganizationResult { * @return Description string. * */ - private String description; - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ + private @Nullable String description; private String id; /** * @return Logo URL. @@ -61,13 +59,9 @@ public GetOrganizationAddress address() { * @return Description string. * */ - public String description() { - return this.description; + public Optional description() { + return Optional.ofNullable(this.description); } - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ public String id() { return this.id; } @@ -116,7 +110,7 @@ public static Builder builder(GetOrganizationResult defaults) { @CustomType.Builder public static final class Builder { private GetOrganizationAddress address; - private String description; + private @Nullable String description; private String id; private String logo; private String name; @@ -144,8 +138,8 @@ public Builder address(GetOrganizationAddress address) { return this; } @CustomType.Setter - public Builder description(String description) { - this.description = Objects.requireNonNull(description); + public Builder description(@Nullable String description) { + this.description = description; return this; } @CustomType.Setter diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectBgpConfig.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectBgpConfig.java index f418aa9b..864d9236 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectBgpConfig.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectBgpConfig.java @@ -7,8 +7,6 @@ import java.lang.Integer; import java.lang.String; import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; @CustomType public final class GetProjectBgpConfig { @@ -31,7 +29,7 @@ public final class GetProjectBgpConfig { * @return Password for BGP session in plaintext (not a checksum). * */ - private @Nullable String md5; + private String md5; /** * @return Status of BGP configuration in the project. * @@ -64,8 +62,8 @@ public Integer maxPrefix() { * @return Password for BGP session in plaintext (not a checksum). * */ - public Optional md5() { - return Optional.ofNullable(this.md5); + public String md5() { + return this.md5; } /** * @return Status of BGP configuration in the project. @@ -87,7 +85,7 @@ public static final class Builder { private Integer asn; private String deploymentType; private Integer maxPrefix; - private @Nullable String md5; + private String md5; private String status; public Builder() {} public Builder(GetProjectBgpConfig defaults) { @@ -115,8 +113,8 @@ public Builder maxPrefix(Integer maxPrefix) { return this; } @CustomType.Setter - public Builder md5(@Nullable String md5) { - this.md5 = md5; + public Builder md5(String md5) { + this.md5 = Objects.requireNonNull(md5); return this; } @CustomType.Setter diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectResult.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectResult.java index 5616a7db..09e92035 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetProjectResult.java @@ -27,10 +27,6 @@ public final class GetProjectResult { * */ private String created; - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ private String id; private String name; /** @@ -77,10 +73,6 @@ public GetProjectBgpConfig bgpConfig() { public String created() { return this.created; } - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ public String id() { return this.id; } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetVlanResult.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetVlanResult.java index 3f1f0c5e..f55986df 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetVlanResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/outputs/GetVlanResult.java @@ -28,10 +28,6 @@ public final class GetVlanResult { */ @Deprecated /* 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 */ private String facility; - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ private String id; private String metro; private String projectId; @@ -62,10 +58,6 @@ public String description() { public String facility() { return this.facility; } - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ public String id() { return this.id; } diff --git a/sdk/nodejs/metal/getInterconnection.ts b/sdk/nodejs/metal/getInterconnection.ts index 94cd1656..55801377 100644 --- a/sdk/nodejs/metal/getInterconnection.ts +++ b/sdk/nodejs/metal/getInterconnection.ts @@ -47,6 +47,7 @@ export interface GetInterconnectionArgs { * A collection of values returned by getInterconnection. */ export interface GetInterconnectionResult { + readonly authorizationCode: string; readonly connectionId: string; /** * The preferred email used for communication and notifications about the Equinix Fabric interconnection. @@ -117,7 +118,7 @@ export interface GetInterconnectionResult { /** * (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. * - * @deprecated If your organization already has connection service tokens enabled, use `service_tokens` instead + * @deprecated If your organization already has connection service tokens enabled, use `serviceTokens` instead */ readonly token: string; /** @@ -128,6 +129,7 @@ export interface GetInterconnectionResult { * Attached VLANs. Only available in shared connection. One vlan for Primary/Single connection and two vlans for Redundant connection. */ readonly vlans: number[]; + readonly vrfs: string[]; } /** * Use this data source to retrieve a [connection resource](https://metal.equinix.com/developers/docs/networking/fabric/) diff --git a/sdk/nodejs/metal/getOperatingSystem.ts b/sdk/nodejs/metal/getOperatingSystem.ts index aab2921f..0436edaf 100644 --- a/sdk/nodejs/metal/getOperatingSystem.ts +++ b/sdk/nodejs/metal/getOperatingSystem.ts @@ -21,10 +21,10 @@ import * as utilities from "../utilities"; * }); * const server = new equinix.metal.Device("server", { * hostname: "tf.ubuntu", - * plan: "c3.medium.x86", + * plan: equinix.metal.Plan.C3MediumX86, * metro: "ny", - * operatingSystem: example.then(example => example.id).apply((x) => equinix.metal.operatingsystem.OperatingSystem[x]), - * billingCycle: "hourly", + * operatingSystem: example.then(example => example.id).apply((x) => equinix.metal.OperatingSystem[x]), + * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: local.project_id, * }); * ``` @@ -98,10 +98,10 @@ export interface GetOperatingSystemResult { * }); * const server = new equinix.metal.Device("server", { * hostname: "tf.ubuntu", - * plan: "c3.medium.x86", + * plan: equinix.metal.Plan.C3MediumX86, * metro: "ny", - * operatingSystem: example.then(example => example.id).apply((x) => equinix.metal.operatingsystem.OperatingSystem[x]), - * billingCycle: "hourly", + * operatingSystem: example.then(example => example.id).apply((x) => equinix.metal.OperatingSystem[x]), + * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: local.project_id, * }); * ``` diff --git a/sdk/nodejs/metal/getOrganization.ts b/sdk/nodejs/metal/getOrganization.ts index c77dfb68..83f8b7a5 100644 --- a/sdk/nodejs/metal/getOrganization.ts +++ b/sdk/nodejs/metal/getOrganization.ts @@ -29,6 +29,7 @@ export function getOrganization(args?: GetOrganizationArgs, opts?: pulumi.Invoke opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("equinix:metal/getOrganization:getOrganization", { + "description": args.description, "name": args.name, "organizationId": args.organizationId, }, opts); @@ -38,6 +39,10 @@ export function getOrganization(args?: GetOrganizationArgs, opts?: pulumi.Invoke * A collection of arguments for invoking getOrganization. */ export interface GetOrganizationArgs { + /** + * Description string. + */ + description?: string; /** * The organization name. */ @@ -61,10 +66,7 @@ export interface GetOrganizationResult { /** * Description string. */ - readonly description: string; - /** - * The provider-assigned unique ID for this managed resource. - */ + readonly description?: string; readonly id: string; /** * Logo URL. @@ -110,6 +112,10 @@ export function getOrganizationOutput(args?: GetOrganizationOutputArgs, opts?: p * A collection of arguments for invoking getOrganization. */ export interface GetOrganizationOutputArgs { + /** + * Description string. + */ + description?: pulumi.Input; /** * The organization name. */ diff --git a/sdk/nodejs/metal/getPlans.ts b/sdk/nodejs/metal/getPlans.ts index 2d1d306f..2b2873a2 100644 --- a/sdk/nodejs/metal/getPlans.ts +++ b/sdk/nodejs/metal/getPlans.ts @@ -106,10 +106,10 @@ import * as utilities from "../utilities"; * // It will ignore future changes on plan and metro * const exampleDevice = new equinix.metal.Device("exampleDevice", { * hostname: "example", - * plan: examplePlans.then(examplePlans => examplePlans.plans?.[0]?.name).apply((x) => equinix.metal.plan.Plan[x]), + * plan: examplePlans.then(examplePlans => examplePlans.plans?.[0]?.name).apply((x) => equinix.metal.Plan[x]), * metro: examplePlans.then(examplePlans => examplePlans.plans?.[0]?.availableInMetros?.[0]), - * operatingSystem: "ubuntu_20_04", - * billingCycle: "hourly", + * operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04, + * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: _var.project_id, * }); * ``` @@ -266,10 +266,10 @@ export interface GetPlansResult { * // It will ignore future changes on plan and metro * const exampleDevice = new equinix.metal.Device("exampleDevice", { * hostname: "example", - * plan: examplePlans.then(examplePlans => examplePlans.plans?.[0]?.name).apply((x) => equinix.metal.plan.Plan[x]), + * plan: examplePlans.then(examplePlans => examplePlans.plans?.[0]?.name).apply((x) => equinix.metal.Plan[x]), * metro: examplePlans.then(examplePlans => examplePlans.plans?.[0]?.availableInMetros?.[0]), - * operatingSystem: "ubuntu_20_04", - * billingCycle: "hourly", + * operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04, + * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: _var.project_id, * }); * ``` diff --git a/sdk/nodejs/metal/getPort.ts b/sdk/nodejs/metal/getPort.ts index 3d215a95..d6818244 100644 --- a/sdk/nodejs/metal/getPort.ts +++ b/sdk/nodejs/metal/getPort.ts @@ -20,10 +20,10 @@ import * as utilities from "../utilities"; * const projectId = ""; * const testDevice = new equinix.metal.Device("testDevice", { * hostname: "tfacc-test-device-port", - * plan: "c3.medium.x86", + * plan: equinix.metal.Plan.C3MediumX86, * metro: "sv", - * operatingSystem: "ubuntu_20_04", - * billingCycle: "hourly", + * operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04, + * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: projectId, * }); * const testPort = equinix.metal.getPortOutput({ @@ -131,10 +131,10 @@ export interface GetPortResult { * const projectId = ""; * const testDevice = new equinix.metal.Device("testDevice", { * hostname: "tfacc-test-device-port", - * plan: "c3.medium.x86", + * plan: equinix.metal.Plan.C3MediumX86, * metro: "sv", - * operatingSystem: "ubuntu_20_04", - * billingCycle: "hourly", + * operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04, + * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: projectId, * }); * const testPort = equinix.metal.getPortOutput({ diff --git a/sdk/nodejs/metal/getProject.ts b/sdk/nodejs/metal/getProject.ts index 2b8cd66e..4832d488 100644 --- a/sdk/nodejs/metal/getProject.ts +++ b/sdk/nodejs/metal/getProject.ts @@ -64,9 +64,6 @@ export interface GetProjectResult { * The timestamp for when the project was created. */ readonly created: string; - /** - * The provider-assigned unique ID for this managed resource. - */ readonly id: string; readonly name: string; /** diff --git a/sdk/nodejs/metal/getVlan.ts b/sdk/nodejs/metal/getVlan.ts index d41dce11..b9b7d061 100644 --- a/sdk/nodejs/metal/getVlan.ts +++ b/sdk/nodejs/metal/getVlan.ts @@ -102,9 +102,6 @@ export interface GetVlanResult { * @deprecated 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 */ readonly facility: string; - /** - * The provider-assigned unique ID for this managed resource. - */ readonly id: string; readonly metro: string; readonly projectId: string; diff --git a/sdk/nodejs/metal/interconnection.ts b/sdk/nodejs/metal/interconnection.ts index 6b46e60b..dc30ca93 100644 --- a/sdk/nodejs/metal/interconnection.ts +++ b/sdk/nodejs/metal/interconnection.ts @@ -63,6 +63,11 @@ export class Interconnection extends pulumi.CustomResource { return obj['__pulumiType'] === Interconnection.__pulumiType; } + /** + * Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + */ + public /*out*/ readonly authorizationCode!: pulumi.Output; /** * 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. */ @@ -130,7 +135,7 @@ export class Interconnection extends pulumi.CustomResource { /** * (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. * - * @deprecated If your organization already has connection service tokens enabled, use `service_tokens` instead + * @deprecated If your organization already has connection service tokens enabled, use `serviceTokens` instead */ public /*out*/ readonly token!: pulumi.Output; /** @@ -141,6 +146,11 @@ export class Interconnection extends pulumi.CustomResource { * Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. */ public readonly vlans!: pulumi.Output; + /** + * Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + */ + public readonly vrfs!: pulumi.Output; /** * Create a Interconnection resource with the given unique name, arguments, and options. @@ -155,6 +165,7 @@ export class Interconnection extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as InterconnectionState | undefined; + resourceInputs["authorizationCode"] = state ? state.authorizationCode : undefined; resourceInputs["contactEmail"] = state ? state.contactEmail : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["facility"] = state ? state.facility : undefined; @@ -173,6 +184,7 @@ export class Interconnection extends pulumi.CustomResource { resourceInputs["token"] = state ? state.token : undefined; resourceInputs["type"] = state ? state.type : undefined; resourceInputs["vlans"] = state ? state.vlans : undefined; + resourceInputs["vrfs"] = state ? state.vrfs : undefined; } else { const args = argsOrState as InterconnectionArgs | undefined; if ((!args || args.redundancy === undefined) && !opts.urn) { @@ -195,6 +207,8 @@ export class Interconnection extends pulumi.CustomResource { resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["vlans"] = args ? args.vlans : undefined; + resourceInputs["vrfs"] = args ? args.vrfs : undefined; + resourceInputs["authorizationCode"] = undefined /*out*/; resourceInputs["ports"] = undefined /*out*/; resourceInputs["serviceTokens"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; @@ -209,6 +223,11 @@ export class Interconnection extends pulumi.CustomResource { * Input properties used for looking up and filtering Interconnection resources. */ export interface InterconnectionState { + /** + * Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + * Metal end of the network, when viewing resources from within Fabric. + */ + authorizationCode?: pulumi.Input; /** * 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. */ @@ -276,7 +295,7 @@ export interface InterconnectionState { /** * (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinixEcxL2Connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `serviceTokens` instead. * - * @deprecated If your organization already has connection service tokens enabled, use `service_tokens` instead + * @deprecated If your organization already has connection service tokens enabled, use `serviceTokens` instead */ token?: pulumi.Input; /** @@ -287,6 +306,11 @@ export interface InterconnectionState { * Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. */ vlans?: pulumi.Input[]>; + /** + * Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + */ + vrfs?: pulumi.Input[]>; } /** @@ -351,4 +375,9 @@ export interface InterconnectionArgs { * Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. */ vlans?: pulumi.Input[]>; + /** + * Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + * connection + */ + vrfs?: pulumi.Input[]>; } diff --git a/sdk/nodejs/metal/organization.ts b/sdk/nodejs/metal/organization.ts index 67eee9cc..e6227990 100644 --- a/sdk/nodejs/metal/organization.ts +++ b/sdk/nodejs/metal/organization.ts @@ -69,7 +69,7 @@ export class Organization extends pulumi.CustomResource { * An object that has the address information. See Address * below for more details. */ - public readonly address!: pulumi.Output; + public readonly address!: pulumi.Output; /** * The timestamp for when the organization was created. */ @@ -77,11 +77,11 @@ export class Organization extends pulumi.CustomResource { /** * Description string. */ - public readonly description!: pulumi.Output; + public readonly description!: pulumi.Output; /** * Logo URL. */ - public readonly logo!: pulumi.Output; + public readonly logo!: pulumi.Output; /** * The name of the Organization. */ @@ -89,7 +89,7 @@ export class Organization extends pulumi.CustomResource { /** * Twitter handle. */ - public readonly twitter!: pulumi.Output; + public readonly twitter!: pulumi.Output; /** * The timestamp for the last time the organization was updated. */ @@ -97,7 +97,7 @@ export class Organization extends pulumi.CustomResource { /** * Website link. */ - public readonly website!: pulumi.Output; + public readonly website!: pulumi.Output; /** * Create a Organization resource with the given unique name, arguments, and options. @@ -106,7 +106,7 @@ export class Organization extends pulumi.CustomResource { * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ - constructor(name: string, args: OrganizationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: OrganizationArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: OrganizationArgs | OrganizationState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -122,9 +122,6 @@ export class Organization extends pulumi.CustomResource { resourceInputs["website"] = state ? state.website : undefined; } else { const args = argsOrState as OrganizationArgs | undefined; - if ((!args || args.address === undefined) && !opts.urn) { - throw new Error("Missing required property 'address'"); - } resourceInputs["address"] = args ? args.address : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["logo"] = args ? args.logo : undefined; @@ -186,7 +183,7 @@ export interface OrganizationArgs { * An object that has the address information. See Address * below for more details. */ - address: pulumi.Input; + address?: pulumi.Input; /** * Description string. */ diff --git a/sdk/nodejs/metal/project.ts b/sdk/nodejs/metal/project.ts index 7321f0fd..be251173 100644 --- a/sdk/nodejs/metal/project.ts +++ b/sdk/nodejs/metal/project.ts @@ -70,7 +70,7 @@ export class Project extends pulumi.CustomResource { /** * Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`. */ - public readonly backendTransfer!: pulumi.Output; + public readonly backendTransfer!: pulumi.Output; /** * Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/). * diff --git a/sdk/nodejs/metal/vlan.ts b/sdk/nodejs/metal/vlan.ts index bb4bff9d..310529bf 100644 --- a/sdk/nodejs/metal/vlan.ts +++ b/sdk/nodejs/metal/vlan.ts @@ -79,11 +79,11 @@ export class Vlan extends pulumi.CustomResource { * * @deprecated 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 */ - public readonly facility!: pulumi.Output; + public readonly facility!: pulumi.Output; /** * Metro in which to create the VLAN */ - public readonly metro!: pulumi.Output; + public readonly metro!: pulumi.Output; /** * ID of parent project. */ diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 52a07dfc..6d7c7108 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -338,7 +338,7 @@ export namespace fabric { /** * Redundancy Information */ - redundancies?: pulumi.Input[]>; + redundancy?: pulumi.Input; /** * Equinix-assigned virtual gateway identifier */ @@ -855,7 +855,7 @@ export namespace fabric { /** * Redundancy Information */ - redundancies?: pulumi.Input[]>; + redundancy?: pulumi.Input; /** * Equinix-assigned virtual gateway identifier */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 09685230..0534d62b 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -338,7 +338,7 @@ export namespace fabric { /** * Redundancy Information */ - redundancies: outputs.fabric.ConnectionASideAccessPointPortRedundancy[]; + redundancy: outputs.fabric.ConnectionASideAccessPointPortRedundancy; /** * Equinix-assigned virtual gateway identifier */ @@ -855,7 +855,7 @@ export namespace fabric { /** * Redundancy Information */ - redundancies: outputs.fabric.ConnectionZSideAccessPointPortRedundancy[]; + redundancy: outputs.fabric.ConnectionZSideAccessPointPortRedundancy; /** * Equinix-assigned virtual gateway identifier */ @@ -4755,7 +4755,7 @@ export namespace metal { /** * (**Deprecated**) list of facilities where the plan is available * - * @deprecated Use available_in_metros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices + * @deprecated Use availableInMetros instead. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices */ availableIns: string[]; /** @@ -4827,7 +4827,7 @@ export namespace metal { /** * Password for BGP session in plaintext (not a checksum). */ - md5?: string; + md5: string; /** * Status of BGP configuration in the project. */ @@ -4881,7 +4881,7 @@ export namespace metal { /** * State name. */ - state?: string; + state: string; /** * Zip Code. */ diff --git a/sdk/python/pulumi_equinix/fabric/_inputs.py b/sdk/python/pulumi_equinix/fabric/_inputs.py index 7bb8e01f..122d9b8f 100644 --- a/sdk/python/pulumi_equinix/fabric/_inputs.py +++ b/sdk/python/pulumi_equinix/fabric/_inputs.py @@ -1298,20 +1298,20 @@ class ConnectionASideAccessPointPortArgs: def __init__(__self__, *, href: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - redundancies: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs']]]] = None, + redundancy: Optional[pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs']] = None, uuid: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] href: Unique Resource Identifier :param pulumi.Input[str] name: Port name - :param pulumi.Input[Sequence[pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs']]] redundancies: Redundancy Information + :param pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs'] redundancy: Redundancy Information :param pulumi.Input[str] uuid: Equinix-assigned virtual gateway identifier """ if href is not None: pulumi.set(__self__, "href", href) if name is not None: pulumi.set(__self__, "name", name) - if redundancies is not None: - pulumi.set(__self__, "redundancies", redundancies) + if redundancy is not None: + pulumi.set(__self__, "redundancy", redundancy) if uuid is not None: pulumi.set(__self__, "uuid", uuid) @@ -1341,15 +1341,15 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def redundancies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs']]]]: + def redundancy(self) -> Optional[pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs']]: """ Redundancy Information """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "redundancy") - @redundancies.setter - def redundancies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs']]]]): - pulumi.set(self, "redundancies", value) + @redundancy.setter + def redundancy(self, value: Optional[pulumi.Input['ConnectionASideAccessPointPortRedundancyArgs']]): + pulumi.set(self, "redundancy", value) @property @pulumi.getter @@ -3235,20 +3235,20 @@ class ConnectionZSideAccessPointPortArgs: def __init__(__self__, *, href: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - redundancies: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs']]]] = None, + redundancy: Optional[pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs']] = None, uuid: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] href: Unique Resource Identifier :param pulumi.Input[str] name: Port name - :param pulumi.Input[Sequence[pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs']]] redundancies: Redundancy Information + :param pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs'] redundancy: Redundancy Information :param pulumi.Input[str] uuid: Equinix-assigned virtual gateway identifier """ if href is not None: pulumi.set(__self__, "href", href) if name is not None: pulumi.set(__self__, "name", name) - if redundancies is not None: - pulumi.set(__self__, "redundancies", redundancies) + if redundancy is not None: + pulumi.set(__self__, "redundancy", redundancy) if uuid is not None: pulumi.set(__self__, "uuid", uuid) @@ -3278,15 +3278,15 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def redundancies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs']]]]: + def redundancy(self) -> Optional[pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs']]: """ Redundancy Information """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "redundancy") - @redundancies.setter - def redundancies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs']]]]): - pulumi.set(self, "redundancies", value) + @redundancy.setter + def redundancy(self, value: Optional[pulumi.Input['ConnectionZSideAccessPointPortRedundancyArgs']]): + pulumi.set(self, "redundancy", value) @property @pulumi.getter diff --git a/sdk/python/pulumi_equinix/fabric/outputs.py b/sdk/python/pulumi_equinix/fabric/outputs.py index cfc33f9e..1c48b082 100644 --- a/sdk/python/pulumi_equinix/fabric/outputs.py +++ b/sdk/python/pulumi_equinix/fabric/outputs.py @@ -1389,20 +1389,20 @@ class ConnectionASideAccessPointPort(dict): def __init__(__self__, *, href: Optional[str] = None, name: Optional[str] = None, - redundancies: Optional[Sequence['outputs.ConnectionASideAccessPointPortRedundancy']] = None, + redundancy: Optional['outputs.ConnectionASideAccessPointPortRedundancy'] = None, uuid: Optional[str] = None): """ :param str href: Unique Resource Identifier :param str name: Port name - :param Sequence['ConnectionASideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information + :param 'ConnectionASideAccessPointPortRedundancyArgs' redundancy: Redundancy Information :param str uuid: Equinix-assigned virtual gateway identifier """ if href is not None: pulumi.set(__self__, "href", href) if name is not None: pulumi.set(__self__, "name", name) - if redundancies is not None: - pulumi.set(__self__, "redundancies", redundancies) + if redundancy is not None: + pulumi.set(__self__, "redundancy", redundancy) if uuid is not None: pulumi.set(__self__, "uuid", uuid) @@ -1424,11 +1424,11 @@ def name(self) -> Optional[str]: @property @pulumi.getter - def redundancies(self) -> Optional[Sequence['outputs.ConnectionASideAccessPointPortRedundancy']]: + def redundancy(self) -> Optional['outputs.ConnectionASideAccessPointPortRedundancy']: """ Redundancy Information """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "redundancy") @property @pulumi.getter @@ -3188,20 +3188,20 @@ class ConnectionZSideAccessPointPort(dict): def __init__(__self__, *, href: Optional[str] = None, name: Optional[str] = None, - redundancies: Optional[Sequence['outputs.ConnectionZSideAccessPointPortRedundancy']] = None, + redundancy: Optional['outputs.ConnectionZSideAccessPointPortRedundancy'] = None, uuid: Optional[str] = None): """ :param str href: Unique Resource Identifier :param str name: Port name - :param Sequence['ConnectionZSideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information + :param 'ConnectionZSideAccessPointPortRedundancyArgs' redundancy: Redundancy Information :param str uuid: Equinix-assigned virtual gateway identifier """ if href is not None: pulumi.set(__self__, "href", href) if name is not None: pulumi.set(__self__, "name", name) - if redundancies is not None: - pulumi.set(__self__, "redundancies", redundancies) + if redundancy is not None: + pulumi.set(__self__, "redundancy", redundancy) if uuid is not None: pulumi.set(__self__, "uuid", uuid) @@ -3223,11 +3223,11 @@ def name(self) -> Optional[str]: @property @pulumi.getter - def redundancies(self) -> Optional[Sequence['outputs.ConnectionZSideAccessPointPortRedundancy']]: + def redundancy(self) -> Optional['outputs.ConnectionZSideAccessPointPortRedundancy']: """ Redundancy Information """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "redundancy") @property @pulumi.getter diff --git a/sdk/python/pulumi_equinix/metal/get_interconnection.py b/sdk/python/pulumi_equinix/metal/get_interconnection.py index 19b97f50..a0e253cb 100644 --- a/sdk/python/pulumi_equinix/metal/get_interconnection.py +++ b/sdk/python/pulumi_equinix/metal/get_interconnection.py @@ -22,7 +22,10 @@ class GetInterconnectionResult: """ A collection of values returned by getInterconnection. """ - def __init__(__self__, connection_id=None, contact_email=None, description=None, facility=None, id=None, metro=None, mode=None, name=None, organization_id=None, ports=None, project_id=None, redundancy=None, service_token_type=None, service_tokens=None, speed=None, status=None, tags=None, token=None, type=None, vlans=None): + def __init__(__self__, authorization_code=None, connection_id=None, contact_email=None, description=None, facility=None, id=None, metro=None, mode=None, name=None, organization_id=None, ports=None, project_id=None, redundancy=None, service_token_type=None, service_tokens=None, speed=None, status=None, tags=None, token=None, type=None, vlans=None, vrfs=None): + if authorization_code and not isinstance(authorization_code, str): + raise TypeError("Expected argument 'authorization_code' to be a str") + pulumi.set(__self__, "authorization_code", authorization_code) if connection_id and not isinstance(connection_id, str): raise TypeError("Expected argument 'connection_id' to be a str") pulumi.set(__self__, "connection_id", connection_id) @@ -83,6 +86,14 @@ def __init__(__self__, connection_id=None, contact_email=None, description=None, if vlans and not isinstance(vlans, list): raise TypeError("Expected argument 'vlans' to be a list") pulumi.set(__self__, "vlans", vlans) + if vrfs and not isinstance(vrfs, list): + raise TypeError("Expected argument 'vrfs' to be a list") + pulumi.set(__self__, "vrfs", vrfs) + + @property + @pulumi.getter(name="authorizationCode") + def authorization_code(self) -> str: + return pulumi.get(self, "authorization_code") @property @pulumi.getter(name="connectionId") @@ -247,6 +258,11 @@ def vlans(self) -> Sequence[int]: """ return pulumi.get(self, "vlans") + @property + @pulumi.getter + def vrfs(self) -> Sequence[str]: + return pulumi.get(self, "vrfs") + class AwaitableGetInterconnectionResult(GetInterconnectionResult): # pylint: disable=using-constant-test @@ -254,6 +270,7 @@ def __await__(self): if False: yield self return GetInterconnectionResult( + authorization_code=self.authorization_code, connection_id=self.connection_id, contact_email=self.contact_email, description=self.description, @@ -273,7 +290,8 @@ def __await__(self): tags=self.tags, token=self.token, type=self.type, - vlans=self.vlans) + vlans=self.vlans, + vrfs=self.vrfs) def get_interconnection(connection_id: Optional[str] = None, @@ -303,6 +321,7 @@ def get_interconnection(connection_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('equinix:metal/getInterconnection:getInterconnection', __args__, opts=opts, typ=GetInterconnectionResult).value return AwaitableGetInterconnectionResult( + authorization_code=pulumi.get(__ret__, 'authorization_code'), connection_id=pulumi.get(__ret__, 'connection_id'), contact_email=pulumi.get(__ret__, 'contact_email'), description=pulumi.get(__ret__, 'description'), @@ -322,7 +341,8 @@ def get_interconnection(connection_id: Optional[str] = None, tags=pulumi.get(__ret__, 'tags'), token=pulumi.get(__ret__, 'token'), type=pulumi.get(__ret__, 'type'), - vlans=pulumi.get(__ret__, 'vlans')) + vlans=pulumi.get(__ret__, 'vlans'), + vrfs=pulumi.get(__ret__, 'vrfs')) @_utilities.lift_output_func(get_interconnection) diff --git a/sdk/python/pulumi_equinix/metal/get_operating_system.py b/sdk/python/pulumi_equinix/metal/get_operating_system.py index 5fccdfb2..a5e5c684 100644 --- a/sdk/python/pulumi_equinix/metal/get_operating_system.py +++ b/sdk/python/pulumi_equinix/metal/get_operating_system.py @@ -112,10 +112,10 @@ def get_operating_system(distro: Optional[str] = None, provisionable_on="c3.medium.x86") server = equinix.metal.Device("server", hostname="tf.ubuntu", - plan="c3.medium.x86", + plan=equinix.metal.Plan.C3_MEDIUM_X86, metro="ny", - operating_system=example.id.apply(lambda x: equinix.metal/operatingsystem.OperatingSystem(x)), - billing_cycle="hourly", + operating_system=example.id.apply(lambda x: equinix.metal.OperatingSystem(x)), + billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=local["project_id"]) ``` @@ -164,10 +164,10 @@ def get_operating_system_output(distro: Optional[pulumi.Input[Optional[str]]] = provisionable_on="c3.medium.x86") server = equinix.metal.Device("server", hostname="tf.ubuntu", - plan="c3.medium.x86", + plan=equinix.metal.Plan.C3_MEDIUM_X86, metro="ny", - operating_system=example.id.apply(lambda x: equinix.metal/operatingsystem.OperatingSystem(x)), - billing_cycle="hourly", + operating_system=example.id.apply(lambda x: equinix.metal.OperatingSystem(x)), + billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=local["project_id"]) ``` diff --git a/sdk/python/pulumi_equinix/metal/get_organization.py b/sdk/python/pulumi_equinix/metal/get_organization.py index 595c39b4..024ab4f5 100644 --- a/sdk/python/pulumi_equinix/metal/get_organization.py +++ b/sdk/python/pulumi_equinix/metal/get_organization.py @@ -61,7 +61,7 @@ def address(self) -> 'outputs.GetOrganizationAddressResult': @property @pulumi.getter - def description(self) -> str: + def description(self) -> Optional[str]: """ Description string. """ @@ -70,9 +70,6 @@ def description(self) -> str: @property @pulumi.getter def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ return pulumi.get(self, "id") @property @@ -135,7 +132,8 @@ def __await__(self): website=self.website) -def get_organization(name: Optional[str] = None, +def get_organization(description: Optional[str] = None, + name: Optional[str] = None, organization_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrganizationResult: """ @@ -154,12 +152,14 @@ def get_organization(name: Optional[str] = None, + :param str description: Description string. :param str name: The organization name. :param str organization_id: The UUID of the organization resource. Exactly one of `name` or `organization_id` must be given. """ __args__ = dict() + __args__['description'] = description __args__['name'] = name __args__['organizationId'] = organization_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) @@ -178,7 +178,8 @@ def get_organization(name: Optional[str] = None, @_utilities.lift_output_func(get_organization) -def get_organization_output(name: Optional[pulumi.Input[Optional[str]]] = None, +def get_organization_output(description: Optional[pulumi.Input[Optional[str]]] = None, + name: Optional[pulumi.Input[Optional[str]]] = None, organization_id: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationResult]: """ @@ -197,6 +198,7 @@ def get_organization_output(name: Optional[pulumi.Input[Optional[str]]] = None, + :param str description: Description string. :param str name: The organization name. :param str organization_id: The UUID of the organization resource. diff --git a/sdk/python/pulumi_equinix/metal/get_plans.py b/sdk/python/pulumi_equinix/metal/get_plans.py index 5248df9f..d31a5608 100644 --- a/sdk/python/pulumi_equinix/metal/get_plans.py +++ b/sdk/python/pulumi_equinix/metal/get_plans.py @@ -169,10 +169,10 @@ def get_plans(filters: Optional[Sequence[pulumi.InputType['GetPlansFilterArgs']] # It will ignore future changes on plan and metro example_device = equinix.metal.Device("exampleDevice", hostname="example", - plan=example_plans.plans[0].name.apply(lambda x: equinix.metal/plan.Plan(x)), + plan=example_plans.plans[0].name.apply(lambda x: equinix.metal.Plan(x)), metro=example_plans.plans[0].available_in_metros[0], - operating_system="ubuntu_20_04", - billing_cycle="hourly", + operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, + billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=var["project_id"]) ``` @@ -309,10 +309,10 @@ def get_plans_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.Inp # It will ignore future changes on plan and metro example_device = equinix.metal.Device("exampleDevice", hostname="example", - plan=example_plans.plans[0].name.apply(lambda x: equinix.metal/plan.Plan(x)), + plan=example_plans.plans[0].name.apply(lambda x: equinix.metal.Plan(x)), metro=example_plans.plans[0].available_in_metros[0], - operating_system="ubuntu_20_04", - billing_cycle="hourly", + operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, + billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=var["project_id"]) ``` diff --git a/sdk/python/pulumi_equinix/metal/get_port.py b/sdk/python/pulumi_equinix/metal/get_port.py index 416ba1c6..f2dd59ec 100644 --- a/sdk/python/pulumi_equinix/metal/get_port.py +++ b/sdk/python/pulumi_equinix/metal/get_port.py @@ -220,10 +220,10 @@ def get_port(device_id: Optional[str] = None, project_id = "" test_device = equinix.metal.Device("testDevice", hostname="tfacc-test-device-port", - plan="c3.medium.x86", + plan=equinix.metal.Plan.C3_MEDIUM_X86, metro="sv", - operating_system="ubuntu_20_04", - billing_cycle="hourly", + operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, + billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id) test_port = equinix.metal.get_port_output(device_id=test_device.id, name="eth0") @@ -281,10 +281,10 @@ def get_port_output(device_id: Optional[pulumi.Input[Optional[str]]] = None, project_id = "" test_device = equinix.metal.Device("testDevice", hostname="tfacc-test-device-port", - plan="c3.medium.x86", + plan=equinix.metal.Plan.C3_MEDIUM_X86, metro="sv", - operating_system="ubuntu_20_04", - billing_cycle="hourly", + operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, + billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id) test_port = equinix.metal.get_port_output(device_id=test_device.id, name="eth0") diff --git a/sdk/python/pulumi_equinix/metal/get_project.py b/sdk/python/pulumi_equinix/metal/get_project.py index 4001cec6..a7bf2be1 100644 --- a/sdk/python/pulumi_equinix/metal/get_project.py +++ b/sdk/python/pulumi_equinix/metal/get_project.py @@ -81,9 +81,6 @@ def created(self) -> str: @property @pulumi.getter def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ return pulumi.get(self, "id") @property diff --git a/sdk/python/pulumi_equinix/metal/get_vlan.py b/sdk/python/pulumi_equinix/metal/get_vlan.py index aaccfed4..5022ab8e 100644 --- a/sdk/python/pulumi_equinix/metal/get_vlan.py +++ b/sdk/python/pulumi_equinix/metal/get_vlan.py @@ -74,9 +74,6 @@ def facility(self) -> str: @property @pulumi.getter def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ return pulumi.get(self, "id") @property diff --git a/sdk/python/pulumi_equinix/metal/interconnection.py b/sdk/python/pulumi_equinix/metal/interconnection.py index 48587c59..d2077c22 100644 --- a/sdk/python/pulumi_equinix/metal/interconnection.py +++ b/sdk/python/pulumi_equinix/metal/interconnection.py @@ -29,7 +29,8 @@ def __init__(__self__, *, service_token_type: Optional[pulumi.Input[str]] = None, speed: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None): + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + vrfs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Interconnection resource. :param pulumi.Input[str] redundancy: Connection redundancy - redundant or primary. @@ -46,6 +47,8 @@ def __init__(__self__, *, :param pulumi.Input[str] speed: Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: String list of tags. :param pulumi.Input[Sequence[pulumi.Input[int]]] vlans: Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vrfs: Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + connection """ pulumi.set(__self__, "redundancy", redundancy) pulumi.set(__self__, "type", type) @@ -76,6 +79,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if vlans is not None: pulumi.set(__self__, "vlans", vlans) + if vrfs is not None: + pulumi.set(__self__, "vrfs", vrfs) @property @pulumi.getter @@ -248,10 +253,24 @@ def vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: def vlans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): pulumi.set(self, "vlans", value) + @property + @pulumi.getter + def vrfs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + connection + """ + return pulumi.get(self, "vrfs") + + @vrfs.setter + def vrfs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vrfs", value) + @pulumi.input_type class _InterconnectionState: def __init__(__self__, *, + authorization_code: Optional[pulumi.Input[str]] = None, contact_email: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, facility: Optional[pulumi.Input[str]] = None, @@ -269,9 +288,12 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, token: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None, - vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None): + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + vrfs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Interconnection resources. + :param pulumi.Input[str] authorization_code: Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + Metal end of the network, when viewing resources from within Fabric. :param pulumi.Input[str] contact_email: 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. :param pulumi.Input[str] description: Description for the connection resource. :param pulumi.Input[str] facility: Facility where the connection will be created. Use metro instead; read the facility to metro migration guide @@ -292,7 +314,11 @@ def __init__(__self__, *, :param pulumi.Input[str] token: (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinix_ecx_l2_connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `service_tokens` instead. :param pulumi.Input[str] type: Connection type - dedicated or shared. :param pulumi.Input[Sequence[pulumi.Input[int]]] vlans: Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vrfs: Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + connection """ + if authorization_code is not None: + pulumi.set(__self__, "authorization_code", authorization_code) if contact_email is not None: pulumi.set(__self__, "contact_email", contact_email) if description is not None: @@ -335,6 +361,21 @@ def __init__(__self__, *, pulumi.set(__self__, "type", type) if vlans is not None: pulumi.set(__self__, "vlans", vlans) + if vrfs is not None: + pulumi.set(__self__, "vrfs", vrfs) + + @property + @pulumi.getter(name="authorizationCode") + def authorization_code(self) -> Optional[pulumi.Input[str]]: + """ + Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + Metal end of the network, when viewing resources from within Fabric. + """ + return pulumi.get(self, "authorization_code") + + @authorization_code.setter + def authorization_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_code", value) @property @pulumi.getter(name="contactEmail") @@ -560,6 +601,19 @@ def vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: def vlans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): pulumi.set(self, "vlans", value) + @property + @pulumi.getter + def vrfs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + connection + """ + return pulumi.get(self, "vrfs") + + @vrfs.setter + def vrfs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vrfs", value) + class Interconnection(pulumi.CustomResource): @overload @@ -580,6 +634,7 @@ def __init__(__self__, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + vrfs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ 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/). @@ -627,6 +682,8 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: String list of tags. :param pulumi.Input[str] type: Connection type - dedicated or shared. :param pulumi.Input[Sequence[pulumi.Input[int]]] vlans: Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vrfs: Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + connection """ ... @overload @@ -693,6 +750,7 @@ def _internal_init(__self__, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + vrfs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -720,6 +778,8 @@ def _internal_init(__self__, raise TypeError("Missing required property 'type'") __props__.__dict__["type"] = type __props__.__dict__["vlans"] = vlans + __props__.__dict__["vrfs"] = vrfs + __props__.__dict__["authorization_code"] = None __props__.__dict__["ports"] = None __props__.__dict__["service_tokens"] = None __props__.__dict__["status"] = None @@ -734,6 +794,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + authorization_code: Optional[pulumi.Input[str]] = None, contact_email: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, facility: Optional[pulumi.Input[str]] = None, @@ -751,7 +812,8 @@ def get(resource_name: str, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, token: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None, - vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None) -> 'Interconnection': + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + vrfs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Interconnection': """ Get an existing Interconnection resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -759,6 +821,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_code: Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + Metal end of the network, when viewing resources from within Fabric. :param pulumi.Input[str] contact_email: 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. :param pulumi.Input[str] description: Description for the connection resource. :param pulumi.Input[str] facility: Facility where the connection will be created. Use metro instead; read the facility to metro migration guide @@ -779,11 +843,14 @@ def get(resource_name: str, :param pulumi.Input[str] token: (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the equinix_ecx_l2_connection resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `service_tokens` instead. :param pulumi.Input[str] type: Connection type - dedicated or shared. :param pulumi.Input[Sequence[pulumi.Input[int]]] vlans: Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vrfs: Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + connection """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _InterconnectionState.__new__(_InterconnectionState) + __props__.__dict__["authorization_code"] = authorization_code __props__.__dict__["contact_email"] = contact_email __props__.__dict__["description"] = description __props__.__dict__["facility"] = facility @@ -802,8 +869,18 @@ def get(resource_name: str, __props__.__dict__["token"] = token __props__.__dict__["type"] = type __props__.__dict__["vlans"] = vlans + __props__.__dict__["vrfs"] = vrfs return Interconnection(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="authorizationCode") + def authorization_code(self) -> pulumi.Output[str]: + """ + Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the + Metal end of the network, when viewing resources from within Fabric. + """ + return pulumi.get(self, "authorization_code") + @property @pulumi.getter(name="contactEmail") def contact_email(self) -> pulumi.Output[str]: @@ -956,3 +1033,12 @@ def vlans(self) -> pulumi.Output[Optional[Sequence[int]]]: """ return pulumi.get(self, "vlans") + @property + @pulumi.getter + def vrfs(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant + connection + """ + return pulumi.get(self, "vrfs") + diff --git a/sdk/python/pulumi_equinix/metal/organization.py b/sdk/python/pulumi_equinix/metal/organization.py index a8df1f5b..0232759b 100644 --- a/sdk/python/pulumi_equinix/metal/organization.py +++ b/sdk/python/pulumi_equinix/metal/organization.py @@ -16,7 +16,7 @@ @pulumi.input_type class OrganizationArgs: def __init__(__self__, *, - address: pulumi.Input['OrganizationAddressArgs'], + address: Optional[pulumi.Input['OrganizationAddressArgs']] = None, description: Optional[pulumi.Input[str]] = None, logo: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -32,7 +32,8 @@ def __init__(__self__, *, :param pulumi.Input[str] twitter: Twitter handle. :param pulumi.Input[str] website: Website link. """ - pulumi.set(__self__, "address", address) + if address is not None: + pulumi.set(__self__, "address", address) if description is not None: pulumi.set(__self__, "description", description) if logo is not None: @@ -46,7 +47,7 @@ def __init__(__self__, *, @property @pulumi.getter - def address(self) -> pulumi.Input['OrganizationAddressArgs']: + def address(self) -> Optional[pulumi.Input['OrganizationAddressArgs']]: """ An object that has the address information. See Address below for more details. @@ -54,7 +55,7 @@ def address(self) -> pulumi.Input['OrganizationAddressArgs']: return pulumi.get(self, "address") @address.setter - def address(self, value: pulumi.Input['OrganizationAddressArgs']): + def address(self, value: Optional[pulumi.Input['OrganizationAddressArgs']]): pulumi.set(self, "address", value) @property @@ -310,7 +311,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: OrganizationArgs, + args: Optional[OrganizationArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ Provides a resource to manage organization resource in Equinix Metal. @@ -370,8 +371,6 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = OrganizationArgs.__new__(OrganizationArgs) - if address is None and not opts.urn: - raise TypeError("Missing required property 'address'") __props__.__dict__["address"] = address __props__.__dict__["description"] = description __props__.__dict__["logo"] = logo @@ -431,7 +430,7 @@ def get(resource_name: str, @property @pulumi.getter - def address(self) -> pulumi.Output['outputs.OrganizationAddress']: + def address(self) -> pulumi.Output[Optional['outputs.OrganizationAddress']]: """ An object that has the address information. See Address below for more details. @@ -448,7 +447,7 @@ def created(self) -> pulumi.Output[str]: @property @pulumi.getter - def description(self) -> pulumi.Output[Optional[str]]: + def description(self) -> pulumi.Output[str]: """ Description string. """ @@ -456,7 +455,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def logo(self) -> pulumi.Output[Optional[str]]: + def logo(self) -> pulumi.Output[str]: """ Logo URL. """ @@ -472,7 +471,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter - def twitter(self) -> pulumi.Output[Optional[str]]: + def twitter(self) -> pulumi.Output[str]: """ Twitter handle. """ @@ -488,7 +487,7 @@ def updated(self) -> pulumi.Output[str]: @property @pulumi.getter - def website(self) -> pulumi.Output[Optional[str]]: + def website(self) -> pulumi.Output[str]: """ Website link. """ diff --git a/sdk/python/pulumi_equinix/metal/outputs.py b/sdk/python/pulumi_equinix/metal/outputs.py index c9b6a911..a25d8c08 100644 --- a/sdk/python/pulumi_equinix/metal/outputs.py +++ b/sdk/python/pulumi_equinix/metal/outputs.py @@ -2155,21 +2155,20 @@ def __init__(__self__, *, asn: int, deployment_type: str, max_prefix: int, - status: str, - md5: Optional[str] = None): + md5: str, + status: str): """ :param int asn: Autonomous System Number for local BGP deployment. :param str deployment_type: One of `private`, `public`. :param int max_prefix: The maximum number of route filters allowed per server. - :param str status: Status of BGP configuration in the project. :param str md5: Password for BGP session in plaintext (not a checksum). + :param str status: Status of BGP configuration in the project. """ pulumi.set(__self__, "asn", asn) pulumi.set(__self__, "deployment_type", deployment_type) pulumi.set(__self__, "max_prefix", max_prefix) + pulumi.set(__self__, "md5", md5) pulumi.set(__self__, "status", status) - if md5 is not None: - pulumi.set(__self__, "md5", md5) @property @pulumi.getter @@ -2197,18 +2196,18 @@ def max_prefix(self) -> int: @property @pulumi.getter - def status(self) -> str: + def md5(self) -> str: """ - Status of BGP configuration in the project. + Password for BGP session in plaintext (not a checksum). """ - return pulumi.get(self, "status") + return pulumi.get(self, "md5") @property @pulumi.getter - def md5(self) -> Optional[str]: + def status(self) -> str: """ - Password for BGP session in plaintext (not a checksum). + Status of BGP configuration in the project. """ - return pulumi.get(self, "md5") + return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_equinix/metal/project.py b/sdk/python/pulumi_equinix/metal/project.py index 4871a22f..9a7f2e02 100644 --- a/sdk/python/pulumi_equinix/metal/project.py +++ b/sdk/python/pulumi_equinix/metal/project.py @@ -423,7 +423,7 @@ def get(resource_name: str, @property @pulumi.getter(name="backendTransfer") - def backend_transfer(self) -> pulumi.Output[Optional[bool]]: + def backend_transfer(self) -> pulumi.Output[bool]: """ Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`. """ diff --git a/sdk/python/pulumi_equinix/metal/vlan.py b/sdk/python/pulumi_equinix/metal/vlan.py index f2b855b2..66428a57 100644 --- a/sdk/python/pulumi_equinix/metal/vlan.py +++ b/sdk/python/pulumi_equinix/metal/vlan.py @@ -379,7 +379,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def facility(self) -> pulumi.Output[Optional[str]]: + def facility(self) -> pulumi.Output[str]: """ Facility where to create the VLAN. Use metro instead; read the facility to metro migration guide """ @@ -390,7 +390,7 @@ def facility(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def metro(self) -> pulumi.Output[Optional[str]]: + def metro(self) -> pulumi.Output[str]: """ Metro in which to create the VLAN """ diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 690a0dac..64d696e4 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -3,13 +3,12 @@ # *** Do not edit by hand unless you're certain you know what you are doing! *** import errno -import os from setuptools import setup, find_packages from setuptools.command.install import install from subprocess import check_call -VERSION = os.getenv("PULUMI_PYTHON_VERSION", "0.0.0") +VERSION = "0.0.0" def readme(): try: with open('README.md', encoding='utf-8') as f: diff --git a/upstream b/upstream index 2f918dd9..d63009a7 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 2f918dd9cc48b3e6afaa8378a400f0a9a5071653 +Subproject commit d63009a723d5f9101cf7ee7ede863eef9a4fb324