From f15fdcb12fb38c3d475b65369f9db6061469b0fb Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Fri, 29 Mar 2024 11:28:49 -0700 Subject: [PATCH] Upgrade pulumi-terraform-bridge to v3.79.0 (#427) This PR was generated via `$ upgrade-provider pulumi/pulumi-mongodbatlas --kind=bridge --pr-reviewers=VenelinMartinov`. --- - Updating Java Gen version from 0.9.9 to 0.10.0. - Upgrading pulumi-terraform-bridge from v3.78.0 to v3.79.0. - Upgrading pulumi-terraform-bridge/pf from v0.31.0 to v0.32.0. --- .pulumi-java-gen.version | 2 +- examples/go.mod | 20 ++++----- examples/go.sum | 42 ++++++++++--------- .../pulumi-resource-mongodbatlas/schema.json | 16 +++---- provider/go.mod | 14 +++---- provider/go.sum | 30 ++++++------- sdk/dotnet/LdapVerify.cs | 4 +- sdk/dotnet/NetworkPeering.cs | 8 ++-- sdk/dotnet/ProjectIpAccessList.cs | 4 +- sdk/go.mod | 12 +++--- sdk/go.sum | 24 +++++------ sdk/java/build.gradle | 2 +- .../pulumi/mongodbatlas/AdvancedCluster.java | 1 + .../mongodbatlas/CloudBackupSnapshot.java | 1 + .../java/com/pulumi/mongodbatlas/Cluster.java | 1 + .../com/pulumi/mongodbatlas/LdapVerify.java | 1 + .../pulumi/mongodbatlas/NetworkPeering.java | 37 ++++++++++++++++ .../PrivateLinkEndpointService.java | 4 ++ .../X509AuthenticationDatabaseUser.java | 1 + 19 files changed, 137 insertions(+), 87 deletions(-) diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 6f060dcb..2774f858 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.9.9 \ No newline at end of file +0.10.0 \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod index 7c07d53e..dd67c076 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-mongodbatlas/examples/v2 go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.111.1 +require github.com/pulumi/pulumi/pkg/v3 v3.112.0 require ( cloud.google.com/go v0.110.10 // indirect @@ -58,7 +58,7 @@ 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/fatih/color v1.13.0 // indirect + github.com/fatih/color v1.15.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-git/go-git/v5 v5.11.0 // indirect @@ -104,7 +104,7 @@ require ( github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect github.com/mattn/go-localereader v0.0.1 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect @@ -135,7 +135,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // 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.111.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 @@ -145,7 +145,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 @@ -161,14 +161,14 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.36.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // 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.14.0 // indirect golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.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.15.0 // indirect @@ -179,7 +179,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.59.0 // indirect - google.golang.org/protobuf v1.31.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 7aaf2c12..9b837b0d 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -516,7 +516,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= @@ -604,8 +604,9 @@ github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2Vvl github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -1183,8 +1184,9 @@ github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -1194,6 +1196,7 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= @@ -1467,10 +1470,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.111.1 h1:SrVgQE96T7YlZx/AZoFSlXYwur7ZmQUHyjbPI8sH96Q= -github.com/pulumi/pulumi/pkg/v3 v3.111.1/go.mod h1:ZWsq8Y0EMHZ5E2ju92jC+POz97TEXs3BbQ6r2o0U4SA= -github.com/pulumi/pulumi/sdk/v3 v3.111.1 h1:uOeG/b6YxBuL59xHtmFPspMa8BB6ovjHelL7sVCGJZw= -github.com/pulumi/pulumi/sdk/v3 v3.111.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= @@ -1548,8 +1551,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= @@ -1787,8 +1790,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.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +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= @@ -1915,8 +1918,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= @@ -2104,13 +2107,14 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.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= @@ -2119,8 +2123,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.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +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= @@ -2474,8 +2478,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.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +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/cmd/pulumi-resource-mongodbatlas/schema.json b/provider/cmd/pulumi-resource-mongodbatlas/schema.json index 2eebac3a..b8a1c789 100644 --- a/provider/cmd/pulumi-resource-mongodbatlas/schema.json +++ b/provider/cmd/pulumi-resource-mongodbatlas/schema.json @@ -12078,7 +12078,7 @@ } }, "mongodbatlas:index/advancedCluster:AdvancedCluster": { - "description": "`mongodbatlas.AdvancedCluster` provides an Advanced Cluster resource. The resource lets you create, edit and delete advanced clusters. The resource requires your Project ID.\n\nMore information on considerations for using advanced clusters please see [Considerations](https://docs.atlas.mongodb.com/reference/api/cluster-advanced/create-one-cluster-advanced/#considerations)\n\n\u003e **IMPORTANT:**\n\u003cbr\u003e \u0026#8226; The primary difference between `mongodbatlas.Cluster` is that `mongodbatlas.AdvancedCluster` supports multi-cloud clusters. We recommend new users start with the `mongodbatlas.AdvancedCluster` resource. \n\n\u003e **NOTE:** If Backup Compliance Policy is enabled for the project for which this backup schedule is defined, you cannot modify the backup schedule for an individual cluster below the minimum requirements set in the Backup Compliance Policy. See [Backup Compliance Policy Prohibited Actions and Considerations](https://www.mongodb.com/docs/atlas/backup/cloud-backup/backup-compliance-policy/#configure-a-backup-compliance-policy).\n\n\n\u003cbr\u003e \u0026#8226; Upgrading the shared tier is supported. Any change from a shared tier cluster (a tenant) to a different instance size will be considered a tenant upgrade. When upgrading from the shared tier, change the `provider_name` from \"TENANT\" to your preferred provider (AWS, GCP or Azure) and remove the variable `backing_provider_name`. See the Example Tenant Cluster Upgrade below. Note you can upgrade a shared tier cluster only to a single provider on an M10-tier cluster or greater. \n\u003cbr\u003e \u0026#8226; **IMPORTANT NOTE** When upgrading from the shared tier, *only* the upgrade changes will be applied. This helps avoid a corrupt state file in the event that the upgrade succeeds but subsequent updates fail within the same `pulumi up`. To apply additional cluster changes, run a secondary `pulumi up` after the upgrade succeeds.\n\u003e **NOTE:** Groups and projects are synonymous terms. You might find group_id in the official documentation.\n\n\u003e **NOTE:** A network container is created for each provider/region combination on the advanced cluster. This can be referenced via a computed attribute for use with other resources. Refer to the `replication_specs.#.container_id` attribute in the Attributes Reference for more information.\n\n\u003e **NOTE:** To enable Cluster Extended Storage Sizes use the `is_extended_storage_sizes_enabled` parameter in the mongodbatlas.Project resource.\n\n\u003e **NOTE:** The Low-CPU instance clusters are prefixed with `R`, i.e. `R40`. For complete list of Low-CPU instance clusters see Cluster Configuration Options under each Cloud Provider (https://www.mongodb.com/docs/atlas/reference/cloud-providers/).\n\n\n## Example Usage\n\n### Example single provider and single region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [{\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n priority: 7,\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n priority=7,\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n Priority = 7,\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs(AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .priority(7)\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n electableSpecs:\n instanceSize: M10\n nodeCount: 3\n priority: 7\n providerName: AWS\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Tenant Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [{\n backingProviderName: \"AWS\",\n electableSpecs: {\n instanceSize: \"M5\",\n },\n priority: 7,\n providerName: \"TENANT\",\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n backing_provider_name=\"AWS\",\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M5\",\n ),\n priority=7,\n provider_name=\"TENANT\",\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n BackingProviderName = \"AWS\",\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M5\",\n },\n Priority = 7,\n ProviderName = \"TENANT\",\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tBackingProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M5\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"TENANT\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs(AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .backingProviderName(\"AWS\")\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M5\")\n .build())\n .priority(7)\n .providerName(\"TENANT\")\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - backingProviderName: AWS\n electableSpecs:\n instanceSize: M5\n priority: 7\n providerName: TENANT\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Tenant Cluster Upgrade\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [{\n electableSpecs: {\n instanceSize: \"M10\",\n },\n priority: 7,\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n ),\n priority=7,\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n },\n Priority = 7,\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs(AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .build())\n .priority(7)\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - electableSpecs:\n instanceSize: M10\n priority: 7\n providerName: AWS\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multi-Cloud Cluster.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [\n {\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n priority: 7,\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n priority: 6,\n providerName: \"GCP\",\n regionName: \"NORTH_AMERICA_NORTHEAST_1\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n priority=7,\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n priority=6,\n provider_name=\"GCP\",\n region_name=\"NORTH_AMERICA_NORTHEAST_1\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n Priority = 7,\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n Priority = 6,\n ProviderName = \"GCP\",\n RegionName = \"NORTH_AMERICA_NORTHEAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"NORTH_AMERICA_NORTHEAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .priority(7)\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .priority(6)\n .providerName(\"GCP\")\n .regionName(\"NORTH_AMERICA_NORTHEAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n electableSpecs:\n instanceSize: M10\n nodeCount: 3\n priority: 7\n providerName: AWS\n regionName: US_EAST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n priority: 6\n providerName: GCP\n regionName: NORTH_AMERICA_NORTHEAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example of a Multi-Cloud Cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster = new mongodbatlas.AdvancedCluster(\"cluster\", {\n projectId: mongodbatlas_project.project.id,\n clusterType: \"SHARDED\",\n backupEnabled: true,\n replicationSpecs: [{\n numShards: 3,\n regionConfigs: [\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AWS\",\n priority: 7,\n regionName: \"US_EAST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AZURE\",\n priority: 6,\n regionName: \"US_EAST_2\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"GCP\",\n priority: 5,\n regionName: \"US_EAST_4\",\n },\n ],\n }],\n advancedConfiguration: {\n javascriptEnabled: true,\n oplogSizeMb: 30,\n sampleRefreshIntervalBiConnector: 300,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster = mongodbatlas.AdvancedCluster(\"cluster\",\n project_id=mongodbatlas_project[\"project\"][\"id\"],\n cluster_type=\"SHARDED\",\n backup_enabled=True,\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n num_shards=3,\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AWS\",\n priority=7,\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AZURE\",\n priority=6,\n region_name=\"US_EAST_2\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"GCP\",\n priority=5,\n region_name=\"US_EAST_4\",\n ),\n ],\n )],\n advanced_configuration=mongodbatlas.AdvancedClusterAdvancedConfigurationArgs(\n javascript_enabled=True,\n oplog_size_mb=30,\n sample_refresh_interval_bi_connector=300,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Mongodbatlas.AdvancedCluster(\"cluster\", new()\n {\n ProjectId = mongodbatlas_project.Project.Id,\n ClusterType = \"SHARDED\",\n BackupEnabled = true,\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n NumShards = 3,\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AWS\",\n Priority = 7,\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AZURE\",\n Priority = 6,\n RegionName = \"US_EAST_2\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"GCP\",\n Priority = 5,\n RegionName = \"US_EAST_4\",\n },\n },\n },\n },\n AdvancedConfiguration = new Mongodbatlas.Inputs.AdvancedClusterAdvancedConfigurationArgs\n {\n JavascriptEnabled = true,\n OplogSizeMb = 30,\n SampleRefreshIntervalBiConnector = 300,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"cluster\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tProjectId: pulumi.Any(mongodbatlas_project.Project.Id),\n\t\t\tClusterType: pulumi.String(\"SHARDED\"),\n\t\t\tBackupEnabled: pulumi.Bool(true),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(3),\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdvancedConfiguration: \u0026mongodbatlas.AdvancedClusterAdvancedConfigurationArgs{\n\t\t\t\tJavascriptEnabled: pulumi.Bool(true),\n\t\t\t\tOplogSizeMb: pulumi.Int(30),\n\t\t\t\tSampleRefreshIntervalBiConnector: pulumi.Int(300),\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterAdvancedConfigurationArgs;\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 cluster = new AdvancedCluster(\"cluster\", AdvancedClusterArgs.builder() \n .projectId(mongodbatlas_project.project().id())\n .clusterType(\"SHARDED\")\n .backupEnabled(true)\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .numShards(3)\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AWS\")\n .priority(7)\n .regionName(\"US_EAST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AZURE\")\n .priority(6)\n .regionName(\"US_EAST_2\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"GCP\")\n .priority(5)\n .regionName(\"US_EAST_4\")\n .build())\n .build())\n .advancedConfiguration(AdvancedClusterAdvancedConfigurationArgs.builder()\n .javascriptEnabled(true)\n .oplogSizeMb(30)\n .sampleRefreshIntervalBiConnector(300)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: mongodbatlas:AdvancedCluster\n properties:\n projectId: ${mongodbatlas_project.project.id}\n clusterType: SHARDED\n backupEnabled: true\n replicationSpecs:\n - numShards: 3\n regionConfigs:\n - electableSpecs:\n instanceSize: M10\n nodeCount: 3\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AWS\n priority: 7\n regionName: US_EAST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AZURE\n priority: 6\n regionName: US_EAST_2\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: GCP\n priority: 5\n regionName: US_EAST_4\n advancedConfiguration:\n javascriptEnabled: true\n oplogSizeMb: 30\n sampleRefreshIntervalBiConnector: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of a Global Cluster.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster = new mongodbatlas.AdvancedCluster(\"cluster\", {\n projectId: mongodbatlas_project.project.id,\n clusterType: \"GEOSHARDED\",\n backupEnabled: true,\n replicationSpecs: [\n {\n zoneName: \"zone n1\",\n numShards: 3,\n regionConfigs: [\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AWS\",\n priority: 7,\n regionName: \"US_EAST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AZURE\",\n priority: 6,\n regionName: \"US_EAST_2\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"GCP\",\n priority: 5,\n regionName: \"US_EAST_4\",\n },\n ],\n },\n {\n zoneName: \"zone n2\",\n numShards: 2,\n regionConfigs: [\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AWS\",\n priority: 7,\n regionName: \"EU_WEST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AZURE\",\n priority: 6,\n regionName: \"EUROPE_NORTH\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"GCP\",\n priority: 5,\n regionName: \"US_EAST_4\",\n },\n ],\n },\n ],\n advancedConfiguration: {\n javascriptEnabled: true,\n oplogSizeMb: 999,\n sampleRefreshIntervalBiConnector: 300,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster = mongodbatlas.AdvancedCluster(\"cluster\",\n project_id=mongodbatlas_project[\"project\"][\"id\"],\n cluster_type=\"GEOSHARDED\",\n backup_enabled=True,\n replication_specs=[\n mongodbatlas.AdvancedClusterReplicationSpecArgs(\n zone_name=\"zone n1\",\n num_shards=3,\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AWS\",\n priority=7,\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AZURE\",\n priority=6,\n region_name=\"US_EAST_2\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"GCP\",\n priority=5,\n region_name=\"US_EAST_4\",\n ),\n ],\n ),\n mongodbatlas.AdvancedClusterReplicationSpecArgs(\n zone_name=\"zone n2\",\n num_shards=2,\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AWS\",\n priority=7,\n region_name=\"EU_WEST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AZURE\",\n priority=6,\n region_name=\"EUROPE_NORTH\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"GCP\",\n priority=5,\n region_name=\"US_EAST_4\",\n ),\n ],\n ),\n ],\n advanced_configuration=mongodbatlas.AdvancedClusterAdvancedConfigurationArgs(\n javascript_enabled=True,\n oplog_size_mb=999,\n sample_refresh_interval_bi_connector=300,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Mongodbatlas.AdvancedCluster(\"cluster\", new()\n {\n ProjectId = mongodbatlas_project.Project.Id,\n ClusterType = \"GEOSHARDED\",\n BackupEnabled = true,\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n ZoneName = \"zone n1\",\n NumShards = 3,\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AWS\",\n Priority = 7,\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AZURE\",\n Priority = 6,\n RegionName = \"US_EAST_2\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"GCP\",\n Priority = 5,\n RegionName = \"US_EAST_4\",\n },\n },\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n ZoneName = \"zone n2\",\n NumShards = 2,\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AWS\",\n Priority = 7,\n RegionName = \"EU_WEST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AZURE\",\n Priority = 6,\n RegionName = \"EUROPE_NORTH\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"GCP\",\n Priority = 5,\n RegionName = \"US_EAST_4\",\n },\n },\n },\n },\n AdvancedConfiguration = new Mongodbatlas.Inputs.AdvancedClusterAdvancedConfigurationArgs\n {\n JavascriptEnabled = true,\n OplogSizeMb = 999,\n SampleRefreshIntervalBiConnector = 300,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"cluster\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tProjectId: pulumi.Any(mongodbatlas_project.Project.Id),\n\t\t\tClusterType: pulumi.String(\"GEOSHARDED\"),\n\t\t\tBackupEnabled: pulumi.Bool(true),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tZoneName: pulumi.String(\"zone n1\"),\n\t\t\t\t\tNumShards: pulumi.Int(3),\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tZoneName: pulumi.String(\"zone n2\"),\n\t\t\t\t\tNumShards: pulumi.Int(2),\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EU_WEST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EUROPE_NORTH\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdvancedConfiguration: \u0026mongodbatlas.AdvancedClusterAdvancedConfigurationArgs{\n\t\t\t\tJavascriptEnabled: pulumi.Bool(true),\n\t\t\t\tOplogSizeMb: pulumi.Int(999),\n\t\t\t\tSampleRefreshIntervalBiConnector: pulumi.Int(300),\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterAdvancedConfigurationArgs;\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 cluster = new AdvancedCluster(\"cluster\", AdvancedClusterArgs.builder() \n .projectId(mongodbatlas_project.project().id())\n .clusterType(\"GEOSHARDED\")\n .backupEnabled(true)\n .replicationSpecs( \n AdvancedClusterReplicationSpecArgs.builder()\n .zoneName(\"zone n1\")\n .numShards(3)\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AWS\")\n .priority(7)\n .regionName(\"US_EAST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AZURE\")\n .priority(6)\n .regionName(\"US_EAST_2\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"GCP\")\n .priority(5)\n .regionName(\"US_EAST_4\")\n .build())\n .build(),\n AdvancedClusterReplicationSpecArgs.builder()\n .zoneName(\"zone n2\")\n .numShards(2)\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AWS\")\n .priority(7)\n .regionName(\"EU_WEST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AZURE\")\n .priority(6)\n .regionName(\"EUROPE_NORTH\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"GCP\")\n .priority(5)\n .regionName(\"US_EAST_4\")\n .build())\n .build())\n .advancedConfiguration(AdvancedClusterAdvancedConfigurationArgs.builder()\n .javascriptEnabled(true)\n .oplogSizeMb(999)\n .sampleRefreshIntervalBiConnector(300)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: mongodbatlas:AdvancedCluster\n properties:\n projectId: ${mongodbatlas_project.project.id}\n clusterType: GEOSHARDED\n backupEnabled: true\n replicationSpecs:\n - zoneName: zone n1\n numShards: 3\n regionConfigs:\n - electableSpecs:\n instanceSize: M10\n nodeCount: 3\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AWS\n priority: 7\n regionName: US_EAST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AZURE\n priority: 6\n regionName: US_EAST_2\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: GCP\n priority: 5\n regionName: US_EAST_4\n - zoneName: zone n2\n numShards: 2\n regionConfigs:\n - electableSpecs:\n instanceSize: M10\n nodeCount: 3\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AWS\n priority: 7\n regionName: EU_WEST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AZURE\n priority: 6\n regionName: EUROPE_NORTH\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: GCP\n priority: 5\n regionName: US_EAST_4\n advancedConfiguration:\n javascriptEnabled: true\n oplogSizeMb: 999\n sampleRefreshIntervalBiConnector: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Example - Return a Connection String\nStandard\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standard = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard;\n```\n```python\nimport pulumi\n\npulumi.export(\"standard\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standard\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standard\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard)\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 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 ctx.export(\"standard\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard());\n }\n}\n```\n```yaml\noutputs:\n standard: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nStandard srv\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standardSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"standardSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standardSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standardSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard_srv)\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 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 ctx.export(\"standardSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard_srv());\n }\n}\n```\n```yaml\noutputs:\n standardSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport = async () =\u003e {\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n const private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n return {\n \"private\": mongodbatlas_cluster[\"cluster-test\"].connection_strings[0][\"private\"],\n };\n}\n```\n```python\nimport pulumi\n\npulumi.export(\"private\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private\"])\n# Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\nprivate = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n var @private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"private\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"private\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private)\n\t\t// Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n\t\t_ := \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\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 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 ctx.export(\"private\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private());\n final var private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n }\n}\n```\n```yaml\nvariables:\n # Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n private: mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\noutputs:\n private: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate srv with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const privateSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].private_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"privateSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"privateSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"privateSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private_srv)\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 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 ctx.export(\"privateSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private_srv());\n }\n}\n```\n```yaml\noutputs:\n privateSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy endpoint_service_id\n## Import\n\nClusters can be imported using project ID and cluster name, in the format `PROJECTID-CLUSTERNAME`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/advancedCluster:AdvancedCluster my_cluster 1112222b3bf99403840e8934-Cluster0\n```\nSee detailed information for arguments and attributes: [MongoDB API Advanced Clusters](https://docs.atlas.mongodb.com/reference/api/cluster-advanced/create-one-cluster-advanced/)\n\n", + "description": "`mongodbatlas.AdvancedCluster` provides an Advanced Cluster resource. The resource lets you create, edit and delete advanced clusters. The resource requires your Project ID.\n\nMore information on considerations for using advanced clusters please see [Considerations](https://docs.atlas.mongodb.com/reference/api/cluster-advanced/create-one-cluster-advanced/#considerations)\n\n\u003e **IMPORTANT:**\n\u003cbr\u003e \u0026#8226; The primary difference between `mongodbatlas.Cluster` is that `mongodbatlas.AdvancedCluster` supports multi-cloud clusters. We recommend new users start with the `mongodbatlas.AdvancedCluster` resource. \n\n\u003e **NOTE:** If Backup Compliance Policy is enabled for the project for which this backup schedule is defined, you cannot modify the backup schedule for an individual cluster below the minimum requirements set in the Backup Compliance Policy. See [Backup Compliance Policy Prohibited Actions and Considerations](https://www.mongodb.com/docs/atlas/backup/cloud-backup/backup-compliance-policy/#configure-a-backup-compliance-policy).\n\n\n\u003cbr\u003e \u0026#8226; Upgrading the shared tier is supported. Any change from a shared tier cluster (a tenant) to a different instance size will be considered a tenant upgrade. When upgrading from the shared tier, change the `provider_name` from \"TENANT\" to your preferred provider (AWS, GCP or Azure) and remove the variable `backing_provider_name`. See the Example Tenant Cluster Upgrade below. Note you can upgrade a shared tier cluster only to a single provider on an M10-tier cluster or greater. \n\u003cbr\u003e \u0026#8226; **IMPORTANT NOTE** When upgrading from the shared tier, *only* the upgrade changes will be applied. This helps avoid a corrupt state file in the event that the upgrade succeeds but subsequent updates fail within the same `pulumi up`. To apply additional cluster changes, run a secondary `pulumi up` after the upgrade succeeds.\n\u003e **NOTE:** Groups and projects are synonymous terms. You might find group_id in the official documentation.\n\n\u003e **NOTE:** A network container is created for each provider/region combination on the advanced cluster. This can be referenced via a computed attribute for use with other resources. Refer to the `replication_specs.#.container_id` attribute in the Attributes Reference for more information.\n\n\u003e **NOTE:** To enable Cluster Extended Storage Sizes use the `is_extended_storage_sizes_enabled` parameter in the mongodbatlas.Project resource.\n\n\u003e **NOTE:** The Low-CPU instance clusters are prefixed with `R`, i.e. `R40`. For complete list of Low-CPU instance clusters see Cluster Configuration Options under each Cloud Provider (https://www.mongodb.com/docs/atlas/reference/cloud-providers/).\n\n\n## Example Usage\n\n### Example single provider and single region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [{\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n priority: 7,\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n priority=7,\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n Priority = 7,\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs(AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .priority(7)\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n electableSpecs:\n instanceSize: M10\n nodeCount: 3\n priority: 7\n providerName: AWS\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Tenant Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [{\n backingProviderName: \"AWS\",\n electableSpecs: {\n instanceSize: \"M5\",\n },\n priority: 7,\n providerName: \"TENANT\",\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n backing_provider_name=\"AWS\",\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M5\",\n ),\n priority=7,\n provider_name=\"TENANT\",\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n BackingProviderName = \"AWS\",\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M5\",\n },\n Priority = 7,\n ProviderName = \"TENANT\",\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tBackingProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M5\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"TENANT\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs(AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .backingProviderName(\"AWS\")\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M5\")\n .build())\n .priority(7)\n .providerName(\"TENANT\")\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - backingProviderName: AWS\n electableSpecs:\n instanceSize: M5\n priority: 7\n providerName: TENANT\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Tenant Cluster Upgrade\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [{\n electableSpecs: {\n instanceSize: \"M10\",\n },\n priority: 7,\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n ),\n priority=7,\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n },\n Priority = 7,\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs(AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .build())\n .priority(7)\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - electableSpecs:\n instanceSize: M10\n priority: 7\n providerName: AWS\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multi-Cloud Cluster.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.AdvancedCluster(\"test\", {\n clusterType: \"REPLICASET\",\n projectId: \"PROJECT ID\",\n replicationSpecs: [{\n regionConfigs: [\n {\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n priority: 7,\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n priority: 6,\n providerName: \"GCP\",\n regionName: \"NORTH_AMERICA_NORTHEAST_1\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.AdvancedCluster(\"test\",\n cluster_type=\"REPLICASET\",\n project_id=\"PROJECT ID\",\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n priority=7,\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n priority=6,\n provider_name=\"GCP\",\n region_name=\"NORTH_AMERICA_NORTHEAST_1\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.AdvancedCluster(\"test\", new()\n {\n ClusterType = \"REPLICASET\",\n ProjectId = \"PROJECT ID\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n Priority = 7,\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n Priority = 6,\n ProviderName = \"GCP\",\n RegionName = \"NORTH_AMERICA_NORTHEAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"test\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tProjectId: pulumi.String(\"PROJECT ID\"),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"NORTH_AMERICA_NORTHEAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\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 test = new AdvancedCluster(\"test\", AdvancedClusterArgs.builder() \n .clusterType(\"REPLICASET\")\n .projectId(\"PROJECT ID\")\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .priority(7)\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .priority(6)\n .providerName(\"GCP\")\n .regionName(\"NORTH_AMERICA_NORTHEAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:AdvancedCluster\n properties:\n clusterType: REPLICASET\n projectId: PROJECT ID\n replicationSpecs:\n - regionConfigs:\n - analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n electableSpecs:\n instanceSize: M10\n nodeCount: 3\n priority: 7\n providerName: AWS\n regionName: US_EAST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n priority: 6\n providerName: GCP\n regionName: NORTH_AMERICA_NORTHEAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example of a Multi-Cloud Cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster = new mongodbatlas.AdvancedCluster(\"cluster\", {\n projectId: mongodbatlas_project.project.id,\n clusterType: \"SHARDED\",\n backupEnabled: true,\n replicationSpecs: [{\n numShards: 3,\n regionConfigs: [\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AWS\",\n priority: 7,\n regionName: \"US_EAST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AZURE\",\n priority: 6,\n regionName: \"US_EAST_2\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"GCP\",\n priority: 5,\n regionName: \"US_EAST_4\",\n },\n ],\n }],\n advancedConfiguration: {\n javascriptEnabled: true,\n oplogSizeMb: 30,\n sampleRefreshIntervalBiConnector: 300,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster = mongodbatlas.AdvancedCluster(\"cluster\",\n project_id=mongodbatlas_project[\"project\"][\"id\"],\n cluster_type=\"SHARDED\",\n backup_enabled=True,\n replication_specs=[mongodbatlas.AdvancedClusterReplicationSpecArgs(\n num_shards=3,\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AWS\",\n priority=7,\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AZURE\",\n priority=6,\n region_name=\"US_EAST_2\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"GCP\",\n priority=5,\n region_name=\"US_EAST_4\",\n ),\n ],\n )],\n advanced_configuration=mongodbatlas.AdvancedClusterAdvancedConfigurationArgs(\n javascript_enabled=True,\n oplog_size_mb=30,\n sample_refresh_interval_bi_connector=300,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Mongodbatlas.AdvancedCluster(\"cluster\", new()\n {\n ProjectId = mongodbatlas_project.Project.Id,\n ClusterType = \"SHARDED\",\n BackupEnabled = true,\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n NumShards = 3,\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AWS\",\n Priority = 7,\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AZURE\",\n Priority = 6,\n RegionName = \"US_EAST_2\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"GCP\",\n Priority = 5,\n RegionName = \"US_EAST_4\",\n },\n },\n },\n },\n AdvancedConfiguration = new Mongodbatlas.Inputs.AdvancedClusterAdvancedConfigurationArgs\n {\n JavascriptEnabled = true,\n OplogSizeMb = 30,\n SampleRefreshIntervalBiConnector = 300,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"cluster\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tProjectId: pulumi.Any(mongodbatlas_project.Project.Id),\n\t\t\tClusterType: pulumi.String(\"SHARDED\"),\n\t\t\tBackupEnabled: pulumi.Bool(true),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(3),\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdvancedConfiguration: \u0026mongodbatlas.AdvancedClusterAdvancedConfigurationArgs{\n\t\t\t\tJavascriptEnabled: pulumi.Bool(true),\n\t\t\t\tOplogSizeMb: pulumi.Int(30),\n\t\t\t\tSampleRefreshIntervalBiConnector: pulumi.Int(300),\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterAdvancedConfigurationArgs;\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 cluster = new AdvancedCluster(\"cluster\", AdvancedClusterArgs.builder() \n .projectId(mongodbatlas_project.project().id())\n .clusterType(\"SHARDED\")\n .backupEnabled(true)\n .replicationSpecs(AdvancedClusterReplicationSpecArgs.builder()\n .numShards(3)\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AWS\")\n .priority(7)\n .regionName(\"US_EAST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AZURE\")\n .priority(6)\n .regionName(\"US_EAST_2\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"GCP\")\n .priority(5)\n .regionName(\"US_EAST_4\")\n .build())\n .build())\n .advancedConfiguration(AdvancedClusterAdvancedConfigurationArgs.builder()\n .javascriptEnabled(true)\n .oplogSizeMb(30)\n .sampleRefreshIntervalBiConnector(300)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: mongodbatlas:AdvancedCluster\n properties:\n projectId: ${mongodbatlas_project.project.id}\n clusterType: SHARDED\n backupEnabled: true\n replicationSpecs:\n - numShards: 3\n regionConfigs:\n - electableSpecs:\n instanceSize: M10\n nodeCount: 3\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AWS\n priority: 7\n regionName: US_EAST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AZURE\n priority: 6\n regionName: US_EAST_2\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: GCP\n priority: 5\n regionName: US_EAST_4\n advancedConfiguration:\n javascriptEnabled: true\n oplogSizeMb: 30\n sampleRefreshIntervalBiConnector: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of a Global Cluster.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster = new mongodbatlas.AdvancedCluster(\"cluster\", {\n projectId: mongodbatlas_project.project.id,\n clusterType: \"GEOSHARDED\",\n backupEnabled: true,\n replicationSpecs: [\n {\n zoneName: \"zone n1\",\n numShards: 3,\n regionConfigs: [\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AWS\",\n priority: 7,\n regionName: \"US_EAST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AZURE\",\n priority: 6,\n regionName: \"US_EAST_2\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"GCP\",\n priority: 5,\n regionName: \"US_EAST_4\",\n },\n ],\n },\n {\n zoneName: \"zone n2\",\n numShards: 2,\n regionConfigs: [\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 3,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AWS\",\n priority: 7,\n regionName: \"EU_WEST_1\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"AZURE\",\n priority: 6,\n regionName: \"EUROPE_NORTH\",\n },\n {\n electableSpecs: {\n instanceSize: \"M10\",\n nodeCount: 2,\n },\n analyticsSpecs: {\n instanceSize: \"M10\",\n nodeCount: 1,\n },\n providerName: \"GCP\",\n priority: 5,\n regionName: \"US_EAST_4\",\n },\n ],\n },\n ],\n advancedConfiguration: {\n javascriptEnabled: true,\n oplogSizeMb: 999,\n sampleRefreshIntervalBiConnector: 300,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster = mongodbatlas.AdvancedCluster(\"cluster\",\n project_id=mongodbatlas_project[\"project\"][\"id\"],\n cluster_type=\"GEOSHARDED\",\n backup_enabled=True,\n replication_specs=[\n mongodbatlas.AdvancedClusterReplicationSpecArgs(\n zone_name=\"zone n1\",\n num_shards=3,\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AWS\",\n priority=7,\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AZURE\",\n priority=6,\n region_name=\"US_EAST_2\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"GCP\",\n priority=5,\n region_name=\"US_EAST_4\",\n ),\n ],\n ),\n mongodbatlas.AdvancedClusterReplicationSpecArgs(\n zone_name=\"zone n2\",\n num_shards=2,\n region_configs=[\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=3,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AWS\",\n priority=7,\n region_name=\"EU_WEST_1\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"AZURE\",\n priority=6,\n region_name=\"EUROPE_NORTH\",\n ),\n mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs(\n electable_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs(\n instance_size=\"M10\",\n node_count=2,\n ),\n analytics_specs=mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs(\n instance_size=\"M10\",\n node_count=1,\n ),\n provider_name=\"GCP\",\n priority=5,\n region_name=\"US_EAST_4\",\n ),\n ],\n ),\n ],\n advanced_configuration=mongodbatlas.AdvancedClusterAdvancedConfigurationArgs(\n javascript_enabled=True,\n oplog_size_mb=999,\n sample_refresh_interval_bi_connector=300,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Mongodbatlas.AdvancedCluster(\"cluster\", new()\n {\n ProjectId = mongodbatlas_project.Project.Id,\n ClusterType = \"GEOSHARDED\",\n BackupEnabled = true,\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n ZoneName = \"zone n1\",\n NumShards = 3,\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AWS\",\n Priority = 7,\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AZURE\",\n Priority = 6,\n RegionName = \"US_EAST_2\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"GCP\",\n Priority = 5,\n RegionName = \"US_EAST_4\",\n },\n },\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecArgs\n {\n ZoneName = \"zone n2\",\n NumShards = 2,\n RegionConfigs = new[]\n {\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 3,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AWS\",\n Priority = 7,\n RegionName = \"EU_WEST_1\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"AZURE\",\n Priority = 6,\n RegionName = \"EUROPE_NORTH\",\n },\n new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigArgs\n {\n ElectableSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 2,\n },\n AnalyticsSpecs = new Mongodbatlas.Inputs.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs\n {\n InstanceSize = \"M10\",\n NodeCount = 1,\n },\n ProviderName = \"GCP\",\n Priority = 5,\n RegionName = \"US_EAST_4\",\n },\n },\n },\n },\n AdvancedConfiguration = new Mongodbatlas.Inputs.AdvancedClusterAdvancedConfigurationArgs\n {\n JavascriptEnabled = true,\n OplogSizeMb = 999,\n SampleRefreshIntervalBiConnector = 300,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewAdvancedCluster(ctx, \"cluster\", \u0026mongodbatlas.AdvancedClusterArgs{\n\t\t\tProjectId: pulumi.Any(mongodbatlas_project.Project.Id),\n\t\t\tClusterType: pulumi.String(\"GEOSHARDED\"),\n\t\t\tBackupEnabled: pulumi.Bool(true),\n\t\t\tReplicationSpecs: mongodbatlas.AdvancedClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tZoneName: pulumi.String(\"zone n1\"),\n\t\t\t\t\tNumShards: pulumi.Int(3),\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecArgs{\n\t\t\t\t\tZoneName: pulumi.String(\"zone n2\"),\n\t\t\t\t\tNumShards: pulumi.Int(2),\n\t\t\t\t\tRegionConfigs: mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EU_WEST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EUROPE_NORTH\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigArgs{\n\t\t\t\t\t\t\tElectableSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnalyticsSpecs: \u0026mongodbatlas.AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs{\n\t\t\t\t\t\t\t\tInstanceSize: pulumi.String(\"M10\"),\n\t\t\t\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdvancedConfiguration: \u0026mongodbatlas.AdvancedClusterAdvancedConfigurationArgs{\n\t\t\t\tJavascriptEnabled: pulumi.Bool(true),\n\t\t\t\tOplogSizeMb: pulumi.Int(999),\n\t\t\t\tSampleRefreshIntervalBiConnector: pulumi.Int(300),\n\t\t\t},\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.mongodbatlas.AdvancedCluster;\nimport com.pulumi.mongodbatlas.AdvancedClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.inputs.AdvancedClusterAdvancedConfigurationArgs;\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 cluster = new AdvancedCluster(\"cluster\", AdvancedClusterArgs.builder() \n .projectId(mongodbatlas_project.project().id())\n .clusterType(\"GEOSHARDED\")\n .backupEnabled(true)\n .replicationSpecs( \n AdvancedClusterReplicationSpecArgs.builder()\n .zoneName(\"zone n1\")\n .numShards(3)\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AWS\")\n .priority(7)\n .regionName(\"US_EAST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AZURE\")\n .priority(6)\n .regionName(\"US_EAST_2\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"GCP\")\n .priority(5)\n .regionName(\"US_EAST_4\")\n .build())\n .build(),\n AdvancedClusterReplicationSpecArgs.builder()\n .zoneName(\"zone n2\")\n .numShards(2)\n .regionConfigs( \n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(3)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AWS\")\n .priority(7)\n .regionName(\"EU_WEST_1\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"AZURE\")\n .priority(6)\n .regionName(\"EUROPE_NORTH\")\n .build(),\n AdvancedClusterReplicationSpecRegionConfigArgs.builder()\n .electableSpecs(AdvancedClusterReplicationSpecRegionConfigElectableSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(2)\n .build())\n .analyticsSpecs(AdvancedClusterReplicationSpecRegionConfigAnalyticsSpecsArgs.builder()\n .instanceSize(\"M10\")\n .nodeCount(1)\n .build())\n .providerName(\"GCP\")\n .priority(5)\n .regionName(\"US_EAST_4\")\n .build())\n .build())\n .advancedConfiguration(AdvancedClusterAdvancedConfigurationArgs.builder()\n .javascriptEnabled(true)\n .oplogSizeMb(999)\n .sampleRefreshIntervalBiConnector(300)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: mongodbatlas:AdvancedCluster\n properties:\n projectId: ${mongodbatlas_project.project.id}\n clusterType: GEOSHARDED\n backupEnabled: true\n replicationSpecs:\n - zoneName: zone n1\n numShards: 3\n regionConfigs:\n - electableSpecs:\n instanceSize: M10\n nodeCount: 3\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AWS\n priority: 7\n regionName: US_EAST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AZURE\n priority: 6\n regionName: US_EAST_2\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: GCP\n priority: 5\n regionName: US_EAST_4\n - zoneName: zone n2\n numShards: 2\n regionConfigs:\n - electableSpecs:\n instanceSize: M10\n nodeCount: 3\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AWS\n priority: 7\n regionName: EU_WEST_1\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: AZURE\n priority: 6\n regionName: EUROPE_NORTH\n - electableSpecs:\n instanceSize: M10\n nodeCount: 2\n analyticsSpecs:\n instanceSize: M10\n nodeCount: 1\n providerName: GCP\n priority: 5\n regionName: US_EAST_4\n advancedConfiguration:\n javascriptEnabled: true\n oplogSizeMb: 999\n sampleRefreshIntervalBiConnector: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Example - Return a Connection String\nStandard\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standard = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard;\n```\n```python\nimport pulumi\n\npulumi.export(\"standard\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standard\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standard\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard)\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 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 ctx.export(\"standard\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard());\n }\n}\n```\n```yaml\noutputs:\n standard: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nStandard srv\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standardSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"standardSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standardSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standardSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard_srv)\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 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 ctx.export(\"standardSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard_srv());\n }\n}\n```\n```yaml\noutputs:\n standardSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport = async () =\u003e {\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n const private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n return {\n \"private\": mongodbatlas_cluster[\"cluster-test\"].connection_strings[0][\"private\"],\n };\n}\n```\n```python\nimport pulumi\n\npulumi.export(\"private\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private\"])\n# Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\nprivate = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n var @private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"private\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"private\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private)\n\t\t// Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n\t\t_ := \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\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 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 ctx.export(\"private\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private());\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n final var private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n }\n}\n```\n```yaml\nvariables:\n # Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n private: mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\noutputs:\n private: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate srv with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const privateSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].private_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"privateSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"privateSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"privateSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private_srv)\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 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 ctx.export(\"privateSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private_srv());\n }\n}\n```\n```yaml\noutputs:\n privateSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy endpoint_service_id\n## Import\n\nClusters can be imported using project ID and cluster name, in the format `PROJECTID-CLUSTERNAME`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/advancedCluster:AdvancedCluster my_cluster 1112222b3bf99403840e8934-Cluster0\n```\nSee detailed information for arguments and attributes: [MongoDB API Advanced Clusters](https://docs.atlas.mongodb.com/reference/api/cluster-advanced/create-one-cluster-advanced/)\n\n", "properties": { "acceptDataRisksAndForceReplicaSetReconfig": { "type": "string", @@ -13188,7 +13188,7 @@ } }, "mongodbatlas:index/cloudBackupSnapshot:CloudBackupSnapshot": { - "description": "`mongodbatlas.CloudBackupSnapshot` provides a resource to take a cloud backup snapshot on demand.\nOn-demand snapshots happen immediately, unlike scheduled snapshots which occur at regular intervals. If there is already an on-demand snapshot with a status of queued or inProgress, you must wait until Atlas has completed the on-demand snapshot before taking another.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n\u003e **NOTE:** If Backup Compliance Policy is enabled for the project for which this backup schedule is defined, you cannot delete a backup snapshot or decrease the retention time for a snapshot after it's taken. See [Backup Compliance Policy Prohibited Actions and Considerations](https://www.mongodb.com/docs/atlas/backup/cloud-backup/backup-compliance-policy/#configure-a-backup-compliance-policy).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst myCluster = new mongodbatlas.Cluster(\"myCluster\", {\n projectId: \"5cf5a45a9ccf6400e60981b6\",\n providerName: \"AWS\",\n providerRegionName: \"EU_WEST_2\",\n providerInstanceSizeName: \"M10\",\n cloudBackup: true,\n});\n// enable cloud backup snapshots\nconst testCloudBackupSnapshot = new mongodbatlas.CloudBackupSnapshot(\"testCloudBackupSnapshot\", {\n projectId: myCluster.projectId,\n clusterName: myCluster.name,\n description: \"myDescription\",\n retentionInDays: 1,\n});\nconst testCloudBackupSnapshotRestoreJob = new mongodbatlas.CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\", {\n projectId: testCloudBackupSnapshot.projectId,\n clusterName: testCloudBackupSnapshot.clusterName,\n snapshotId: testCloudBackupSnapshot.snapshotId,\n deliveryTypeConfig: {\n download: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nmy_cluster = mongodbatlas.Cluster(\"myCluster\",\n project_id=\"5cf5a45a9ccf6400e60981b6\",\n provider_name=\"AWS\",\n provider_region_name=\"EU_WEST_2\",\n provider_instance_size_name=\"M10\",\n cloud_backup=True)\n# enable cloud backup snapshots\ntest_cloud_backup_snapshot = mongodbatlas.CloudBackupSnapshot(\"testCloudBackupSnapshot\",\n project_id=my_cluster.project_id,\n cluster_name=my_cluster.name,\n description=\"myDescription\",\n retention_in_days=1)\ntest_cloud_backup_snapshot_restore_job = mongodbatlas.CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\",\n project_id=test_cloud_backup_snapshot.project_id,\n cluster_name=test_cloud_backup_snapshot.cluster_name,\n snapshot_id=test_cloud_backup_snapshot.snapshot_id,\n delivery_type_config=mongodbatlas.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs(\n download=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myCluster = new Mongodbatlas.Cluster(\"myCluster\", new()\n {\n ProjectId = \"5cf5a45a9ccf6400e60981b6\",\n ProviderName = \"AWS\",\n ProviderRegionName = \"EU_WEST_2\",\n ProviderInstanceSizeName = \"M10\",\n CloudBackup = true,\n });\n\n // enable cloud backup snapshots\n var testCloudBackupSnapshot = new Mongodbatlas.CloudBackupSnapshot(\"testCloudBackupSnapshot\", new()\n {\n ProjectId = myCluster.ProjectId,\n ClusterName = myCluster.Name,\n Description = \"myDescription\",\n RetentionInDays = 1,\n });\n\n var testCloudBackupSnapshotRestoreJob = new Mongodbatlas.CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\", new()\n {\n ProjectId = testCloudBackupSnapshot.ProjectId,\n ClusterName = testCloudBackupSnapshot.ClusterName,\n SnapshotId = testCloudBackupSnapshot.SnapshotId,\n DeliveryTypeConfig = new Mongodbatlas.Inputs.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs\n {\n Download = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyCluster, err := mongodbatlas.NewCluster(ctx, \"myCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.String(\"5cf5a45a9ccf6400e60981b6\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderRegionName: pulumi.String(\"EU_WEST_2\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCloudBackupSnapshot, err := mongodbatlas.NewCloudBackupSnapshot(ctx, \"testCloudBackupSnapshot\", \u0026mongodbatlas.CloudBackupSnapshotArgs{\n\t\t\tProjectId: myCluster.ProjectId,\n\t\t\tClusterName: myCluster.Name,\n\t\t\tDescription: pulumi.String(\"myDescription\"),\n\t\t\tRetentionInDays: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCloudBackupSnapshotRestoreJob(ctx, \"testCloudBackupSnapshotRestoreJob\", \u0026mongodbatlas.CloudBackupSnapshotRestoreJobArgs{\n\t\t\tProjectId: testCloudBackupSnapshot.ProjectId,\n\t\t\tClusterName: testCloudBackupSnapshot.ClusterName,\n\t\t\tSnapshotId: testCloudBackupSnapshot.SnapshotId,\n\t\t\tDeliveryTypeConfig: \u0026mongodbatlas.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs{\n\t\t\t\tDownload: pulumi.Bool(true),\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshot;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshotArgs;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshotRestoreJob;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshotRestoreJobArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs;\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 myCluster = new Cluster(\"myCluster\", ClusterArgs.builder() \n .projectId(\"5cf5a45a9ccf6400e60981b6\")\n .providerName(\"AWS\")\n .providerRegionName(\"EU_WEST_2\")\n .providerInstanceSizeName(\"M10\")\n .cloudBackup(true)\n .build());\n\n var testCloudBackupSnapshot = new CloudBackupSnapshot(\"testCloudBackupSnapshot\", CloudBackupSnapshotArgs.builder() \n .projectId(myCluster.projectId())\n .clusterName(myCluster.name())\n .description(\"myDescription\")\n .retentionInDays(1)\n .build());\n\n var testCloudBackupSnapshotRestoreJob = new CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\", CloudBackupSnapshotRestoreJobArgs.builder() \n .projectId(testCloudBackupSnapshot.projectId())\n .clusterName(testCloudBackupSnapshot.clusterName())\n .snapshotId(testCloudBackupSnapshot.snapshotId())\n .deliveryTypeConfig(CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs.builder()\n .download(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: 5cf5a45a9ccf6400e60981b6\n # Provider Settings \"block\"\n providerName: AWS\n providerRegionName: EU_WEST_2\n providerInstanceSizeName: M10\n cloudBackup: true\n testCloudBackupSnapshot:\n type: mongodbatlas:CloudBackupSnapshot\n properties:\n projectId: ${myCluster.projectId}\n clusterName: ${myCluster.name}\n description: myDescription\n retentionInDays: 1\n testCloudBackupSnapshotRestoreJob:\n type: mongodbatlas:CloudBackupSnapshotRestoreJob\n properties:\n projectId: ${testCloudBackupSnapshot.projectId}\n clusterName: ${testCloudBackupSnapshot.clusterName}\n snapshotId: ${testCloudBackupSnapshot.snapshotId}\n deliveryTypeConfig:\n download: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Backup Snapshot entries can be imported using project project_id, cluster_name and snapshot_id (Unique identifier of the snapshot), in the format `PROJECTID-CLUSTERNAME-SNAPSHOTID`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/cloudBackupSnapshot:CloudBackupSnapshot test 5d0f1f73cf09a29120e173cf-MyClusterTest-5d116d82014b764445b2f9b5\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/cloud-backup/backup/backups/)\n\n", + "description": "`mongodbatlas.CloudBackupSnapshot` provides a resource to take a cloud backup snapshot on demand.\nOn-demand snapshots happen immediately, unlike scheduled snapshots which occur at regular intervals. If there is already an on-demand snapshot with a status of queued or inProgress, you must wait until Atlas has completed the on-demand snapshot before taking another.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n\u003e **NOTE:** If Backup Compliance Policy is enabled for the project for which this backup schedule is defined, you cannot delete a backup snapshot or decrease the retention time for a snapshot after it's taken. See [Backup Compliance Policy Prohibited Actions and Considerations](https://www.mongodb.com/docs/atlas/backup/cloud-backup/backup-compliance-policy/#configure-a-backup-compliance-policy).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst myCluster = new mongodbatlas.Cluster(\"myCluster\", {\n projectId: \"5cf5a45a9ccf6400e60981b6\",\n providerName: \"AWS\",\n providerRegionName: \"EU_WEST_2\",\n providerInstanceSizeName: \"M10\",\n cloudBackup: true,\n});\n// enable cloud backup snapshots\nconst testCloudBackupSnapshot = new mongodbatlas.CloudBackupSnapshot(\"testCloudBackupSnapshot\", {\n projectId: myCluster.projectId,\n clusterName: myCluster.name,\n description: \"myDescription\",\n retentionInDays: 1,\n});\nconst testCloudBackupSnapshotRestoreJob = new mongodbatlas.CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\", {\n projectId: testCloudBackupSnapshot.projectId,\n clusterName: testCloudBackupSnapshot.clusterName,\n snapshotId: testCloudBackupSnapshot.snapshotId,\n deliveryTypeConfig: {\n download: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nmy_cluster = mongodbatlas.Cluster(\"myCluster\",\n project_id=\"5cf5a45a9ccf6400e60981b6\",\n provider_name=\"AWS\",\n provider_region_name=\"EU_WEST_2\",\n provider_instance_size_name=\"M10\",\n cloud_backup=True)\n# enable cloud backup snapshots\ntest_cloud_backup_snapshot = mongodbatlas.CloudBackupSnapshot(\"testCloudBackupSnapshot\",\n project_id=my_cluster.project_id,\n cluster_name=my_cluster.name,\n description=\"myDescription\",\n retention_in_days=1)\ntest_cloud_backup_snapshot_restore_job = mongodbatlas.CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\",\n project_id=test_cloud_backup_snapshot.project_id,\n cluster_name=test_cloud_backup_snapshot.cluster_name,\n snapshot_id=test_cloud_backup_snapshot.snapshot_id,\n delivery_type_config=mongodbatlas.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs(\n download=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myCluster = new Mongodbatlas.Cluster(\"myCluster\", new()\n {\n ProjectId = \"5cf5a45a9ccf6400e60981b6\",\n ProviderName = \"AWS\",\n ProviderRegionName = \"EU_WEST_2\",\n ProviderInstanceSizeName = \"M10\",\n CloudBackup = true,\n });\n\n // enable cloud backup snapshots\n var testCloudBackupSnapshot = new Mongodbatlas.CloudBackupSnapshot(\"testCloudBackupSnapshot\", new()\n {\n ProjectId = myCluster.ProjectId,\n ClusterName = myCluster.Name,\n Description = \"myDescription\",\n RetentionInDays = 1,\n });\n\n var testCloudBackupSnapshotRestoreJob = new Mongodbatlas.CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\", new()\n {\n ProjectId = testCloudBackupSnapshot.ProjectId,\n ClusterName = testCloudBackupSnapshot.ClusterName,\n SnapshotId = testCloudBackupSnapshot.SnapshotId,\n DeliveryTypeConfig = new Mongodbatlas.Inputs.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs\n {\n Download = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyCluster, err := mongodbatlas.NewCluster(ctx, \"myCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.String(\"5cf5a45a9ccf6400e60981b6\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderRegionName: pulumi.String(\"EU_WEST_2\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCloudBackupSnapshot, err := mongodbatlas.NewCloudBackupSnapshot(ctx, \"testCloudBackupSnapshot\", \u0026mongodbatlas.CloudBackupSnapshotArgs{\n\t\t\tProjectId: myCluster.ProjectId,\n\t\t\tClusterName: myCluster.Name,\n\t\t\tDescription: pulumi.String(\"myDescription\"),\n\t\t\tRetentionInDays: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCloudBackupSnapshotRestoreJob(ctx, \"testCloudBackupSnapshotRestoreJob\", \u0026mongodbatlas.CloudBackupSnapshotRestoreJobArgs{\n\t\t\tProjectId: testCloudBackupSnapshot.ProjectId,\n\t\t\tClusterName: testCloudBackupSnapshot.ClusterName,\n\t\t\tSnapshotId: testCloudBackupSnapshot.SnapshotId,\n\t\t\tDeliveryTypeConfig: \u0026mongodbatlas.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs{\n\t\t\t\tDownload: pulumi.Bool(true),\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshot;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshotArgs;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshotRestoreJob;\nimport com.pulumi.mongodbatlas.CloudBackupSnapshotRestoreJobArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs;\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 myCluster = new Cluster(\"myCluster\", ClusterArgs.builder() \n .projectId(\"5cf5a45a9ccf6400e60981b6\")\n .providerName(\"AWS\")\n .providerRegionName(\"EU_WEST_2\")\n .providerInstanceSizeName(\"M10\")\n .cloudBackup(true)\n .build());\n\n // enable cloud backup snapshots\n var testCloudBackupSnapshot = new CloudBackupSnapshot(\"testCloudBackupSnapshot\", CloudBackupSnapshotArgs.builder() \n .projectId(myCluster.projectId())\n .clusterName(myCluster.name())\n .description(\"myDescription\")\n .retentionInDays(1)\n .build());\n\n var testCloudBackupSnapshotRestoreJob = new CloudBackupSnapshotRestoreJob(\"testCloudBackupSnapshotRestoreJob\", CloudBackupSnapshotRestoreJobArgs.builder() \n .projectId(testCloudBackupSnapshot.projectId())\n .clusterName(testCloudBackupSnapshot.clusterName())\n .snapshotId(testCloudBackupSnapshot.snapshotId())\n .deliveryTypeConfig(CloudBackupSnapshotRestoreJobDeliveryTypeConfigArgs.builder()\n .download(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: 5cf5a45a9ccf6400e60981b6\n # Provider Settings \"block\"\n providerName: AWS\n providerRegionName: EU_WEST_2\n providerInstanceSizeName: M10\n cloudBackup: true\n testCloudBackupSnapshot:\n type: mongodbatlas:CloudBackupSnapshot\n properties:\n projectId: ${myCluster.projectId}\n clusterName: ${myCluster.name}\n description: myDescription\n retentionInDays: 1\n testCloudBackupSnapshotRestoreJob:\n type: mongodbatlas:CloudBackupSnapshotRestoreJob\n properties:\n projectId: ${testCloudBackupSnapshot.projectId}\n clusterName: ${testCloudBackupSnapshot.clusterName}\n snapshotId: ${testCloudBackupSnapshot.snapshotId}\n deliveryTypeConfig:\n download: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Backup Snapshot entries can be imported using project project_id, cluster_name and snapshot_id (Unique identifier of the snapshot), in the format `PROJECTID-CLUSTERNAME-SNAPSHOTID`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/cloudBackupSnapshot:CloudBackupSnapshot test 5d0f1f73cf09a29120e173cf-MyClusterTest-5d116d82014b764445b2f9b5\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/cloud-backup/backup/backups/)\n\n", "properties": { "cloudProvider": { "type": "string", @@ -13998,7 +13998,7 @@ } }, "mongodbatlas:index/cluster:Cluster": { - "description": "## Example Usage\n\n### Example AWS cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n autoScalingDiskGbEnabled: true,\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n mongoDbMajorVersion: \"4.2\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M40\",\n providerName: \"AWS\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n auto_scaling_disk_gb_enabled=True,\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n mongo_db_major_version=\"4.2\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M40\",\n provider_name=\"AWS\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n AutoScalingDiskGbEnabled = true,\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n MongoDbMajorVersion = \"4.2\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M40\",\n ProviderName = \"AWS\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M40\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .autoScalingDiskGbEnabled(true)\n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .mongoDbMajorVersion(\"4.2\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M40\")\n .providerName(\"AWS\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n autoScalingDiskGbEnabled: true\n cloudBackup: true\n clusterType: REPLICASET\n mongoDbMajorVersion: '4.2'\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M40\n # Provider Settings \"block\"\n providerName: AWS\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Azure cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.Cluster(\"test\", {\n autoScalingDiskGbEnabled: true,\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n mongoDbMajorVersion: \"4.2\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerDiskTypeName: \"P6\",\n providerInstanceSizeName: \"M30\",\n providerName: \"AZURE\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.Cluster(\"test\",\n auto_scaling_disk_gb_enabled=True,\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n mongo_db_major_version=\"4.2\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_disk_type_name=\"P6\",\n provider_instance_size_name=\"M30\",\n provider_name=\"AZURE\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n AutoScalingDiskGbEnabled = true,\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n MongoDbMajorVersion = \"4.2\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderDiskTypeName = \"P6\",\n ProviderInstanceSizeName = \"M30\",\n ProviderName = \"AZURE\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderDiskTypeName: pulumi.String(\"P6\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M30\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 test = new Cluster(\"test\", ClusterArgs.builder() \n .autoScalingDiskGbEnabled(true)\n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .mongoDbMajorVersion(\"4.2\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerDiskTypeName(\"P6\")\n .providerInstanceSizeName(\"M30\")\n .providerName(\"AZURE\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:Cluster\n properties:\n autoScalingDiskGbEnabled: true\n cloudBackup: true\n clusterType: REPLICASET\n mongoDbMajorVersion: '4.2'\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerDiskTypeName: P6\n providerInstanceSizeName: M30\n # Provider Settings \"block\"\n providerName: AZURE\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example GCP cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.Cluster(\"test\", {\n autoScalingDiskGbEnabled: true,\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n mongoDbMajorVersion: \"4.2\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M30\",\n providerName: \"GCP\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"EASTERN_US\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.Cluster(\"test\",\n auto_scaling_disk_gb_enabled=True,\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n mongo_db_major_version=\"4.2\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M30\",\n provider_name=\"GCP\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"EASTERN_US\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n AutoScalingDiskGbEnabled = true,\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n MongoDbMajorVersion = \"4.2\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M30\",\n ProviderName = \"GCP\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"EASTERN_US\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M30\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EASTERN_US\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 test = new Cluster(\"test\", ClusterArgs.builder() \n .autoScalingDiskGbEnabled(true)\n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .mongoDbMajorVersion(\"4.2\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M30\")\n .providerName(\"GCP\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"EASTERN_US\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:Cluster\n properties:\n autoScalingDiskGbEnabled: true\n cloudBackup: true\n clusterType: REPLICASET\n mongoDbMajorVersion: '4.2'\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M30\n # Provider Settings \"block\"\n providerName: GCP\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: EASTERN_US\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multi Region cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n numShards: 1,\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M10\",\n providerName: \"AWS\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [\n {\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST_1\",\n },\n {\n electableNodes: 2,\n priority: 6,\n readOnlyNodes: 0,\n regionName: \"US_EAST_2\",\n },\n {\n electableNodes: 2,\n priority: 5,\n readOnlyNodes: 2,\n regionName: \"US_WEST_1\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n num_shards=1,\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M10\",\n provider_name=\"AWS\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[\n mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=2,\n priority=6,\n read_only_nodes=0,\n region_name=\"US_EAST_2\",\n ),\n mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=2,\n priority=5,\n read_only_nodes=2,\n region_name=\"US_WEST_1\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n NumShards = 1,\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M10\",\n ProviderName = \"AWS\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 2,\n Priority = 6,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_2\",\n },\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 2,\n Priority = 5,\n ReadOnlyNodes = 2,\n RegionName = \"US_WEST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(2),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(2),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(2),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_WEST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .numShards(1)\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M10\")\n .providerName(\"AWS\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs( \n ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_1\")\n .build(),\n ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(2)\n .priority(6)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_2\")\n .build(),\n ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(2)\n .priority(5)\n .readOnlyNodes(2)\n .regionName(\"US_WEST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n cloudBackup: true\n clusterType: REPLICASET\n numShards: 1\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M10\n # Provider Settings \"block\"\n providerName: AWS\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST_1\n - electableNodes: 2\n priority: 6\n readOnlyNodes: 0\n regionName: US_EAST_2\n - electableNodes: 2\n priority: 5\n readOnlyNodes: 2\n regionName: US_WEST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Global cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n cloudBackup: true,\n clusterType: \"GEOSHARDED\",\n numShards: 1,\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M30\",\n providerName: \"AWS\",\n replicationSpecs: [\n {\n numShards: 2,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST_1\",\n }],\n zoneName: \"Zone 1\",\n },\n {\n numShards: 2,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"EU_CENTRAL_1\",\n }],\n zoneName: \"Zone 2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n cloud_backup=True,\n cluster_type=\"GEOSHARDED\",\n num_shards=1,\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M30\",\n provider_name=\"AWS\",\n replication_specs=[\n mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=2,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST_1\",\n )],\n zone_name=\"Zone 1\",\n ),\n mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=2,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"EU_CENTRAL_1\",\n )],\n zone_name=\"Zone 2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n CloudBackup = true,\n ClusterType = \"GEOSHARDED\",\n NumShards = 1,\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M30\",\n ProviderName = \"AWS\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 2,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_1\",\n },\n },\n ZoneName = \"Zone 1\",\n },\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 2,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"EU_CENTRAL_1\",\n },\n },\n ZoneName = \"Zone 2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"GEOSHARDED\"),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M30\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(2),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tZoneName: pulumi.String(\"Zone 1\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(2),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EU_CENTRAL_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tZoneName: pulumi.String(\"Zone 2\"),\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .cloudBackup(true)\n .clusterType(\"GEOSHARDED\")\n .numShards(1)\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M30\")\n .providerName(\"AWS\")\n .replicationSpecs( \n ClusterReplicationSpecArgs.builder()\n .numShards(2)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_1\")\n .build())\n .zoneName(\"Zone 1\")\n .build(),\n ClusterReplicationSpecArgs.builder()\n .numShards(2)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"EU_CENTRAL_1\")\n .build())\n .zoneName(\"Zone 2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n cloudBackup: true\n clusterType: GEOSHARDED\n numShards: 1\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M30\n # Provider Settings \"block\"\n providerName: AWS\n replicationSpecs:\n - numShards: 2\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST_1\n zoneName: Zone 1\n - numShards: 2\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: EU_CENTRAL_1\n zoneName: Zone 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example AWS Shared Tier (M2/M5) cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n backingProviderName: \"AWS\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M2\",\n providerName: \"TENANT\",\n providerRegionName: \"US_EAST_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n backing_provider_name=\"AWS\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M2\",\n provider_name=\"TENANT\",\n provider_region_name=\"US_EAST_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n BackingProviderName = \"AWS\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M2\",\n ProviderName = \"TENANT\",\n ProviderRegionName = \"US_EAST_1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tBackingProviderName: pulumi.String(\"AWS\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M2\"),\n\t\t\tProviderName: pulumi.String(\"TENANT\"),\n\t\t\tProviderRegionName: pulumi.String(\"US_EAST_1\"),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .backingProviderName(\"AWS\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M2\")\n .providerName(\"TENANT\")\n .providerRegionName(\"US_EAST_1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n backingProviderName: AWS\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M2\n # Provider Settings \"block\"\n providerName: TENANT\n providerRegionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example AWS Free Tier cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n backingProviderName: \"AWS\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M0\",\n providerName: \"TENANT\",\n providerRegionName: \"US_EAST_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n backing_provider_name=\"AWS\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M0\",\n provider_name=\"TENANT\",\n provider_region_name=\"US_EAST_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n BackingProviderName = \"AWS\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M0\",\n ProviderName = \"TENANT\",\n ProviderRegionName = \"US_EAST_1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tBackingProviderName: pulumi.String(\"AWS\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M0\"),\n\t\t\tProviderName: pulumi.String(\"TENANT\"),\n\t\t\tProviderRegionName: pulumi.String(\"US_EAST_1\"),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .backingProviderName(\"AWS\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M0\")\n .providerName(\"TENANT\")\n .providerRegionName(\"US_EAST_1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n backingProviderName: AWS\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M0\n # Provider Settings \"block\"\n providerName: TENANT\n providerRegionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example - Return a Connection String\nStandard\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standard = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard;\n```\n```python\nimport pulumi\n\npulumi.export(\"standard\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standard\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standard\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard)\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 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 ctx.export(\"standard\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard());\n }\n}\n```\n```yaml\noutputs:\n standard: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nStandard srv\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standardSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"standardSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standardSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standardSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard_srv)\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 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 ctx.export(\"standardSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard_srv());\n }\n}\n```\n```yaml\noutputs:\n standardSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport = async () =\u003e {\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n const private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n return {\n \"private\": mongodbatlas_cluster[\"cluster-test\"].connection_strings[0][\"private\"],\n };\n}\n```\n```python\nimport pulumi\n\npulumi.export(\"private\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private\"])\n# Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\nprivate = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n var @private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"private\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"private\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private)\n\t\t// Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n\t\t_ := \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\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 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 ctx.export(\"private\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private());\n final var private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n }\n}\n```\n```yaml\nvariables:\n # Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n private: mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\noutputs:\n private: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate srv with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const privateSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].private_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"privateSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"privateSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"privateSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private_srv)\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 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 ctx.export(\"privateSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private_srv());\n }\n}\n```\n```yaml\noutputs:\n privateSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy endpoint_service_id\n## Import\n\nClusters can be imported using project ID and cluster name, in the format `PROJECTID-CLUSTERNAME`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/cluster:Cluster my_cluster 1112222b3bf99403840e8934-Cluster0\n```\nSee detailed information for arguments and attributes: [MongoDB API Clusters](https://docs.atlas.mongodb.com/reference/api/clusters-create-one/)\n\n", + "description": "## Example Usage\n\n### Example AWS cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n autoScalingDiskGbEnabled: true,\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n mongoDbMajorVersion: \"4.2\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M40\",\n providerName: \"AWS\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST_1\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n auto_scaling_disk_gb_enabled=True,\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n mongo_db_major_version=\"4.2\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M40\",\n provider_name=\"AWS\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST_1\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n AutoScalingDiskGbEnabled = true,\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n MongoDbMajorVersion = \"4.2\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M40\",\n ProviderName = \"AWS\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M40\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .autoScalingDiskGbEnabled(true)\n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .mongoDbMajorVersion(\"4.2\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M40\")\n .providerName(\"AWS\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n autoScalingDiskGbEnabled: true\n cloudBackup: true\n clusterType: REPLICASET\n mongoDbMajorVersion: '4.2'\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M40\n # Provider Settings \"block\"\n providerName: AWS\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Azure cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.Cluster(\"test\", {\n autoScalingDiskGbEnabled: true,\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n mongoDbMajorVersion: \"4.2\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerDiskTypeName: \"P6\",\n providerInstanceSizeName: \"M30\",\n providerName: \"AZURE\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.Cluster(\"test\",\n auto_scaling_disk_gb_enabled=True,\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n mongo_db_major_version=\"4.2\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_disk_type_name=\"P6\",\n provider_instance_size_name=\"M30\",\n provider_name=\"AZURE\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n AutoScalingDiskGbEnabled = true,\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n MongoDbMajorVersion = \"4.2\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderDiskTypeName = \"P6\",\n ProviderInstanceSizeName = \"M30\",\n ProviderName = \"AZURE\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderDiskTypeName: pulumi.String(\"P6\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M30\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 test = new Cluster(\"test\", ClusterArgs.builder() \n .autoScalingDiskGbEnabled(true)\n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .mongoDbMajorVersion(\"4.2\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerDiskTypeName(\"P6\")\n .providerInstanceSizeName(\"M30\")\n .providerName(\"AZURE\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:Cluster\n properties:\n autoScalingDiskGbEnabled: true\n cloudBackup: true\n clusterType: REPLICASET\n mongoDbMajorVersion: '4.2'\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerDiskTypeName: P6\n providerInstanceSizeName: M30\n # Provider Settings \"block\"\n providerName: AZURE\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example GCP cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.Cluster(\"test\", {\n autoScalingDiskGbEnabled: true,\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n mongoDbMajorVersion: \"4.2\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M30\",\n providerName: \"GCP\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"EASTERN_US\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.Cluster(\"test\",\n auto_scaling_disk_gb_enabled=True,\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n mongo_db_major_version=\"4.2\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M30\",\n provider_name=\"GCP\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"EASTERN_US\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n AutoScalingDiskGbEnabled = true,\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n MongoDbMajorVersion = \"4.2\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M30\",\n ProviderName = \"GCP\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"EASTERN_US\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M30\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EASTERN_US\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 test = new Cluster(\"test\", ClusterArgs.builder() \n .autoScalingDiskGbEnabled(true)\n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .mongoDbMajorVersion(\"4.2\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M30\")\n .providerName(\"GCP\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"EASTERN_US\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:Cluster\n properties:\n autoScalingDiskGbEnabled: true\n cloudBackup: true\n clusterType: REPLICASET\n mongoDbMajorVersion: '4.2'\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M30\n # Provider Settings \"block\"\n providerName: GCP\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: EASTERN_US\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multi Region cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n cloudBackup: true,\n clusterType: \"REPLICASET\",\n numShards: 1,\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M10\",\n providerName: \"AWS\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [\n {\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST_1\",\n },\n {\n electableNodes: 2,\n priority: 6,\n readOnlyNodes: 0,\n regionName: \"US_EAST_2\",\n },\n {\n electableNodes: 2,\n priority: 5,\n readOnlyNodes: 2,\n regionName: \"US_WEST_1\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n cloud_backup=True,\n cluster_type=\"REPLICASET\",\n num_shards=1,\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M10\",\n provider_name=\"AWS\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[\n mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST_1\",\n ),\n mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=2,\n priority=6,\n read_only_nodes=0,\n region_name=\"US_EAST_2\",\n ),\n mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=2,\n priority=5,\n read_only_nodes=2,\n region_name=\"US_WEST_1\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n CloudBackup = true,\n ClusterType = \"REPLICASET\",\n NumShards = 1,\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M10\",\n ProviderName = \"AWS\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_1\",\n },\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 2,\n Priority = 6,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_2\",\n },\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 2,\n Priority = 5,\n ReadOnlyNodes = 2,\n RegionName = \"US_WEST_1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(2),\n\t\t\t\t\t\t\tPriority: pulumi.Int(6),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(2),\n\t\t\t\t\t\t\tPriority: pulumi.Int(5),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(2),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_WEST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .cloudBackup(true)\n .clusterType(\"REPLICASET\")\n .numShards(1)\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M10\")\n .providerName(\"AWS\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs( \n ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_1\")\n .build(),\n ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(2)\n .priority(6)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_2\")\n .build(),\n ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(2)\n .priority(5)\n .readOnlyNodes(2)\n .regionName(\"US_WEST_1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n cloudBackup: true\n clusterType: REPLICASET\n numShards: 1\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M10\n # Provider Settings \"block\"\n providerName: AWS\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST_1\n - electableNodes: 2\n priority: 6\n readOnlyNodes: 0\n regionName: US_EAST_2\n - electableNodes: 2\n priority: 5\n readOnlyNodes: 2\n regionName: US_WEST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Global cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n cloudBackup: true,\n clusterType: \"GEOSHARDED\",\n numShards: 1,\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M30\",\n providerName: \"AWS\",\n replicationSpecs: [\n {\n numShards: 2,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"US_EAST_1\",\n }],\n zoneName: \"Zone 1\",\n },\n {\n numShards: 2,\n regionsConfigs: [{\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n regionName: \"EU_CENTRAL_1\",\n }],\n zoneName: \"Zone 2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n cloud_backup=True,\n cluster_type=\"GEOSHARDED\",\n num_shards=1,\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M30\",\n provider_name=\"AWS\",\n replication_specs=[\n mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=2,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"US_EAST_1\",\n )],\n zone_name=\"Zone 1\",\n ),\n mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=2,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n region_name=\"EU_CENTRAL_1\",\n )],\n zone_name=\"Zone 2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n CloudBackup = true,\n ClusterType = \"GEOSHARDED\",\n NumShards = 1,\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M30\",\n ProviderName = \"AWS\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 2,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"US_EAST_1\",\n },\n },\n ZoneName = \"Zone 1\",\n },\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 2,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n RegionName = \"EU_CENTRAL_1\",\n },\n },\n ZoneName = \"Zone 2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tClusterType: pulumi.String(\"GEOSHARDED\"),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M30\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(2),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tZoneName: pulumi.String(\"Zone 1\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(2),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"EU_CENTRAL_1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tZoneName: pulumi.String(\"Zone 2\"),\n\t\t\t\t},\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .cloudBackup(true)\n .clusterType(\"GEOSHARDED\")\n .numShards(1)\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M30\")\n .providerName(\"AWS\")\n .replicationSpecs( \n ClusterReplicationSpecArgs.builder()\n .numShards(2)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"US_EAST_1\")\n .build())\n .zoneName(\"Zone 1\")\n .build(),\n ClusterReplicationSpecArgs.builder()\n .numShards(2)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .regionName(\"EU_CENTRAL_1\")\n .build())\n .zoneName(\"Zone 2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n cloudBackup: true\n clusterType: GEOSHARDED\n numShards: 1\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M30\n # Provider Settings \"block\"\n providerName: AWS\n replicationSpecs:\n - numShards: 2\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: US_EAST_1\n zoneName: Zone 1\n - numShards: 2\n regionsConfigs:\n - electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n regionName: EU_CENTRAL_1\n zoneName: Zone 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example AWS Shared Tier (M2/M5) cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n backingProviderName: \"AWS\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M2\",\n providerName: \"TENANT\",\n providerRegionName: \"US_EAST_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n backing_provider_name=\"AWS\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M2\",\n provider_name=\"TENANT\",\n provider_region_name=\"US_EAST_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n BackingProviderName = \"AWS\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M2\",\n ProviderName = \"TENANT\",\n ProviderRegionName = \"US_EAST_1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tBackingProviderName: pulumi.String(\"AWS\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M2\"),\n\t\t\tProviderName: pulumi.String(\"TENANT\"),\n\t\t\tProviderRegionName: pulumi.String(\"US_EAST_1\"),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .backingProviderName(\"AWS\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M2\")\n .providerName(\"TENANT\")\n .providerRegionName(\"US_EAST_1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n backingProviderName: AWS\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M2\n # Provider Settings \"block\"\n providerName: TENANT\n providerRegionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example AWS Free Tier cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst cluster_test = new mongodbatlas.Cluster(\"cluster-test\", {\n backingProviderName: \"AWS\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerInstanceSizeName: \"M0\",\n providerName: \"TENANT\",\n providerRegionName: \"US_EAST_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ncluster_test = mongodbatlas.Cluster(\"cluster-test\",\n backing_provider_name=\"AWS\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_instance_size_name=\"M0\",\n provider_name=\"TENANT\",\n provider_region_name=\"US_EAST_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster_test = new Mongodbatlas.Cluster(\"cluster-test\", new()\n {\n BackingProviderName = \"AWS\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderInstanceSizeName = \"M0\",\n ProviderName = \"TENANT\",\n ProviderRegionName = \"US_EAST_1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewCluster(ctx, \"cluster-test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tBackingProviderName: pulumi.String(\"AWS\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M0\"),\n\t\t\tProviderName: pulumi.String(\"TENANT\"),\n\t\t\tProviderRegionName: pulumi.String(\"US_EAST_1\"),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\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 cluster_test = new Cluster(\"cluster-test\", ClusterArgs.builder() \n .backingProviderName(\"AWS\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerInstanceSizeName(\"M0\")\n .providerName(\"TENANT\")\n .providerRegionName(\"US_EAST_1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster-test:\n type: mongodbatlas:Cluster\n properties:\n backingProviderName: AWS\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerInstanceSizeName: M0\n # Provider Settings \"block\"\n providerName: TENANT\n providerRegionName: US_EAST_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example - Return a Connection String\nStandard\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standard = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard;\n```\n```python\nimport pulumi\n\npulumi.export(\"standard\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standard\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standard\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard)\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 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 ctx.export(\"standard\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard());\n }\n}\n```\n```yaml\noutputs:\n standard: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nStandard srv\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const standardSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].standard_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"standardSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"standard_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"standardSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Standard_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"standardSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Standard_srv)\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 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 ctx.export(\"standardSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].standard_srv());\n }\n}\n```\n```yaml\noutputs:\n standardSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].standard_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport = async () =\u003e {\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n const private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n return {\n \"private\": mongodbatlas_cluster[\"cluster-test\"].connection_strings[0][\"private\"],\n };\n}\n```\n```python\nimport pulumi\n\npulumi.export(\"private\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private\"])\n# Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\nprivate = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n var @private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"private\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"private\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private)\n\t\t// Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n\t\t_ := \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\"\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 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 ctx.export(\"private\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private());\n // Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n final var private = \"mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\";\n\n }\n}\n```\n```yaml\nvariables:\n # Example return string: private = \"mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true\u0026authSource=admin\u0026replicaSet=atlas-12diht-shard-0\"\n private: mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net\noutputs:\n private: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nPrivate srv with Network peering and Custom DNS AWS enabled\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n\nexport const privateSrv = mongodbatlas_cluster[\"cluster-test\"].connection_strings[0].private_srv;\n```\n```python\nimport pulumi\n\npulumi.export(\"privateSrv\", mongodbatlas_cluster[\"cluster-test\"][\"connection_strings\"][0][\"private_srv\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"privateSrv\"] = mongodbatlas_cluster.Cluster_test.Connection_strings[0].Private_srv,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tctx.Export(\"privateSrv\", mongodbatlas_cluster.ClusterTest.Connection_strings[0].Private_srv)\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 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 ctx.export(\"privateSrv\", mongodbatlas_cluster.cluster-test().connection_strings()[0].private_srv());\n }\n}\n```\n```yaml\noutputs:\n privateSrv: ${mongodbatlas_cluster\"cluster-test\"[%!s(MISSING)].connection_strings[0].private_srv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBy endpoint_service_id\n## Import\n\nClusters can be imported using project ID and cluster name, in the format `PROJECTID-CLUSTERNAME`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/cluster:Cluster my_cluster 1112222b3bf99403840e8934-Cluster0\n```\nSee detailed information for arguments and attributes: [MongoDB API Clusters](https://docs.atlas.mongodb.com/reference/api/clusters-create-one/)\n\n", "properties": { "acceptDataRisksAndForceReplicaSetReconfig": { "type": "string", @@ -16454,7 +16454,7 @@ } }, "mongodbatlas:index/ldapVerify:LdapVerify": { - "description": "`mongodbatlas.LdapVerify` provides an LDAP Verify resource. This allows a a verification of an LDAP configuration over TLS for an Atlas project. Atlas retains only the most recent request for each project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testProject = new mongodbatlas.Project(\"testProject\", {orgId: \"ORG ID\"});\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: testProject.id,\n providerName: \"AWS\",\n providerRegionName: \"US_EAST_2\",\n providerInstanceSizeName: \"M10\",\n cloudBackup: true,\n});\n//enable cloud provider snapshots\nconst testLdapVerify = new mongodbatlas.LdapVerify(\"testLdapVerify\", {\n projectId: testProject.id,\n hostname: \"HOSTNAME\",\n port: 636,\n bindUsername: \"USERNAME\",\n bindPassword: \"PASSWORD\",\n}, {\n dependsOn: [testCluster],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_project = mongodbatlas.Project(\"testProject\", org_id=\"ORG ID\")\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=test_project.id,\n provider_name=\"AWS\",\n provider_region_name=\"US_EAST_2\",\n provider_instance_size_name=\"M10\",\n cloud_backup=True)\n#enable cloud provider snapshots\ntest_ldap_verify = mongodbatlas.LdapVerify(\"testLdapVerify\",\n project_id=test_project.id,\n hostname=\"HOSTNAME\",\n port=636,\n bind_username=\"USERNAME\",\n bind_password=\"PASSWORD\",\n opts=pulumi.ResourceOptions(depends_on=[test_cluster]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testProject = new Mongodbatlas.Project(\"testProject\", new()\n {\n OrgId = \"ORG ID\",\n });\n\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = testProject.Id,\n ProviderName = \"AWS\",\n ProviderRegionName = \"US_EAST_2\",\n ProviderInstanceSizeName = \"M10\",\n CloudBackup = true,\n });\n\n //enable cloud provider snapshots\n var testLdapVerify = new Mongodbatlas.LdapVerify(\"testLdapVerify\", new()\n {\n ProjectId = testProject.Id,\n Hostname = \"HOSTNAME\",\n Port = 636,\n BindUsername = \"USERNAME\",\n BindPassword = \"PASSWORD\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n testCluster,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestProject, err := mongodbatlas.NewProject(ctx, \"testProject\", \u0026mongodbatlas.ProjectArgs{\n\t\t\tOrgId: pulumi.String(\"ORG ID\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: testProject.ID(),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewLdapVerify(ctx, \"testLdapVerify\", \u0026mongodbatlas.LdapVerifyArgs{\n\t\t\tProjectId: testProject.ID(),\n\t\t\tHostname: pulumi.String(\"HOSTNAME\"),\n\t\t\tPort: pulumi.Int(636),\n\t\t\tBindUsername: pulumi.String(\"USERNAME\"),\n\t\t\tBindPassword: pulumi.String(\"PASSWORD\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestCluster,\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.mongodbatlas.Project;\nimport com.pulumi.mongodbatlas.ProjectArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.LdapVerify;\nimport com.pulumi.mongodbatlas.LdapVerifyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 testProject = new Project(\"testProject\", ProjectArgs.builder() \n .orgId(\"ORG ID\")\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(testProject.id())\n .providerName(\"AWS\")\n .providerRegionName(\"US_EAST_2\")\n .providerInstanceSizeName(\"M10\")\n .cloudBackup(true)\n .build());\n\n var testLdapVerify = new LdapVerify(\"testLdapVerify\", LdapVerifyArgs.builder() \n .projectId(testProject.id())\n .hostname(\"HOSTNAME\")\n .port(636)\n .bindUsername(\"USERNAME\")\n .bindPassword(\"PASSWORD\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(testCluster)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProject:\n type: mongodbatlas:Project\n properties:\n orgId: ORG ID\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${testProject.id}\n # Provider Settings \"block\"\n providerName: AWS\n providerRegionName: US_EAST_2\n providerInstanceSizeName: M10\n cloudBackup: true\n testLdapVerify:\n type: mongodbatlas:LdapVerify\n properties:\n projectId: ${testProject.id}\n hostname: HOSTNAME\n port: 636\n bindUsername: USERNAME\n bindPassword: PASSWORD\n options:\n dependson:\n - ${testCluster}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLDAP Configuration must be imported using project ID and request ID, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/ldapVerify:LdapVerify test 5d09d6a59ccf6445652a444a-5d09d6a59ccf6445652a444a\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/ldaps-configuration-request-verification)\n\n", + "description": "`mongodbatlas.LdapVerify` provides an LDAP Verify resource. This allows a a verification of an LDAP configuration over TLS for an Atlas project. Atlas retains only the most recent request for each project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testProject = new mongodbatlas.Project(\"testProject\", {orgId: \"ORG ID\"});\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: testProject.id,\n providerName: \"AWS\",\n providerRegionName: \"US_EAST_2\",\n providerInstanceSizeName: \"M10\",\n cloudBackup: true,\n});\n//enable cloud provider snapshots\nconst testLdapVerify = new mongodbatlas.LdapVerify(\"testLdapVerify\", {\n projectId: testProject.id,\n hostname: \"HOSTNAME\",\n port: 636,\n bindUsername: \"USERNAME\",\n bindPassword: \"PASSWORD\",\n}, {\n dependsOn: [testCluster],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_project = mongodbatlas.Project(\"testProject\", org_id=\"ORG ID\")\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=test_project.id,\n provider_name=\"AWS\",\n provider_region_name=\"US_EAST_2\",\n provider_instance_size_name=\"M10\",\n cloud_backup=True)\n#enable cloud provider snapshots\ntest_ldap_verify = mongodbatlas.LdapVerify(\"testLdapVerify\",\n project_id=test_project.id,\n hostname=\"HOSTNAME\",\n port=636,\n bind_username=\"USERNAME\",\n bind_password=\"PASSWORD\",\n opts=pulumi.ResourceOptions(depends_on=[test_cluster]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testProject = new Mongodbatlas.Project(\"testProject\", new()\n {\n OrgId = \"ORG ID\",\n });\n\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = testProject.Id,\n ProviderName = \"AWS\",\n ProviderRegionName = \"US_EAST_2\",\n ProviderInstanceSizeName = \"M10\",\n CloudBackup = true,\n });\n\n //enable cloud provider snapshots\n var testLdapVerify = new Mongodbatlas.LdapVerify(\"testLdapVerify\", new()\n {\n ProjectId = testProject.Id,\n Hostname = \"HOSTNAME\",\n Port = 636,\n BindUsername = \"USERNAME\",\n BindPassword = \"PASSWORD\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testCluster, \n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestProject, err := mongodbatlas.NewProject(ctx, \"testProject\", \u0026mongodbatlas.ProjectArgs{\n\t\t\tOrgId: pulumi.String(\"ORG ID\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: testProject.ID(),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewLdapVerify(ctx, \"testLdapVerify\", \u0026mongodbatlas.LdapVerifyArgs{\n\t\t\tProjectId: testProject.ID(),\n\t\t\tHostname: pulumi.String(\"HOSTNAME\"),\n\t\t\tPort: pulumi.Int(636),\n\t\t\tBindUsername: pulumi.String(\"USERNAME\"),\n\t\t\tBindPassword: pulumi.String(\"PASSWORD\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestCluster,\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.mongodbatlas.Project;\nimport com.pulumi.mongodbatlas.ProjectArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.LdapVerify;\nimport com.pulumi.mongodbatlas.LdapVerifyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 testProject = new Project(\"testProject\", ProjectArgs.builder() \n .orgId(\"ORG ID\")\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(testProject.id())\n .providerName(\"AWS\")\n .providerRegionName(\"US_EAST_2\")\n .providerInstanceSizeName(\"M10\")\n .cloudBackup(true)\n .build());\n\n //enable cloud provider snapshots\n var testLdapVerify = new LdapVerify(\"testLdapVerify\", LdapVerifyArgs.builder() \n .projectId(testProject.id())\n .hostname(\"HOSTNAME\")\n .port(636)\n .bindUsername(\"USERNAME\")\n .bindPassword(\"PASSWORD\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(testCluster)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProject:\n type: mongodbatlas:Project\n properties:\n orgId: ORG ID\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${testProject.id}\n # Provider Settings \"block\"\n providerName: AWS\n providerRegionName: US_EAST_2\n providerInstanceSizeName: M10\n cloudBackup: true\n testLdapVerify:\n type: mongodbatlas:LdapVerify\n properties:\n projectId: ${testProject.id}\n hostname: HOSTNAME\n port: 636\n bindUsername: USERNAME\n bindPassword: PASSWORD\n options:\n dependson:\n - ${testCluster}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLDAP Configuration must be imported using project ID and request ID, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/ldapVerify:LdapVerify test 5d09d6a59ccf6445652a444a-5d09d6a59ccf6445652a444a\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/ldaps-configuration-request-verification)\n\n", "properties": { "authzQueryTemplate": { "type": "string", @@ -16915,7 +16915,7 @@ } }, "mongodbatlas:index/networkPeering:NetworkPeering": { - "description": "`mongodbatlas.NetworkPeering` provides a Network Peering Connection resource. The resource lets you create, edit and delete network peering connections. The resource requires your Project ID. \n\nEnsure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only.\n\n\u003e **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details\n\n\u003e **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network.\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete\n Microsoft.Network/virtualNetworks/peer/action\nFor more information see https://docs.atlas.mongodb.com/security-vpc-peering/ and https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/\n\n\u003e **Create a Whitelist:** Ensure you whitelist the private IP ranges of the subnets in which your application is hosted in order to connect to your Atlas cluster. See the project_ip_whitelist resource.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find **group_id** in the official documentation.\n\n\n## Example Usage\n\n### Container \u0026 Peering Connection\n\n### Example with AWS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n accepterRegionName: \"us-east-1\",\n projectId: local.project_id,\n containerId: \"507f1f77bcf86cd799439011\",\n providerName: \"AWS\",\n routeTableCidrBlock: \"192.168.0.0/24\",\n vpcId: \"vpc-abc123abc123\",\n awsAccountId: \"abc123abc123\",\n});\n// the following assumes an AWS provider is configured\n// Accept the peering connection request\nconst peer = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: testNetworkPeering.connectionId,\n autoAccept: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n accepter_region_name=\"us-east-1\",\n project_id=local[\"project_id\"],\n container_id=\"507f1f77bcf86cd799439011\",\n provider_name=\"AWS\",\n route_table_cidr_block=\"192.168.0.0/24\",\n vpc_id=\"vpc-abc123abc123\",\n aws_account_id=\"abc123abc123\")\n# the following assumes an AWS provider is configured\n# Accept the peering connection request\npeer = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=test_network_peering.connection_id,\n auto_accept=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n AccepterRegionName = \"us-east-1\",\n ProjectId = local.Project_id,\n ContainerId = \"507f1f77bcf86cd799439011\",\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"192.168.0.0/24\",\n VpcId = \"vpc-abc123abc123\",\n AwsAccountId = \"abc123abc123\",\n });\n\n // the following assumes an AWS provider is configured\n // Accept the peering connection request\n var peer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = testNetworkPeering.ConnectionId,\n AutoAccept = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Container example provided but not always required,\n\t\t// see network_container documentation for details.\n\t\t_, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-1\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: pulumi.String(\"507f1f77bcf86cd799439011\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: pulumi.String(\"vpc-abc123abc123\"),\n\t\t\tAwsAccountId: pulumi.String(\"abc123abc123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// the following assumes an AWS provider is configured\n\t\t// Accept the peering connection request\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: testNetworkPeering.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-1\")\n .projectId(local.project_id())\n .containerId(\"507f1f77bcf86cd799439011\")\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"192.168.0.0/24\")\n .vpcId(\"vpc-abc123abc123\")\n .awsAccountId(\"abc123abc123\")\n .build());\n\n var peer = new VpcPeeringConnectionAccepter(\"peer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(testNetworkPeering.connectionId())\n .autoAccept(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: AWS\n regionName: US_EAST_1\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-1\n projectId: ${local.project_id}\n containerId: 507f1f77bcf86cd799439011\n providerName: AWS\n routeTableCidrBlock: 192.168.0.0/24\n vpcId: vpc-abc123abc123\n awsAccountId: abc123abc123\n # the following assumes an AWS provider is configured\n # Accept the peering connection request\n peer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${testNetworkPeering.connectionId}\n autoAccept: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with GCP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"GCP\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n numShards: 1,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_4\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"google_compute_network_peering.peering\"],\n});\n// Private connection strings are not available w/ GCP until the reciprocal\n// connection changes to available (i.e. when the status attribute changes\n// to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n// happens when the google_compute_network_peering and and\n// mongodbatlas_network_peering make a reciprocal connection). Hence\n// since the cluster can be created before this connection completes\n// you may need to run `terraform refresh` to obtain the private connection strings.\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"GCP\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n num_shards=1,\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_4\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"google_compute_network_peering.peering\"]))\n# Private connection strings are not available w/ GCP until the reciprocal\n# connection changes to available (i.e. when the status attribute changes\n# to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n# happens when the google_compute_network_peering and and\n# mongodbatlas_network_peering make a reciprocal connection). Hence\n# since the cluster can be created before this connection completes\n# you may need to run `terraform refresh` to obtain the private connection strings.\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"GCP\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n NumShards = 1,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_4\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"google_compute_network_peering.peering\",\n },\n });\n\n // Private connection strings are not available w/ GCP until the reciprocal\n // connection changes to available (i.e. when the status attribute changes\n // to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n // happens when the google_compute_network_peering and and\n // mongodbatlas_network_peering make a reciprocal connection). Hence\n // since the cluster can be created before this connection completes\n // you may need to run `terraform refresh` to obtain the private connection strings.\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Container example provided but not always required,\n\t\t// see network_container documentation for details.\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the GCP peer\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the cluster once the peering connection is completed\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"google_compute_network_peering.peering\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"GCP\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .numShards(1)\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_4\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"google_compute_network_peering.peering\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: GCP\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\n # Create the cluster once the peering connection is completed\n testCluster: # Private connection strings are not available w/ GCP until the reciprocal\n # connection changes to available (i.e. when the status attribute changes\n # to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n # happens when the google_compute_network_peering and and\n # mongodbatlas_network_peering make a reciprocal connection). Hence\n # since the cluster can be created before this connection completes\n # you may need to run `terraform refresh` to obtain the private connection strings.\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n numShards: 1\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_4\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n options:\n dependson:\n - google_compute_network_peering.peering\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Azure\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: local.ATLAS_CIDR_BLOCK,\n providerName: \"AZURE\",\n region: \"US_EAST_2\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCES_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerDiskTypeName: \"P4\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"mongodbatlas_network_peering.test\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=local[\"ATLAS_CIDR_BLOCK\"],\n provider_name=\"AZURE\",\n region=\"US_EAST_2\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCES_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_disk_type_name=\"P4\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"mongodbatlas_network_peering.test\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = local.ATLAS_CIDR_BLOCK,\n ProviderName = \"AZURE\",\n Region = \"US_EAST_2\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCES_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderDiskTypeName = \"P4\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"mongodbatlas_network_peering.test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Ensure you have created the required Azure service principal first, see\n\t\t// see https://docs.atlas.mongodb.com/security-vpc-peering/\n\t\t// Container example provided but not always required,\n\t\t// see network_container documentation for details.\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.Any(local.ATLAS_CIDR_BLOCK),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tRegion: pulumi.String(\"US_EAST_2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCES_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_NAME),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the cluster once the peering connection is completed\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderDiskTypeName: pulumi.String(\"P4\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"mongodbatlas_network_peering.test\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(local.ATLAS_CIDR_BLOCK())\n .providerName(\"AZURE\")\n .region(\"US_EAST_2\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCES_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerDiskTypeName(\"P4\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"mongodbatlas_network_peering.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: ${local.ATLAS_CIDR_BLOCK}\n providerName: AZURE\n region: US_EAST_2\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCES_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n # Create the cluster once the peering connection is completed\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerDiskTypeName: P4\n providerInstanceSizeName: M10\n options:\n dependson:\n - mongodbatlas_network_peering.test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Peering Connection Only, Container Exists\nYou can create a peering connection if an appropriate container for your cloud provider already exists in your project (see the network_container resource for more information). A container may already exist if you have already created a cluster in your project, if so you may obtain the `container_id` from the cluster resource as shown in the examples below.\n\n### Example with AWS\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AWS region\nconst test = new mongodbatlas.Cluster(\"test\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AWS\",\n providerInstanceSizeName: \"M10\",\n});\n// the following assumes an AWS provider is configured\nconst _default = new aws.ec2.DefaultVpc(\"default\", {tags: {\n Name: \"Default VPC\",\n}});\n// Create the peering connection request\nconst mongoPeer = new mongodbatlas.NetworkPeering(\"mongoPeer\", {\n accepterRegionName: \"us-east-2\",\n projectId: local.project_id,\n containerId: test.containerId,\n providerName: \"AWS\",\n routeTableCidrBlock: \"172.31.0.0/16\",\n vpcId: _default.id,\n awsAccountId: local.AWS_ACCOUNT_ID,\n});\n// Accept the connection \nconst awsPeer = new aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\", {\n vpcPeeringConnectionId: mongoPeer.connectionId,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AWS region\ntest = mongodbatlas.Cluster(\"test\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AWS\",\n provider_instance_size_name=\"M10\")\n# the following assumes an AWS provider is configured\ndefault = aws.ec2.DefaultVpc(\"default\", tags={\n \"Name\": \"Default VPC\",\n})\n# Create the peering connection request\nmongo_peer = mongodbatlas.NetworkPeering(\"mongoPeer\",\n accepter_region_name=\"us-east-2\",\n project_id=local[\"project_id\"],\n container_id=test.container_id,\n provider_name=\"AWS\",\n route_table_cidr_block=\"172.31.0.0/16\",\n vpc_id=default.id,\n aws_account_id=local[\"AWS_ACCOUNT_ID\"])\n# Accept the connection \naws_peer = aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\",\n vpc_peering_connection_id=mongo_peer.connection_id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AWS region\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AWS\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // the following assumes an AWS provider is configured\n var @default = new Aws.Ec2.DefaultVpc(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default VPC\" },\n },\n });\n\n // Create the peering connection request\n var mongoPeer = new Mongodbatlas.NetworkPeering(\"mongoPeer\", new()\n {\n AccepterRegionName = \"us-east-2\",\n ProjectId = local.Project_id,\n ContainerId = test.ContainerId,\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"172.31.0.0/16\",\n VpcId = @default.Id,\n AwsAccountId = local.AWS_ACCOUNT_ID,\n });\n\n // Accept the connection \n var awsPeer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"awsPeer\", new()\n {\n VpcPeeringConnectionId = mongoPeer.ConnectionId,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 an Atlas cluster, this creates a container if one\n\t\t// does not yet exist for this AWS region\n\t\ttest, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// the following assumes an AWS provider is configured\n\t\t_, err = ec2.NewDefaultVpc(ctx, \"default\", \u0026ec2.DefaultVpcArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default VPC\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\tmongoPeer, err := mongodbatlas.NewNetworkPeering(ctx, \"mongoPeer\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-2\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: test.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tAwsAccountId: pulumi.Any(local.AWS_ACCOUNT_ID),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accept the connection\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"awsPeer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: mongoPeer.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.aws.ec2.DefaultVpc;\nimport com.pulumi.aws.ec2.DefaultVpcArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 test = new Cluster(\"test\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AWS\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var default_ = new DefaultVpc(\"default\", DefaultVpcArgs.builder() \n .tags(Map.of(\"Name\", \"Default VPC\"))\n .build());\n\n var mongoPeer = new NetworkPeering(\"mongoPeer\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-2\")\n .projectId(local.project_id())\n .containerId(test.containerId())\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"172.31.0.0/16\")\n .vpcId(default_.id())\n .awsAccountId(local.AWS_ACCOUNT_ID())\n .build());\n\n var awsPeer = new VpcPeeringConnectionAccepter(\"awsPeer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(mongoPeer.connectionId())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AWS region\n test:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AWS\n providerInstanceSizeName: M10\n # the following assumes an AWS provider is configured\n default:\n type: aws:ec2:DefaultVpc\n properties:\n tags:\n Name: Default VPC\n # Create the peering connection request\n mongoPeer:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-2\n projectId: ${local.project_id}\n containerId: ${test.containerId}\n providerName: AWS\n routeTableCidrBlock: 172.31.0.0/16\n vpcId: ${default.id}\n awsAccountId: ${local.AWS_ACCOUNT_ID}\n # Accept the connection\n awsPeer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${mongoPeer.connectionId}\n autoAccept: true\n tags:\n Side: Accepter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with GCP\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this GCP \nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n atlasCidrBlock: \"192.168.0.0/18\",\n containerId: testCluster.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this GCP \ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"192.168.0.0/18\",\n container_id=test_cluster.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this GCP \n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"192.168.0.0/18\",\n ContainerId = testCluster.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 an Atlas cluster, this creates a container if one\n\t\t// does not yet exist for this GCP\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"192.168.0.0/18\"),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the GCP peer\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"192.168.0.0/18\")\n .containerId(testCluster.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this GCP\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 192.168.0.0/18\n containerId: ${testCluster.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Azure\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AZURE region\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testCluster.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCE_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AZURE region\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_cluster.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCE_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AZURE region\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testCluster.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCE_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Ensure you have created the required Azure service principal first, see\n\t\t// see https://docs.atlas.mongodb.com/security-vpc-peering/\n\t\t// Create an Atlas cluster, this creates a container if one\n\t\t// does not yet exist for this AZURE region\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCE_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_NAME),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testCluster.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCE_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AZURE region\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testCluster.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCE_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetwork Peering Connections can be imported using project ID and network peering id, in the format `PROJECTID-PEERID-PROVIDERNAME`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/networkPeering:NetworkPeering my_peering 1112222b3bf99403840e8934-5cbf563d87d9d67253be590a-AWS\n```\nSee detailed information for arguments and attributes: [MongoDB API Network Peering Connection](https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/)\n\n-\u003e __NOTE:__ If you need to get an existing container ID see the How-To Guide.\n\n", + "description": "`mongodbatlas.NetworkPeering` provides a Network Peering Connection resource. The resource lets you create, edit and delete network peering connections. The resource requires your Project ID. \n\nEnsure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only.\n\n\u003e **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details\n\n\u003e **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network.\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete\n Microsoft.Network/virtualNetworks/peer/action\nFor more information see https://docs.atlas.mongodb.com/security-vpc-peering/ and https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/\n\n\u003e **Create a Whitelist:** Ensure you whitelist the private IP ranges of the subnets in which your application is hosted in order to connect to your Atlas cluster. See the project_ip_whitelist resource.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find **group_id** in the official documentation.\n\n\n## Example Usage\n\n### Container \u0026 Peering Connection\n\n### Example with AWS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n accepterRegionName: \"us-east-1\",\n projectId: local.project_id,\n containerId: \"507f1f77bcf86cd799439011\",\n providerName: \"AWS\",\n routeTableCidrBlock: \"192.168.0.0/24\",\n vpcId: \"vpc-abc123abc123\",\n awsAccountId: \"abc123abc123\",\n});\n// the following assumes an AWS provider is configured\n// Accept the peering connection request\nconst peer = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: testNetworkPeering.connectionId,\n autoAccept: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n accepter_region_name=\"us-east-1\",\n project_id=local[\"project_id\"],\n container_id=\"507f1f77bcf86cd799439011\",\n provider_name=\"AWS\",\n route_table_cidr_block=\"192.168.0.0/24\",\n vpc_id=\"vpc-abc123abc123\",\n aws_account_id=\"abc123abc123\")\n# the following assumes an AWS provider is configured\n# Accept the peering connection request\npeer = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=test_network_peering.connection_id,\n auto_accept=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n AccepterRegionName = \"us-east-1\",\n ProjectId = local.Project_id,\n ContainerId = \"507f1f77bcf86cd799439011\",\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"192.168.0.0/24\",\n VpcId = \"vpc-abc123abc123\",\n AwsAccountId = \"abc123abc123\",\n });\n\n // the following assumes an AWS provider is configured\n // Accept the peering connection request\n var peer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = testNetworkPeering.ConnectionId,\n AutoAccept = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Container example provided but not always required,\n\t\t// see network_container documentation for details.\n\t\t_, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-1\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: pulumi.String(\"507f1f77bcf86cd799439011\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: pulumi.String(\"vpc-abc123abc123\"),\n\t\t\tAwsAccountId: pulumi.String(\"abc123abc123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// the following assumes an AWS provider is configured\n\t\t// Accept the peering connection request\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: testNetworkPeering.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n // Create the peering connection request\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-1\")\n .projectId(local.project_id())\n .containerId(\"507f1f77bcf86cd799439011\")\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"192.168.0.0/24\")\n .vpcId(\"vpc-abc123abc123\")\n .awsAccountId(\"abc123abc123\")\n .build());\n\n // the following assumes an AWS provider is configured\n // Accept the peering connection request\n var peer = new VpcPeeringConnectionAccepter(\"peer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(testNetworkPeering.connectionId())\n .autoAccept(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: AWS\n regionName: US_EAST_1\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-1\n projectId: ${local.project_id}\n containerId: 507f1f77bcf86cd799439011\n providerName: AWS\n routeTableCidrBlock: 192.168.0.0/24\n vpcId: vpc-abc123abc123\n awsAccountId: abc123abc123\n # the following assumes an AWS provider is configured\n # Accept the peering connection request\n peer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${testNetworkPeering.connectionId}\n autoAccept: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with GCP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"GCP\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n numShards: 1,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_4\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"google_compute_network_peering.peering\"],\n});\n// Private connection strings are not available w/ GCP until the reciprocal\n// connection changes to available (i.e. when the status attribute changes\n// to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n// happens when the google_compute_network_peering and and\n// mongodbatlas_network_peering make a reciprocal connection). Hence\n// since the cluster can be created before this connection completes\n// you may need to run `terraform refresh` to obtain the private connection strings.\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"GCP\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n num_shards=1,\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_4\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"google_compute_network_peering.peering\"]))\n# Private connection strings are not available w/ GCP until the reciprocal\n# connection changes to available (i.e. when the status attribute changes\n# to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n# happens when the google_compute_network_peering and and\n# mongodbatlas_network_peering make a reciprocal connection). Hence\n# since the cluster can be created before this connection completes\n# you may need to run `terraform refresh` to obtain the private connection strings.\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"GCP\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n NumShards = 1,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_4\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n \"google_compute_network_peering.peering\", \n },\n });\n\n // Private connection strings are not available w/ GCP until the reciprocal\n // connection changes to available (i.e. when the status attribute changes\n // to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n // happens when the google_compute_network_peering and and\n // mongodbatlas_network_peering make a reciprocal connection). Hence\n // since the cluster can be created before this connection completes\n // you may need to run `terraform refresh` to obtain the private connection strings.\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Container example provided but not always required,\n\t\t// see network_container documentation for details.\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the GCP peer\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the cluster once the peering connection is completed\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"google_compute_network_peering.peering\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"GCP\")\n .build());\n\n // Create the peering connection request\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n // Create the GCP peer\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .numShards(1)\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_4\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"google_compute_network_peering.peering\")\n .build());\n\n // Private connection strings are not available w/ GCP until the reciprocal\n // connection changes to available (i.e. when the status attribute changes\n // to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n // happens when the google_compute_network_peering and and\n // mongodbatlas_network_peering make a reciprocal connection). Hence\n // since the cluster can be created before this connection completes\n // you may need to run `terraform refresh` to obtain the private connection strings.\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: GCP\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\n # Create the cluster once the peering connection is completed\n testCluster: # Private connection strings are not available w/ GCP until the reciprocal\n # connection changes to available (i.e. when the status attribute changes\n # to AVAILABLE on the 'mongodbatlas_network_peering' resource, which\n # happens when the google_compute_network_peering and and\n # mongodbatlas_network_peering make a reciprocal connection). Hence\n # since the cluster can be created before this connection completes\n # you may need to run `terraform refresh` to obtain the private connection strings.\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n numShards: 1\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_4\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n options:\n dependson:\n - google_compute_network_peering.peering\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Azure\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: local.ATLAS_CIDR_BLOCK,\n providerName: \"AZURE\",\n region: \"US_EAST_2\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCES_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerDiskTypeName: \"P4\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"mongodbatlas_network_peering.test\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=local[\"ATLAS_CIDR_BLOCK\"],\n provider_name=\"AZURE\",\n region=\"US_EAST_2\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCES_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_disk_type_name=\"P4\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"mongodbatlas_network_peering.test\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = local.ATLAS_CIDR_BLOCK,\n ProviderName = \"AZURE\",\n Region = \"US_EAST_2\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCES_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderDiskTypeName = \"P4\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n \"mongodbatlas_network_peering.test\", \n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Ensure you have created the required Azure service principal first, see\n\t\t// see https://docs.atlas.mongodb.com/security-vpc-peering/\n\t\t// Container example provided but not always required,\n\t\t// see network_container documentation for details.\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.Any(local.ATLAS_CIDR_BLOCK),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tRegion: pulumi.String(\"US_EAST_2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCES_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_NAME),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the cluster once the peering connection is completed\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderDiskTypeName: pulumi.String(\"P4\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"mongodbatlas_network_peering.test\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(local.ATLAS_CIDR_BLOCK())\n .providerName(\"AZURE\")\n .region(\"US_EAST_2\")\n .build());\n\n // Create the peering connection request\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCES_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerDiskTypeName(\"P4\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"mongodbatlas_network_peering.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: ${local.ATLAS_CIDR_BLOCK}\n providerName: AZURE\n region: US_EAST_2\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCES_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n # Create the cluster once the peering connection is completed\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerDiskTypeName: P4\n providerInstanceSizeName: M10\n options:\n dependson:\n - mongodbatlas_network_peering.test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Peering Connection Only, Container Exists\nYou can create a peering connection if an appropriate container for your cloud provider already exists in your project (see the network_container resource for more information). A container may already exist if you have already created a cluster in your project, if so you may obtain the `container_id` from the cluster resource as shown in the examples below.\n\n### Example with AWS\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AWS region\nconst test = new mongodbatlas.Cluster(\"test\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AWS\",\n providerInstanceSizeName: \"M10\",\n});\n// the following assumes an AWS provider is configured\nconst _default = new aws.ec2.DefaultVpc(\"default\", {tags: {\n Name: \"Default VPC\",\n}});\n// Create the peering connection request\nconst mongoPeer = new mongodbatlas.NetworkPeering(\"mongoPeer\", {\n accepterRegionName: \"us-east-2\",\n projectId: local.project_id,\n containerId: test.containerId,\n providerName: \"AWS\",\n routeTableCidrBlock: \"172.31.0.0/16\",\n vpcId: _default.id,\n awsAccountId: local.AWS_ACCOUNT_ID,\n});\n// Accept the connection \nconst awsPeer = new aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\", {\n vpcPeeringConnectionId: mongoPeer.connectionId,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AWS region\ntest = mongodbatlas.Cluster(\"test\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AWS\",\n provider_instance_size_name=\"M10\")\n# the following assumes an AWS provider is configured\ndefault = aws.ec2.DefaultVpc(\"default\", tags={\n \"Name\": \"Default VPC\",\n})\n# Create the peering connection request\nmongo_peer = mongodbatlas.NetworkPeering(\"mongoPeer\",\n accepter_region_name=\"us-east-2\",\n project_id=local[\"project_id\"],\n container_id=test.container_id,\n provider_name=\"AWS\",\n route_table_cidr_block=\"172.31.0.0/16\",\n vpc_id=default.id,\n aws_account_id=local[\"AWS_ACCOUNT_ID\"])\n# Accept the connection \naws_peer = aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\",\n vpc_peering_connection_id=mongo_peer.connection_id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AWS region\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AWS\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // the following assumes an AWS provider is configured\n var @default = new Aws.Ec2.DefaultVpc(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default VPC\" },\n },\n });\n\n // Create the peering connection request\n var mongoPeer = new Mongodbatlas.NetworkPeering(\"mongoPeer\", new()\n {\n AccepterRegionName = \"us-east-2\",\n ProjectId = local.Project_id,\n ContainerId = test.ContainerId,\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"172.31.0.0/16\",\n VpcId = @default.Id,\n AwsAccountId = local.AWS_ACCOUNT_ID,\n });\n\n // Accept the connection \n var awsPeer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"awsPeer\", new()\n {\n VpcPeeringConnectionId = mongoPeer.ConnectionId,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 an Atlas cluster, this creates a container if one\n\t\t// does not yet exist for this AWS region\n\t\ttest, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// the following assumes an AWS provider is configured\n\t\t_, err = ec2.NewDefaultVpc(ctx, \"default\", \u0026ec2.DefaultVpcArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default VPC\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\tmongoPeer, err := mongodbatlas.NewNetworkPeering(ctx, \"mongoPeer\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-2\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: test.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tAwsAccountId: pulumi.Any(local.AWS_ACCOUNT_ID),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accept the connection\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"awsPeer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: mongoPeer.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\n\t\t\t},\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.aws.ec2.DefaultVpc;\nimport com.pulumi.aws.ec2.DefaultVpcArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 an Atlas cluster, this creates a container if one\n // does not yet exist for this AWS region\n var test = new Cluster(\"test\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AWS\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n // the following assumes an AWS provider is configured\n var default_ = new DefaultVpc(\"default\", DefaultVpcArgs.builder() \n .tags(Map.of(\"Name\", \"Default VPC\"))\n .build());\n\n // Create the peering connection request\n var mongoPeer = new NetworkPeering(\"mongoPeer\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-2\")\n .projectId(local.project_id())\n .containerId(test.containerId())\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"172.31.0.0/16\")\n .vpcId(default_.id())\n .awsAccountId(local.AWS_ACCOUNT_ID())\n .build());\n\n // Accept the connection \n var awsPeer = new VpcPeeringConnectionAccepter(\"awsPeer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(mongoPeer.connectionId())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AWS region\n test:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AWS\n providerInstanceSizeName: M10\n # the following assumes an AWS provider is configured\n default:\n type: aws:ec2:DefaultVpc\n properties:\n tags:\n Name: Default VPC\n # Create the peering connection request\n mongoPeer:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-2\n projectId: ${local.project_id}\n containerId: ${test.containerId}\n providerName: AWS\n routeTableCidrBlock: 172.31.0.0/16\n vpcId: ${default.id}\n awsAccountId: ${local.AWS_ACCOUNT_ID}\n # Accept the connection\n awsPeer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${mongoPeer.connectionId}\n autoAccept: true\n tags:\n Side: Accepter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with GCP\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this GCP \nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n atlasCidrBlock: \"192.168.0.0/18\",\n containerId: testCluster.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this GCP \ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"192.168.0.0/18\",\n container_id=test_cluster.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this GCP \n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"192.168.0.0/18\",\n ContainerId = testCluster.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 an Atlas cluster, this creates a container if one\n\t\t// does not yet exist for this GCP\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"192.168.0.0/18\"),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the GCP peer\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\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 an Atlas cluster, this creates a container if one\n // does not yet exist for this GCP \n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n // Create the peering connection request\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"192.168.0.0/18\")\n .containerId(testCluster.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n // Create the GCP peer\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this GCP\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 192.168.0.0/18\n containerId: ${testCluster.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Azure\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AZURE region\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testCluster.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCE_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AZURE region\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_cluster.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCE_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AZURE region\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testCluster.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCE_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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// Ensure you have created the required Azure service principal first, see\n\t\t// see https://docs.atlas.mongodb.com/security-vpc-peering/\n\t\t// Create an Atlas cluster, this creates a container if one\n\t\t// does not yet exist for this AZURE region\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the peering connection request\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCE_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_NAME),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\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 // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AZURE region\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n // Create the peering connection request\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testCluster.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCE_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AZURE region\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testCluster.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCE_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetwork Peering Connections can be imported using project ID and network peering id, in the format `PROJECTID-PEERID-PROVIDERNAME`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/networkPeering:NetworkPeering my_peering 1112222b3bf99403840e8934-5cbf563d87d9d67253be590a-AWS\n```\nSee detailed information for arguments and attributes: [MongoDB API Network Peering Connection](https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/)\n\n-\u003e __NOTE:__ If you need to get an existing container ID see the How-To Guide.\n\n", "properties": { "accepterRegionName": { "type": "string", @@ -17938,7 +17938,7 @@ } }, "mongodbatlas:index/privateLinkEndpointService:PrivateLinkEndpointService": { - "description": "`mongodbatlas.PrivateLinkEndpointService` provides a Private Endpoint Interface Link resource. This represents a Private Endpoint Interface Link, which adds one interface endpoint to a private endpoint connection in an Atlas project.\n\n\u003e **IMPORTANT:**You must have one of the following roles to successfully handle the resource:\n * Organization Owner\n * Project Owner\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\u003e **NOTE:** Create and delete wait for all clusters on the project to IDLE in order for their operations to complete. This ensures the latest connection strings can be retrieved following creation or deletion of this resource. Default timeout is 2hrs.\n\n## Example with AWS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testPrivateLinkEndpoint = new mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", {\n projectId: \"\u003cPROJECT_ID\u003e\",\n providerName: \"AWS\",\n region: \"US_EAST_1\",\n});\nconst ptfeService = new aws.ec2.VpcEndpoint(\"ptfeService\", {\n vpcId: \"vpc-7fc0a543\",\n serviceName: testPrivateLinkEndpoint.endpointServiceName,\n vpcEndpointType: \"Interface\",\n subnetIds: [\"subnet-de0406d2\"],\n securityGroupIds: [\"sg-3f238186\"],\n});\nconst testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", {\n projectId: testPrivateLinkEndpoint.projectId,\n privateLinkId: testPrivateLinkEndpoint.privateLinkId,\n endpointServiceId: ptfeService.id,\n providerName: \"AWS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_private_link_endpoint = mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\",\n project_id=\"\u003cPROJECT_ID\u003e\",\n provider_name=\"AWS\",\n region=\"US_EAST_1\")\nptfe_service = aws.ec2.VpcEndpoint(\"ptfeService\",\n vpc_id=\"vpc-7fc0a543\",\n service_name=test_private_link_endpoint.endpoint_service_name,\n vpc_endpoint_type=\"Interface\",\n subnet_ids=[\"subnet-de0406d2\"],\n security_group_ids=[\"sg-3f238186\"])\ntest_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\",\n project_id=test_private_link_endpoint.project_id,\n private_link_id=test_private_link_endpoint.private_link_id,\n endpoint_service_id=ptfe_service.id,\n provider_name=\"AWS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testPrivateLinkEndpoint = new Mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", new()\n {\n ProjectId = \"\u003cPROJECT_ID\u003e\",\n ProviderName = \"AWS\",\n Region = \"US_EAST_1\",\n });\n\n var ptfeService = new Aws.Ec2.VpcEndpoint(\"ptfeService\", new()\n {\n VpcId = \"vpc-7fc0a543\",\n ServiceName = testPrivateLinkEndpoint.EndpointServiceName,\n VpcEndpointType = \"Interface\",\n SubnetIds = new[]\n {\n \"subnet-de0406d2\",\n },\n SecurityGroupIds = new[]\n {\n \"sg-3f238186\",\n },\n });\n\n var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", new()\n {\n ProjectId = testPrivateLinkEndpoint.ProjectId,\n PrivateLinkId = testPrivateLinkEndpoint.PrivateLinkId,\n EndpointServiceId = ptfeService.Id,\n ProviderName = \"AWS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestPrivateLinkEndpoint, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, \"testPrivateLinkEndpoint\", \u0026mongodbatlas.PrivateLinkEndpointArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT_ID\u003e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegion: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tptfeService, err := ec2.NewVpcEndpoint(ctx, \"ptfeService\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.String(\"vpc-7fc0a543\"),\n\t\t\tServiceName: testPrivateLinkEndpoint.EndpointServiceName,\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-de0406d2\"),\n\t\t\t},\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-3f238186\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, \"testPrivateLinkEndpointService\", \u0026mongodbatlas.PrivateLinkEndpointServiceArgs{\n\t\t\tProjectId: testPrivateLinkEndpoint.ProjectId,\n\t\t\tPrivateLinkId: testPrivateLinkEndpoint.PrivateLinkId,\n\t\t\tEndpointServiceId: ptfeService.ID(),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\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.mongodbatlas.PrivateLinkEndpoint;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointService;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;\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 testPrivateLinkEndpoint = new PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", PrivateLinkEndpointArgs.builder() \n .projectId(\"\u003cPROJECT_ID\u003e\")\n .providerName(\"AWS\")\n .region(\"US_EAST_1\")\n .build());\n\n var ptfeService = new VpcEndpoint(\"ptfeService\", VpcEndpointArgs.builder() \n .vpcId(\"vpc-7fc0a543\")\n .serviceName(testPrivateLinkEndpoint.endpointServiceName())\n .vpcEndpointType(\"Interface\")\n .subnetIds(\"subnet-de0406d2\")\n .securityGroupIds(\"sg-3f238186\")\n .build());\n\n var testPrivateLinkEndpointService = new PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", PrivateLinkEndpointServiceArgs.builder() \n .projectId(testPrivateLinkEndpoint.projectId())\n .privateLinkId(testPrivateLinkEndpoint.privateLinkId())\n .endpointServiceId(ptfeService.id())\n .providerName(\"AWS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPrivateLinkEndpoint:\n type: mongodbatlas:PrivateLinkEndpoint\n properties:\n projectId: \u003cPROJECT_ID\u003e\n providerName: AWS\n region: US_EAST_1\n ptfeService:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: vpc-7fc0a543\n serviceName: ${testPrivateLinkEndpoint.endpointServiceName}\n vpcEndpointType: Interface\n subnetIds:\n - subnet-de0406d2\n securityGroupIds:\n - sg-3f238186\n testPrivateLinkEndpointService:\n type: mongodbatlas:PrivateLinkEndpointService\n properties:\n projectId: ${testPrivateLinkEndpoint.projectId}\n privateLinkId: ${testPrivateLinkEndpoint.privateLinkId}\n endpointServiceId: ${ptfeService.id}\n providerName: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with Azure\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testPrivateLinkEndpoint = new mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", {\n projectId: _var.project_id,\n providerName: \"AZURE\",\n region: \"eastus2\",\n});\nconst testEndpoint = new azure.privatelink.Endpoint(\"testEndpoint\", {\n location: data.azurerm_resource_group.test.location,\n resourceGroupName: _var.resource_group_name,\n subnetId: azurerm_subnet.test.id,\n privateServiceConnection: {\n name: testPrivateLinkEndpoint.privateLinkServiceName,\n privateConnectionResourceId: testPrivateLinkEndpoint.privateLinkServiceResourceId,\n isManualConnection: true,\n requestMessage: \"Azure Private Link test\",\n },\n});\nconst testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", {\n projectId: testPrivateLinkEndpoint.projectId,\n privateLinkId: testPrivateLinkEndpoint.privateLinkId,\n endpointServiceId: testEndpoint.id,\n privateEndpointIpAddress: testEndpoint.privateServiceConnection.apply(privateServiceConnection =\u003e privateServiceConnection.privateIpAddress),\n providerName: \"AZURE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_private_link_endpoint = mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\",\n project_id=var[\"project_id\"],\n provider_name=\"AZURE\",\n region=\"eastus2\")\ntest_endpoint = azure.privatelink.Endpoint(\"testEndpoint\",\n location=data[\"azurerm_resource_group\"][\"test\"][\"location\"],\n resource_group_name=var[\"resource_group_name\"],\n subnet_id=azurerm_subnet[\"test\"][\"id\"],\n private_service_connection=azure.privatelink.EndpointPrivateServiceConnectionArgs(\n name=test_private_link_endpoint.private_link_service_name,\n private_connection_resource_id=test_private_link_endpoint.private_link_service_resource_id,\n is_manual_connection=True,\n request_message=\"Azure Private Link test\",\n ))\ntest_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\",\n project_id=test_private_link_endpoint.project_id,\n private_link_id=test_private_link_endpoint.private_link_id,\n endpoint_service_id=test_endpoint.id,\n private_endpoint_ip_address=test_endpoint.private_service_connection.private_ip_address,\n provider_name=\"AZURE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testPrivateLinkEndpoint = new Mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", new()\n {\n ProjectId = @var.Project_id,\n ProviderName = \"AZURE\",\n Region = \"eastus2\",\n });\n\n var testEndpoint = new Azure.PrivateLink.Endpoint(\"testEndpoint\", new()\n {\n Location = data.Azurerm_resource_group.Test.Location,\n ResourceGroupName = @var.Resource_group_name,\n SubnetId = azurerm_subnet.Test.Id,\n PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n {\n Name = testPrivateLinkEndpoint.PrivateLinkServiceName,\n PrivateConnectionResourceId = testPrivateLinkEndpoint.PrivateLinkServiceResourceId,\n IsManualConnection = true,\n RequestMessage = \"Azure Private Link test\",\n },\n });\n\n var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", new()\n {\n ProjectId = testPrivateLinkEndpoint.ProjectId,\n PrivateLinkId = testPrivateLinkEndpoint.PrivateLinkId,\n EndpointServiceId = testEndpoint.Id,\n PrivateEndpointIpAddress = testEndpoint.PrivateServiceConnection.Apply(privateServiceConnection =\u003e privateServiceConnection.PrivateIpAddress),\n ProviderName = \"AZURE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestPrivateLinkEndpoint, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, \"testPrivateLinkEndpoint\", \u0026mongodbatlas.PrivateLinkEndpointArgs{\n\t\t\tProjectId: pulumi.Any(_var.Project_id),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tRegion: pulumi.String(\"eastus2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestEndpoint, err := privatelink.NewEndpoint(ctx, \"testEndpoint\", \u0026privatelink.EndpointArgs{\n\t\t\tLocation: pulumi.Any(data.Azurerm_resource_group.Test.Location),\n\t\t\tResourceGroupName: pulumi.Any(_var.Resource_group_name),\n\t\t\tSubnetId: pulumi.Any(azurerm_subnet.Test.Id),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName: testPrivateLinkEndpoint.PrivateLinkServiceName,\n\t\t\t\tPrivateConnectionResourceId: testPrivateLinkEndpoint.PrivateLinkServiceResourceId,\n\t\t\t\tIsManualConnection: pulumi.Bool(true),\n\t\t\t\tRequestMessage: pulumi.String(\"Azure Private Link test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, \"testPrivateLinkEndpointService\", \u0026mongodbatlas.PrivateLinkEndpointServiceArgs{\n\t\t\tProjectId: testPrivateLinkEndpoint.ProjectId,\n\t\t\tPrivateLinkId: testPrivateLinkEndpoint.PrivateLinkId,\n\t\t\tEndpointServiceId: testEndpoint.ID(),\n\t\t\tPrivateEndpointIpAddress: testEndpoint.PrivateServiceConnection.ApplyT(func(privateServiceConnection privatelink.EndpointPrivateServiceConnection) (*string, error) {\n\t\t\t\treturn \u0026privateServiceConnection.PrivateIpAddress, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\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.mongodbatlas.PrivateLinkEndpoint;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointService;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;\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 testPrivateLinkEndpoint = new PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", PrivateLinkEndpointArgs.builder() \n .projectId(var_.project_id())\n .providerName(\"AZURE\")\n .region(\"eastus2\")\n .build());\n\n var testEndpoint = new Endpoint(\"testEndpoint\", EndpointArgs.builder() \n .location(data.azurerm_resource_group().test().location())\n .resourceGroupName(var_.resource_group_name())\n .subnetId(azurerm_subnet.test().id())\n .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n .name(testPrivateLinkEndpoint.privateLinkServiceName())\n .privateConnectionResourceId(testPrivateLinkEndpoint.privateLinkServiceResourceId())\n .isManualConnection(true)\n .requestMessage(\"Azure Private Link test\")\n .build())\n .build());\n\n var testPrivateLinkEndpointService = new PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", PrivateLinkEndpointServiceArgs.builder() \n .projectId(testPrivateLinkEndpoint.projectId())\n .privateLinkId(testPrivateLinkEndpoint.privateLinkId())\n .endpointServiceId(testEndpoint.id())\n .privateEndpointIpAddress(testEndpoint.privateServiceConnection().applyValue(privateServiceConnection -\u003e privateServiceConnection.privateIpAddress()))\n .providerName(\"AZURE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPrivateLinkEndpoint:\n type: mongodbatlas:PrivateLinkEndpoint\n properties:\n projectId: ${var.project_id}\n providerName: AZURE\n region: eastus2\n testEndpoint:\n type: azure:privatelink:Endpoint\n properties:\n location: ${data.azurerm_resource_group.test.location}\n resourceGroupName: ${var.resource_group_name}\n subnetId: ${azurerm_subnet.test.id}\n privateServiceConnection:\n name: ${testPrivateLinkEndpoint.privateLinkServiceName}\n privateConnectionResourceId: ${testPrivateLinkEndpoint.privateLinkServiceResourceId}\n isManualConnection: true\n requestMessage: Azure Private Link test\n testPrivateLinkEndpointService:\n type: mongodbatlas:PrivateLinkEndpointService\n properties:\n projectId: ${testPrivateLinkEndpoint.projectId}\n privateLinkId: ${testPrivateLinkEndpoint.privateLinkId}\n endpointServiceId: ${testEndpoint.id}\n privateEndpointIpAddress: ${testEndpoint.privateServiceConnection.privateIpAddress}\n providerName: AZURE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with GCP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpoint;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;\nimport com.pulumi.gcp.compute.Network;\nimport com.pulumi.gcp.compute.NetworkArgs;\nimport com.pulumi.gcp.compute.Subnetwork;\nimport com.pulumi.gcp.compute.SubnetworkArgs;\nimport com.pulumi.gcp.compute.Address;\nimport com.pulumi.gcp.compute.AddressArgs;\nimport com.pulumi.gcp.compute.ForwardingRule;\nimport com.pulumi.gcp.compute.ForwardingRuleArgs;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointService;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport com.pulumi.resources.CustomResourceOptions;\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 testPrivateLinkEndpoint = new PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", PrivateLinkEndpointArgs.builder() \n .projectId(var_.project_id())\n .providerName(\"GCP\")\n .region(var_.gcp_region())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder() \n .project(var_.gcp_project())\n .build());\n\n var defaultSubnetwork = new Subnetwork(\"defaultSubnetwork\", SubnetworkArgs.builder() \n .project(defaultNetwork.project())\n .ipCidrRange(\"10.0.0.0/16\")\n .region(var_.gcp_region())\n .network(defaultNetwork.id())\n .build());\n\n for (var i = 0; i \u003c 50; i++) {\n new Address(\"defaultAddress-\" + i, AddressArgs.builder() \n .project(defaultSubnetwork.project())\n .subnetwork(defaultSubnetwork.id())\n .addressType(\"INTERNAL\")\n .address(String.format(\"10.0.42.%s\", range.value()))\n .region(var_.gcp_region())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testPrivateLinkEndpoint)\n .build());\n\n \n}\n for (var i = 0; i \u003c 50; i++) {\n new ForwardingRule(\"defaultForwardingRule-\" + i, ForwardingRuleArgs.builder() \n .target(testPrivateLinkEndpoint.serviceAttachmentNames().applyValue(serviceAttachmentNames -\u003e serviceAttachmentNames[range.value()]))\n .project(defaultAddress[range.value()].project())\n .region(defaultAddress[range.value()].region())\n .ipAddress(defaultAddress[range.value()].id())\n .network(defaultNetwork.id())\n .loadBalancingScheme(\"\")\n .build());\n\n \n}\n var testPrivateLinkEndpointService = new PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", PrivateLinkEndpointServiceArgs.builder() \n .projectId(testPrivateLinkEndpoint.projectId())\n .privateLinkId(testPrivateLinkEndpoint.privateLinkId())\n .providerName(\"GCP\")\n .endpointServiceId(defaultNetwork.name())\n .gcpProjectId(var_.gcp_project())\n .dynamic(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultForwardingRule)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Available complete examples\n- Setup private connection to a MongoDB Atlas Cluster with AWS VPC\n\n## Import\n\nPrivate Endpoint Link Connection can be imported using project ID and username, in the format `{project_id}--{private_link_id}--{endpoint_service_id}--{provider_name}`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/privateLinkEndpointService:PrivateLinkEndpointService test 1112222b3bf99403840e8934--3242342343112--vpce-4242342343--AWS\n```\nSee detailed information for arguments and attributes: [MongoDB API Private Endpoint Link Connection](https://docs.atlas.mongodb.com/reference/api/private-endpoints-endpoint-create-one/)\n\n", + "description": "`mongodbatlas.PrivateLinkEndpointService` provides a Private Endpoint Interface Link resource. This represents a Private Endpoint Interface Link, which adds one interface endpoint to a private endpoint connection in an Atlas project.\n\n\u003e **IMPORTANT:**You must have one of the following roles to successfully handle the resource:\n * Organization Owner\n * Project Owner\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\u003e **NOTE:** Create and delete wait for all clusters on the project to IDLE in order for their operations to complete. This ensures the latest connection strings can be retrieved following creation or deletion of this resource. Default timeout is 2hrs.\n\n## Example with AWS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testPrivateLinkEndpoint = new mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", {\n projectId: \"\u003cPROJECT_ID\u003e\",\n providerName: \"AWS\",\n region: \"US_EAST_1\",\n});\nconst ptfeService = new aws.ec2.VpcEndpoint(\"ptfeService\", {\n vpcId: \"vpc-7fc0a543\",\n serviceName: testPrivateLinkEndpoint.endpointServiceName,\n vpcEndpointType: \"Interface\",\n subnetIds: [\"subnet-de0406d2\"],\n securityGroupIds: [\"sg-3f238186\"],\n});\nconst testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", {\n projectId: testPrivateLinkEndpoint.projectId,\n privateLinkId: testPrivateLinkEndpoint.privateLinkId,\n endpointServiceId: ptfeService.id,\n providerName: \"AWS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_private_link_endpoint = mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\",\n project_id=\"\u003cPROJECT_ID\u003e\",\n provider_name=\"AWS\",\n region=\"US_EAST_1\")\nptfe_service = aws.ec2.VpcEndpoint(\"ptfeService\",\n vpc_id=\"vpc-7fc0a543\",\n service_name=test_private_link_endpoint.endpoint_service_name,\n vpc_endpoint_type=\"Interface\",\n subnet_ids=[\"subnet-de0406d2\"],\n security_group_ids=[\"sg-3f238186\"])\ntest_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\",\n project_id=test_private_link_endpoint.project_id,\n private_link_id=test_private_link_endpoint.private_link_id,\n endpoint_service_id=ptfe_service.id,\n provider_name=\"AWS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testPrivateLinkEndpoint = new Mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", new()\n {\n ProjectId = \"\u003cPROJECT_ID\u003e\",\n ProviderName = \"AWS\",\n Region = \"US_EAST_1\",\n });\n\n var ptfeService = new Aws.Ec2.VpcEndpoint(\"ptfeService\", new()\n {\n VpcId = \"vpc-7fc0a543\",\n ServiceName = testPrivateLinkEndpoint.EndpointServiceName,\n VpcEndpointType = \"Interface\",\n SubnetIds = new[]\n {\n \"subnet-de0406d2\",\n },\n SecurityGroupIds = new[]\n {\n \"sg-3f238186\",\n },\n });\n\n var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", new()\n {\n ProjectId = testPrivateLinkEndpoint.ProjectId,\n PrivateLinkId = testPrivateLinkEndpoint.PrivateLinkId,\n EndpointServiceId = ptfeService.Id,\n ProviderName = \"AWS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestPrivateLinkEndpoint, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, \"testPrivateLinkEndpoint\", \u0026mongodbatlas.PrivateLinkEndpointArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT_ID\u003e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegion: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tptfeService, err := ec2.NewVpcEndpoint(ctx, \"ptfeService\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.String(\"vpc-7fc0a543\"),\n\t\t\tServiceName: testPrivateLinkEndpoint.EndpointServiceName,\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-de0406d2\"),\n\t\t\t},\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-3f238186\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, \"testPrivateLinkEndpointService\", \u0026mongodbatlas.PrivateLinkEndpointServiceArgs{\n\t\t\tProjectId: testPrivateLinkEndpoint.ProjectId,\n\t\t\tPrivateLinkId: testPrivateLinkEndpoint.PrivateLinkId,\n\t\t\tEndpointServiceId: ptfeService.ID(),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\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.mongodbatlas.PrivateLinkEndpoint;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointService;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;\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 testPrivateLinkEndpoint = new PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", PrivateLinkEndpointArgs.builder() \n .projectId(\"\u003cPROJECT_ID\u003e\")\n .providerName(\"AWS\")\n .region(\"US_EAST_1\")\n .build());\n\n var ptfeService = new VpcEndpoint(\"ptfeService\", VpcEndpointArgs.builder() \n .vpcId(\"vpc-7fc0a543\")\n .serviceName(testPrivateLinkEndpoint.endpointServiceName())\n .vpcEndpointType(\"Interface\")\n .subnetIds(\"subnet-de0406d2\")\n .securityGroupIds(\"sg-3f238186\")\n .build());\n\n var testPrivateLinkEndpointService = new PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", PrivateLinkEndpointServiceArgs.builder() \n .projectId(testPrivateLinkEndpoint.projectId())\n .privateLinkId(testPrivateLinkEndpoint.privateLinkId())\n .endpointServiceId(ptfeService.id())\n .providerName(\"AWS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPrivateLinkEndpoint:\n type: mongodbatlas:PrivateLinkEndpoint\n properties:\n projectId: \u003cPROJECT_ID\u003e\n providerName: AWS\n region: US_EAST_1\n ptfeService:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: vpc-7fc0a543\n serviceName: ${testPrivateLinkEndpoint.endpointServiceName}\n vpcEndpointType: Interface\n subnetIds:\n - subnet-de0406d2\n securityGroupIds:\n - sg-3f238186\n testPrivateLinkEndpointService:\n type: mongodbatlas:PrivateLinkEndpointService\n properties:\n projectId: ${testPrivateLinkEndpoint.projectId}\n privateLinkId: ${testPrivateLinkEndpoint.privateLinkId}\n endpointServiceId: ${ptfeService.id}\n providerName: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with Azure\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testPrivateLinkEndpoint = new mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", {\n projectId: _var.project_id,\n providerName: \"AZURE\",\n region: \"eastus2\",\n});\nconst testEndpoint = new azure.privatelink.Endpoint(\"testEndpoint\", {\n location: data.azurerm_resource_group.test.location,\n resourceGroupName: _var.resource_group_name,\n subnetId: azurerm_subnet.test.id,\n privateServiceConnection: {\n name: testPrivateLinkEndpoint.privateLinkServiceName,\n privateConnectionResourceId: testPrivateLinkEndpoint.privateLinkServiceResourceId,\n isManualConnection: true,\n requestMessage: \"Azure Private Link test\",\n },\n});\nconst testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", {\n projectId: testPrivateLinkEndpoint.projectId,\n privateLinkId: testPrivateLinkEndpoint.privateLinkId,\n endpointServiceId: testEndpoint.id,\n privateEndpointIpAddress: testEndpoint.privateServiceConnection.apply(privateServiceConnection =\u003e privateServiceConnection.privateIpAddress),\n providerName: \"AZURE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_private_link_endpoint = mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\",\n project_id=var[\"project_id\"],\n provider_name=\"AZURE\",\n region=\"eastus2\")\ntest_endpoint = azure.privatelink.Endpoint(\"testEndpoint\",\n location=data[\"azurerm_resource_group\"][\"test\"][\"location\"],\n resource_group_name=var[\"resource_group_name\"],\n subnet_id=azurerm_subnet[\"test\"][\"id\"],\n private_service_connection=azure.privatelink.EndpointPrivateServiceConnectionArgs(\n name=test_private_link_endpoint.private_link_service_name,\n private_connection_resource_id=test_private_link_endpoint.private_link_service_resource_id,\n is_manual_connection=True,\n request_message=\"Azure Private Link test\",\n ))\ntest_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\",\n project_id=test_private_link_endpoint.project_id,\n private_link_id=test_private_link_endpoint.private_link_id,\n endpoint_service_id=test_endpoint.id,\n private_endpoint_ip_address=test_endpoint.private_service_connection.private_ip_address,\n provider_name=\"AZURE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testPrivateLinkEndpoint = new Mongodbatlas.PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", new()\n {\n ProjectId = @var.Project_id,\n ProviderName = \"AZURE\",\n Region = \"eastus2\",\n });\n\n var testEndpoint = new Azure.PrivateLink.Endpoint(\"testEndpoint\", new()\n {\n Location = data.Azurerm_resource_group.Test.Location,\n ResourceGroupName = @var.Resource_group_name,\n SubnetId = azurerm_subnet.Test.Id,\n PrivateServiceConnection = new Azure.PrivateLink.Inputs.EndpointPrivateServiceConnectionArgs\n {\n Name = testPrivateLinkEndpoint.PrivateLinkServiceName,\n PrivateConnectionResourceId = testPrivateLinkEndpoint.PrivateLinkServiceResourceId,\n IsManualConnection = true,\n RequestMessage = \"Azure Private Link test\",\n },\n });\n\n var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", new()\n {\n ProjectId = testPrivateLinkEndpoint.ProjectId,\n PrivateLinkId = testPrivateLinkEndpoint.PrivateLinkId,\n EndpointServiceId = testEndpoint.Id,\n PrivateEndpointIpAddress = testEndpoint.PrivateServiceConnection.Apply(privateServiceConnection =\u003e privateServiceConnection.PrivateIpAddress),\n ProviderName = \"AZURE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestPrivateLinkEndpoint, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, \"testPrivateLinkEndpoint\", \u0026mongodbatlas.PrivateLinkEndpointArgs{\n\t\t\tProjectId: pulumi.Any(_var.Project_id),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tRegion: pulumi.String(\"eastus2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestEndpoint, err := privatelink.NewEndpoint(ctx, \"testEndpoint\", \u0026privatelink.EndpointArgs{\n\t\t\tLocation: pulumi.Any(data.Azurerm_resource_group.Test.Location),\n\t\t\tResourceGroupName: pulumi.Any(_var.Resource_group_name),\n\t\t\tSubnetId: pulumi.Any(azurerm_subnet.Test.Id),\n\t\t\tPrivateServiceConnection: \u0026privatelink.EndpointPrivateServiceConnectionArgs{\n\t\t\t\tName: testPrivateLinkEndpoint.PrivateLinkServiceName,\n\t\t\t\tPrivateConnectionResourceId: testPrivateLinkEndpoint.PrivateLinkServiceResourceId,\n\t\t\t\tIsManualConnection: pulumi.Bool(true),\n\t\t\t\tRequestMessage: pulumi.String(\"Azure Private Link test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, \"testPrivateLinkEndpointService\", \u0026mongodbatlas.PrivateLinkEndpointServiceArgs{\n\t\t\tProjectId: testPrivateLinkEndpoint.ProjectId,\n\t\t\tPrivateLinkId: testPrivateLinkEndpoint.PrivateLinkId,\n\t\t\tEndpointServiceId: testEndpoint.ID(),\n\t\t\tPrivateEndpointIpAddress: testEndpoint.PrivateServiceConnection.ApplyT(func(privateServiceConnection privatelink.EndpointPrivateServiceConnection) (*string, error) {\n\t\t\t\treturn \u0026privateServiceConnection.PrivateIpAddress, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\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.mongodbatlas.PrivateLinkEndpoint;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;\nimport com.pulumi.azure.privatelink.Endpoint;\nimport com.pulumi.azure.privatelink.EndpointArgs;\nimport com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointService;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;\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 testPrivateLinkEndpoint = new PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", PrivateLinkEndpointArgs.builder() \n .projectId(var_.project_id())\n .providerName(\"AZURE\")\n .region(\"eastus2\")\n .build());\n\n var testEndpoint = new Endpoint(\"testEndpoint\", EndpointArgs.builder() \n .location(data.azurerm_resource_group().test().location())\n .resourceGroupName(var_.resource_group_name())\n .subnetId(azurerm_subnet.test().id())\n .privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()\n .name(testPrivateLinkEndpoint.privateLinkServiceName())\n .privateConnectionResourceId(testPrivateLinkEndpoint.privateLinkServiceResourceId())\n .isManualConnection(true)\n .requestMessage(\"Azure Private Link test\")\n .build())\n .build());\n\n var testPrivateLinkEndpointService = new PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", PrivateLinkEndpointServiceArgs.builder() \n .projectId(testPrivateLinkEndpoint.projectId())\n .privateLinkId(testPrivateLinkEndpoint.privateLinkId())\n .endpointServiceId(testEndpoint.id())\n .privateEndpointIpAddress(testEndpoint.privateServiceConnection().applyValue(privateServiceConnection -\u003e privateServiceConnection.privateIpAddress()))\n .providerName(\"AZURE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPrivateLinkEndpoint:\n type: mongodbatlas:PrivateLinkEndpoint\n properties:\n projectId: ${var.project_id}\n providerName: AZURE\n region: eastus2\n testEndpoint:\n type: azure:privatelink:Endpoint\n properties:\n location: ${data.azurerm_resource_group.test.location}\n resourceGroupName: ${var.resource_group_name}\n subnetId: ${azurerm_subnet.test.id}\n privateServiceConnection:\n name: ${testPrivateLinkEndpoint.privateLinkServiceName}\n privateConnectionResourceId: ${testPrivateLinkEndpoint.privateLinkServiceResourceId}\n isManualConnection: true\n requestMessage: Azure Private Link test\n testPrivateLinkEndpointService:\n type: mongodbatlas:PrivateLinkEndpointService\n properties:\n projectId: ${testPrivateLinkEndpoint.projectId}\n privateLinkId: ${testPrivateLinkEndpoint.privateLinkId}\n endpointServiceId: ${testEndpoint.id}\n privateEndpointIpAddress: ${testEndpoint.privateServiceConnection.privateIpAddress}\n providerName: AZURE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with GCP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpoint;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;\nimport com.pulumi.gcp.compute.Network;\nimport com.pulumi.gcp.compute.NetworkArgs;\nimport com.pulumi.gcp.compute.Subnetwork;\nimport com.pulumi.gcp.compute.SubnetworkArgs;\nimport com.pulumi.gcp.compute.Address;\nimport com.pulumi.gcp.compute.AddressArgs;\nimport com.pulumi.gcp.compute.ForwardingRule;\nimport com.pulumi.gcp.compute.ForwardingRuleArgs;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointService;\nimport com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport com.pulumi.resources.CustomResourceOptions;\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 testPrivateLinkEndpoint = new PrivateLinkEndpoint(\"testPrivateLinkEndpoint\", PrivateLinkEndpointArgs.builder() \n .projectId(var_.project_id())\n .providerName(\"GCP\")\n .region(var_.gcp_region())\n .build());\n\n // Create a Google Network\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder() \n .project(var_.gcp_project())\n .build());\n\n // Create a Google Sub Network\n var defaultSubnetwork = new Subnetwork(\"defaultSubnetwork\", SubnetworkArgs.builder() \n .project(defaultNetwork.project())\n .ipCidrRange(\"10.0.0.0/16\")\n .region(var_.gcp_region())\n .network(defaultNetwork.id())\n .build());\n\n // Create Google 50 Addresses\n for (var i = 0; i \u003c 50; i++) {\n new Address(\"defaultAddress-\" + i, AddressArgs.builder() \n .project(defaultSubnetwork.project())\n .subnetwork(defaultSubnetwork.id())\n .addressType(\"INTERNAL\")\n .address(String.format(\"10.0.42.%s\", range.value()))\n .region(var_.gcp_region())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testPrivateLinkEndpoint)\n .build());\n\n \n}\n // Create 50 Forwarding rules\n for (var i = 0; i \u003c 50; i++) {\n new ForwardingRule(\"defaultForwardingRule-\" + i, ForwardingRuleArgs.builder() \n .target(testPrivateLinkEndpoint.serviceAttachmentNames().applyValue(serviceAttachmentNames -\u003e serviceAttachmentNames[range.value()]))\n .project(defaultAddress[range.value()].project())\n .region(defaultAddress[range.value()].region())\n .ipAddress(defaultAddress[range.value()].id())\n .network(defaultNetwork.id())\n .loadBalancingScheme(\"\")\n .build());\n\n \n}\n var testPrivateLinkEndpointService = new PrivateLinkEndpointService(\"testPrivateLinkEndpointService\", PrivateLinkEndpointServiceArgs.builder() \n .projectId(testPrivateLinkEndpoint.projectId())\n .privateLinkId(testPrivateLinkEndpoint.privateLinkId())\n .providerName(\"GCP\")\n .endpointServiceId(defaultNetwork.name())\n .gcpProjectId(var_.gcp_project())\n .dynamic(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultForwardingRule)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Available complete examples\n- Setup private connection to a MongoDB Atlas Cluster with AWS VPC\n\n## Import\n\nPrivate Endpoint Link Connection can be imported using project ID and username, in the format `{project_id}--{private_link_id}--{endpoint_service_id}--{provider_name}`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/privateLinkEndpointService:PrivateLinkEndpointService test 1112222b3bf99403840e8934--3242342343112--vpce-4242342343--AWS\n```\nSee detailed information for arguments and attributes: [MongoDB API Private Endpoint Link Connection](https://docs.atlas.mongodb.com/reference/api/private-endpoints-endpoint-create-one/)\n\n", "properties": { "awsConnectionStatus": { "type": "string", @@ -18929,7 +18929,7 @@ } }, "mongodbatlas:index/projectIpAccessList:ProjectIpAccessList": { - "description": "`mongodbatlas.ProjectIpAccessList` provides an IP Access List entry resource. The access list grants access from IPs, CIDRs or AWS Security Groups (if VPC Peering is enabled) to clusters within the Project.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n\u003e **IMPORTANT:**\nWhen you remove an entry from the access list, existing connections from the removed address(es) may remain open for a variable amount of time. How much time passes before Atlas closes the connection depends on several factors, including how the connection was established, the particular behavior of the application or driver using the address, and the connection protocol (e.g., TCP or UDP). This is particularly important to consider when changing an existing IP address or CIDR block as they cannot be updated via the Provider (comments can however), hence a change will force the destruction and recreation of entries. \n\n\n## Example Usage\n\n### Using CIDR Block\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectIpAccessList(\"test\", {\n cidrBlock: \"1.2.3.4/32\",\n comment: \"cidr block for tf acc testing\",\n projectId: \"\u003cPROJECT-ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectIpAccessList(\"test\",\n cidr_block=\"1.2.3.4/32\",\n comment=\"cidr block for tf acc testing\",\n project_id=\"\u003cPROJECT-ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectIpAccessList(\"test\", new()\n {\n CidrBlock = \"1.2.3.4/32\",\n Comment = \"cidr block for tf acc testing\",\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewProjectIpAccessList(ctx, \"test\", \u0026mongodbatlas.ProjectIpAccessListArgs{\n\t\t\tCidrBlock: pulumi.String(\"1.2.3.4/32\"),\n\t\t\tComment: pulumi.String(\"cidr block for tf acc testing\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\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.mongodbatlas.ProjectIpAccessList;\nimport com.pulumi.mongodbatlas.ProjectIpAccessListArgs;\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 test = new ProjectIpAccessList(\"test\", ProjectIpAccessListArgs.builder() \n .cidrBlock(\"1.2.3.4/32\")\n .comment(\"cidr block for tf acc testing\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectIpAccessList\n properties:\n cidrBlock: 1.2.3.4/32\n comment: cidr block for tf acc testing\n projectId: \u003cPROJECT-ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using IP Address\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectIpAccessList(\"test\", {\n comment: \"ip address for tf acc testing\",\n ipAddress: \"2.3.4.5\",\n projectId: \"\u003cPROJECT-ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectIpAccessList(\"test\",\n comment=\"ip address for tf acc testing\",\n ip_address=\"2.3.4.5\",\n project_id=\"\u003cPROJECT-ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectIpAccessList(\"test\", new()\n {\n Comment = \"ip address for tf acc testing\",\n IpAddress = \"2.3.4.5\",\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewProjectIpAccessList(ctx, \"test\", \u0026mongodbatlas.ProjectIpAccessListArgs{\n\t\t\tComment: pulumi.String(\"ip address for tf acc testing\"),\n\t\t\tIpAddress: pulumi.String(\"2.3.4.5\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\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.mongodbatlas.ProjectIpAccessList;\nimport com.pulumi.mongodbatlas.ProjectIpAccessListArgs;\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 test = new ProjectIpAccessList(\"test\", ProjectIpAccessListArgs.builder() \n .comment(\"ip address for tf acc testing\")\n .ipAddress(\"2.3.4.5\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectIpAccessList\n properties:\n comment: ip address for tf acc testing\n ipAddress: 2.3.4.5\n projectId: \u003cPROJECT-ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using an AWS Security Group\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: \"\u003cPROJECT-ID\u003e\",\n atlasCidrBlock: \"192.168.208.0/21\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: \"\u003cPROJECT-ID\u003e\",\n containerId: testNetworkContainer.containerId,\n accepterRegionName: \"us-east-1\",\n providerName: \"AWS\",\n routeTableCidrBlock: \"172.31.0.0/16\",\n vpcId: \"vpc-0d93d6f69f1578bd8\",\n awsAccountId: \"232589400519\",\n});\nconst testProjectIpAccessList = new mongodbatlas.ProjectIpAccessList(\"testProjectIpAccessList\", {\n projectId: \"\u003cPROJECT-ID\u003e\",\n awsSecurityGroup: \"sg-0026348ec11780bd1\",\n comment: \"TestAcc for awsSecurityGroup\",\n}, {\n dependsOn: [\"mongodbatlas_network_peering.test\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=\"\u003cPROJECT-ID\u003e\",\n atlas_cidr_block=\"192.168.208.0/21\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=\"\u003cPROJECT-ID\u003e\",\n container_id=test_network_container.container_id,\n accepter_region_name=\"us-east-1\",\n provider_name=\"AWS\",\n route_table_cidr_block=\"172.31.0.0/16\",\n vpc_id=\"vpc-0d93d6f69f1578bd8\",\n aws_account_id=\"232589400519\")\ntest_project_ip_access_list = mongodbatlas.ProjectIpAccessList(\"testProjectIpAccessList\",\n project_id=\"\u003cPROJECT-ID\u003e\",\n aws_security_group=\"sg-0026348ec11780bd1\",\n comment=\"TestAcc for awsSecurityGroup\",\n opts=pulumi.ResourceOptions(depends_on=[\"mongodbatlas_network_peering.test\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n AtlasCidrBlock = \"192.168.208.0/21\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n });\n\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n ContainerId = testNetworkContainer.ContainerId,\n AccepterRegionName = \"us-east-1\",\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"172.31.0.0/16\",\n VpcId = \"vpc-0d93d6f69f1578bd8\",\n AwsAccountId = \"232589400519\",\n });\n\n var testProjectIpAccessList = new Mongodbatlas.ProjectIpAccessList(\"testProjectIpAccessList\", new()\n {\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n AwsSecurityGroup = \"sg-0026348ec11780bd1\",\n Comment = \"TestAcc for awsSecurityGroup\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"mongodbatlas_network_peering.test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\n\t\t\tAtlasCidrBlock: pulumi.String(\"192.168.208.0/21\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-1\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t\tVpcId: pulumi.String(\"vpc-0d93d6f69f1578bd8\"),\n\t\t\tAwsAccountId: pulumi.String(\"232589400519\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewProjectIpAccessList(ctx, \"testProjectIpAccessList\", \u0026mongodbatlas.ProjectIpAccessListArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\n\t\t\tAwsSecurityGroup: pulumi.String(\"sg-0026348ec11780bd1\"),\n\t\t\tComment: pulumi.String(\"TestAcc for awsSecurityGroup\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"mongodbatlas_network_peering.test\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.ProjectIpAccessList;\nimport com.pulumi.mongodbatlas.ProjectIpAccessListArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(\"\u003cPROJECT-ID\u003e\")\n .atlasCidrBlock(\"192.168.208.0/21\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(\"\u003cPROJECT-ID\u003e\")\n .containerId(testNetworkContainer.containerId())\n .accepterRegionName(\"us-east-1\")\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"172.31.0.0/16\")\n .vpcId(\"vpc-0d93d6f69f1578bd8\")\n .awsAccountId(\"232589400519\")\n .build());\n\n var testProjectIpAccessList = new ProjectIpAccessList(\"testProjectIpAccessList\", ProjectIpAccessListArgs.builder() \n .projectId(\"\u003cPROJECT-ID\u003e\")\n .awsSecurityGroup(\"sg-0026348ec11780bd1\")\n .comment(\"TestAcc for awsSecurityGroup\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"mongodbatlas_network_peering.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: \u003cPROJECT-ID\u003e\n atlasCidrBlock: 192.168.208.0/21\n providerName: AWS\n regionName: US_EAST_1\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: \u003cPROJECT-ID\u003e\n containerId: ${testNetworkContainer.containerId}\n accepterRegionName: us-east-1\n providerName: AWS\n routeTableCidrBlock: 172.31.0.0/16\n vpcId: vpc-0d93d6f69f1578bd8\n awsAccountId: '232589400519'\n testProjectIpAccessList:\n type: mongodbatlas:ProjectIpAccessList\n properties:\n projectId: \u003cPROJECT-ID\u003e\n awsSecurityGroup: sg-0026348ec11780bd1\n comment: TestAcc for awsSecurityGroup\n options:\n dependson:\n - mongodbatlas_network_peering.test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **IMPORTANT:** In order to use AWS Security Group(s) VPC Peering must be enabled like above example.\n\n## Import\n\nIP Access List entries can be imported using the `project_id` and `cidr_block` or `ip_address`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/projectIpAccessList:ProjectIpAccessList test 5d0f1f74cf09a29120e123cd-10.242.88.0/21\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/access-lists/)\n\n", + "description": "`mongodbatlas.ProjectIpAccessList` provides an IP Access List entry resource. The access list grants access from IPs, CIDRs or AWS Security Groups (if VPC Peering is enabled) to clusters within the Project.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n\u003e **IMPORTANT:**\nWhen you remove an entry from the access list, existing connections from the removed address(es) may remain open for a variable amount of time. How much time passes before Atlas closes the connection depends on several factors, including how the connection was established, the particular behavior of the application or driver using the address, and the connection protocol (e.g., TCP or UDP). This is particularly important to consider when changing an existing IP address or CIDR block as they cannot be updated via the Provider (comments can however), hence a change will force the destruction and recreation of entries. \n\n\n## Example Usage\n\n### Using CIDR Block\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectIpAccessList(\"test\", {\n cidrBlock: \"1.2.3.4/32\",\n comment: \"cidr block for tf acc testing\",\n projectId: \"\u003cPROJECT-ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectIpAccessList(\"test\",\n cidr_block=\"1.2.3.4/32\",\n comment=\"cidr block for tf acc testing\",\n project_id=\"\u003cPROJECT-ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectIpAccessList(\"test\", new()\n {\n CidrBlock = \"1.2.3.4/32\",\n Comment = \"cidr block for tf acc testing\",\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewProjectIpAccessList(ctx, \"test\", \u0026mongodbatlas.ProjectIpAccessListArgs{\n\t\t\tCidrBlock: pulumi.String(\"1.2.3.4/32\"),\n\t\t\tComment: pulumi.String(\"cidr block for tf acc testing\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\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.mongodbatlas.ProjectIpAccessList;\nimport com.pulumi.mongodbatlas.ProjectIpAccessListArgs;\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 test = new ProjectIpAccessList(\"test\", ProjectIpAccessListArgs.builder() \n .cidrBlock(\"1.2.3.4/32\")\n .comment(\"cidr block for tf acc testing\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectIpAccessList\n properties:\n cidrBlock: 1.2.3.4/32\n comment: cidr block for tf acc testing\n projectId: \u003cPROJECT-ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using IP Address\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectIpAccessList(\"test\", {\n comment: \"ip address for tf acc testing\",\n ipAddress: \"2.3.4.5\",\n projectId: \"\u003cPROJECT-ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectIpAccessList(\"test\",\n comment=\"ip address for tf acc testing\",\n ip_address=\"2.3.4.5\",\n project_id=\"\u003cPROJECT-ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectIpAccessList(\"test\", new()\n {\n Comment = \"ip address for tf acc testing\",\n IpAddress = \"2.3.4.5\",\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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_, err := mongodbatlas.NewProjectIpAccessList(ctx, \"test\", \u0026mongodbatlas.ProjectIpAccessListArgs{\n\t\t\tComment: pulumi.String(\"ip address for tf acc testing\"),\n\t\t\tIpAddress: pulumi.String(\"2.3.4.5\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\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.mongodbatlas.ProjectIpAccessList;\nimport com.pulumi.mongodbatlas.ProjectIpAccessListArgs;\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 test = new ProjectIpAccessList(\"test\", ProjectIpAccessListArgs.builder() \n .comment(\"ip address for tf acc testing\")\n .ipAddress(\"2.3.4.5\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectIpAccessList\n properties:\n comment: ip address for tf acc testing\n ipAddress: 2.3.4.5\n projectId: \u003cPROJECT-ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using an AWS Security Group\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: \"\u003cPROJECT-ID\u003e\",\n atlasCidrBlock: \"192.168.208.0/21\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: \"\u003cPROJECT-ID\u003e\",\n containerId: testNetworkContainer.containerId,\n accepterRegionName: \"us-east-1\",\n providerName: \"AWS\",\n routeTableCidrBlock: \"172.31.0.0/16\",\n vpcId: \"vpc-0d93d6f69f1578bd8\",\n awsAccountId: \"232589400519\",\n});\nconst testProjectIpAccessList = new mongodbatlas.ProjectIpAccessList(\"testProjectIpAccessList\", {\n projectId: \"\u003cPROJECT-ID\u003e\",\n awsSecurityGroup: \"sg-0026348ec11780bd1\",\n comment: \"TestAcc for awsSecurityGroup\",\n}, {\n dependsOn: [\"mongodbatlas_network_peering.test\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=\"\u003cPROJECT-ID\u003e\",\n atlas_cidr_block=\"192.168.208.0/21\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=\"\u003cPROJECT-ID\u003e\",\n container_id=test_network_container.container_id,\n accepter_region_name=\"us-east-1\",\n provider_name=\"AWS\",\n route_table_cidr_block=\"172.31.0.0/16\",\n vpc_id=\"vpc-0d93d6f69f1578bd8\",\n aws_account_id=\"232589400519\")\ntest_project_ip_access_list = mongodbatlas.ProjectIpAccessList(\"testProjectIpAccessList\",\n project_id=\"\u003cPROJECT-ID\u003e\",\n aws_security_group=\"sg-0026348ec11780bd1\",\n comment=\"TestAcc for awsSecurityGroup\",\n opts=pulumi.ResourceOptions(depends_on=[\"mongodbatlas_network_peering.test\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n AtlasCidrBlock = \"192.168.208.0/21\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n });\n\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n ContainerId = testNetworkContainer.ContainerId,\n AccepterRegionName = \"us-east-1\",\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"172.31.0.0/16\",\n VpcId = \"vpc-0d93d6f69f1578bd8\",\n AwsAccountId = \"232589400519\",\n });\n\n var testProjectIpAccessList = new Mongodbatlas.ProjectIpAccessList(\"testProjectIpAccessList\", new()\n {\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n AwsSecurityGroup = \"sg-0026348ec11780bd1\",\n Comment = \"TestAcc for awsSecurityGroup\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n \"mongodbatlas_network_peering.test\", \n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\n\t\t\tAtlasCidrBlock: pulumi.String(\"192.168.208.0/21\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-1\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t\tVpcId: pulumi.String(\"vpc-0d93d6f69f1578bd8\"),\n\t\t\tAwsAccountId: pulumi.String(\"232589400519\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewProjectIpAccessList(ctx, \"testProjectIpAccessList\", \u0026mongodbatlas.ProjectIpAccessListArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\n\t\t\tAwsSecurityGroup: pulumi.String(\"sg-0026348ec11780bd1\"),\n\t\t\tComment: pulumi.String(\"TestAcc for awsSecurityGroup\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"mongodbatlas_network_peering.test\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.ProjectIpAccessList;\nimport com.pulumi.mongodbatlas.ProjectIpAccessListArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(\"\u003cPROJECT-ID\u003e\")\n .atlasCidrBlock(\"192.168.208.0/21\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(\"\u003cPROJECT-ID\u003e\")\n .containerId(testNetworkContainer.containerId())\n .accepterRegionName(\"us-east-1\")\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"172.31.0.0/16\")\n .vpcId(\"vpc-0d93d6f69f1578bd8\")\n .awsAccountId(\"232589400519\")\n .build());\n\n var testProjectIpAccessList = new ProjectIpAccessList(\"testProjectIpAccessList\", ProjectIpAccessListArgs.builder() \n .projectId(\"\u003cPROJECT-ID\u003e\")\n .awsSecurityGroup(\"sg-0026348ec11780bd1\")\n .comment(\"TestAcc for awsSecurityGroup\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"mongodbatlas_network_peering.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: \u003cPROJECT-ID\u003e\n atlasCidrBlock: 192.168.208.0/21\n providerName: AWS\n regionName: US_EAST_1\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: \u003cPROJECT-ID\u003e\n containerId: ${testNetworkContainer.containerId}\n accepterRegionName: us-east-1\n providerName: AWS\n routeTableCidrBlock: 172.31.0.0/16\n vpcId: vpc-0d93d6f69f1578bd8\n awsAccountId: '232589400519'\n testProjectIpAccessList:\n type: mongodbatlas:ProjectIpAccessList\n properties:\n projectId: \u003cPROJECT-ID\u003e\n awsSecurityGroup: sg-0026348ec11780bd1\n comment: TestAcc for awsSecurityGroup\n options:\n dependson:\n - mongodbatlas_network_peering.test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **IMPORTANT:** In order to use AWS Security Group(s) VPC Peering must be enabled like above example.\n\n## Import\n\nIP Access List entries can be imported using the `project_id` and `cidr_block` or `ip_address`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/projectIpAccessList:ProjectIpAccessList test 5d0f1f74cf09a29120e123cd-10.242.88.0/21\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/access-lists/)\n\n", "properties": { "awsSecurityGroup": { "type": "string", @@ -19914,7 +19914,7 @@ } }, "mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser": { - "description": "`mongodbatlas.X509AuthenticationDatabaseUser` provides a X509 Authentication Database User resource. The mongodbatlas.X509AuthenticationDatabaseUser resource lets you manage MongoDB users who authenticate using X.509 certificates. You can manage these X.509 certificates or let Atlas do it for you.\n\n| Management | Description |\n|---|---|\n| Atlas | Atlas manages your Certificate Authority and can generate certificates for your MongoDB users. No additional X.509 configuration is required. |\n| Customer | You must provide a Certificate Authority and generate certificates for your MongoDB users. |\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n\u003e **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project.\n\n## Example Usage\n\n### S\n\n### Example Usage: Generate an Atlas-managed X.509 certificate for a MongoDB user\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\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 user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .projectId(\"64b926dd56206839b1c8bae9\")\n .username(\"myUsername\")\n .x509Type(\"MANAGED\")\n .databaseName(\"$external\")\n .roles(DatabaseUserRoleArgs.builder()\n .roleName(\"atlasAdmin\")\n .databaseName(\"admin\")\n .build())\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .build());\n\n var test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .projectId(user.projectId())\n .username(user.username())\n .monthsUntilExpiration(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n projectId: 64b926dd56206839b1c8bae9\n username: myUsername\n x509Type: MANAGED\n databaseName: $external\n roles:\n - roleName: atlasAdmin\n databaseName: admin\n labels:\n - key: My Key\n value: My Value\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n projectId: ${user.projectId}\n username: ${user.username}\n monthsUntilExpiration: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Usage: Save a self-managed X.509 certificate for an Atlas project and use it with a dababase user\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\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 test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .customerX509Cas(\"\"\"\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n \"\"\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n var user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .databaseName(\"$external\")\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .projectId(\"64b926dd56206839b1c8bae9\")\n .roles(DatabaseUserRoleArgs.builder()\n .databaseName(\"admin\")\n .roleName(\"atlasAdmin\")\n .build())\n .username(\"myUsername\")\n .x509Type(\"CUSTOMER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n customerX509Cas: |2+\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n projectId: \u003cPROJECT-ID\u003e\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n databaseName: $external\n labels:\n - key: My Key\n value: My Value\n projectId: 64b926dd56206839b1c8bae9\n roles:\n - databaseName: admin\n roleName: atlasAdmin\n username: myUsername\n x509Type: CUSTOMER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nX.509 Certificates for a User can be imported using project ID and username, in the format `project_id-username`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934-myUsername\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\nCurrent X.509 Configuration can be imported using project ID, in the format `project_id`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\n", + "description": "`mongodbatlas.X509AuthenticationDatabaseUser` provides a X509 Authentication Database User resource. The mongodbatlas.X509AuthenticationDatabaseUser resource lets you manage MongoDB users who authenticate using X.509 certificates. You can manage these X.509 certificates or let Atlas do it for you.\n\n| Management | Description |\n|---|---|\n| Atlas | Atlas manages your Certificate Authority and can generate certificates for your MongoDB users. No additional X.509 configuration is required. |\n| Customer | You must provide a Certificate Authority and generate certificates for your MongoDB users. |\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n\u003e **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project.\n\n## Example Usage\n\n### S\n\n### Example Usage: Generate an Atlas-managed X.509 certificate for a MongoDB user\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\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 user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .projectId(\"64b926dd56206839b1c8bae9\")\n .username(\"myUsername\")\n .x509Type(\"MANAGED\")\n .databaseName(\"$external\")\n .roles(DatabaseUserRoleArgs.builder()\n .roleName(\"atlasAdmin\")\n .databaseName(\"admin\")\n .build())\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .build());\n\n var test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .projectId(user.projectId())\n .username(user.username())\n .monthsUntilExpiration(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n projectId: 64b926dd56206839b1c8bae9\n username: myUsername\n x509Type: MANAGED\n databaseName: $external\n roles:\n - roleName: atlasAdmin\n databaseName: admin\n labels:\n - key: My Key\n value: My Value\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n projectId: ${user.projectId}\n username: ${user.username}\n monthsUntilExpiration: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Usage: Save a self-managed X.509 certificate for an Atlas project and use it with a dababase user\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\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 test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .customerX509Cas(\"\"\"\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n \"\"\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n var user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .databaseName(\"$external\")\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .projectId(\"64b926dd56206839b1c8bae9\")\n .roles(DatabaseUserRoleArgs.builder()\n .databaseName(\"admin\")\n .roleName(\"atlasAdmin\")\n .build())\n .username(\"myUsername\")\n .x509Type(\"CUSTOMER\")\n .build());\n\n // Make sure to set x509_type = \"CUSTOMER\"\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n customerX509Cas: |2+\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n projectId: \u003cPROJECT-ID\u003e\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n databaseName: $external\n labels:\n - key: My Key\n value: My Value\n projectId: 64b926dd56206839b1c8bae9\n roles:\n - databaseName: admin\n roleName: atlasAdmin\n username: myUsername\n x509Type: CUSTOMER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nX.509 Certificates for a User can be imported using project ID and username, in the format `project_id-username`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934-myUsername\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\nCurrent X.509 Configuration can be imported using project ID, in the format `project_id`, e.g.\n\n```sh\n$ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934\n```\nFor more information see: [MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\n", "properties": { "certificates": { "type": "array", diff --git a/provider/go.mod b/provider/go.mod index 03855fe4..1aa132b1 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -10,9 +10,9 @@ replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraf require ( github.com/mongodb/terraform-provider-mongodbatlas/shim v0.0.0 - github.com/pulumi/pulumi-terraform-bridge/pf v0.31.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.78.0 - github.com/pulumi/pulumi/sdk/v3 v3.111.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/sdk/v3 v3.112.0 ) require ( @@ -126,7 +126,7 @@ require ( github.com/hashicorp/hcl/v2 v2.20.0 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect github.com/hashicorp/logutils v1.0.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.1 // indirect @@ -186,10 +186,10 @@ 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.6.0 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.111.1 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.112.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 @@ -205,7 +205,7 @@ require ( github.com/skeema/knownhosts v1.2.1 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.6.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/texttheater/golang-levenshtein v1.0.1 // indirect diff --git a/provider/go.sum b/provider/go.sum index a75182fd..bd90f387 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1648,7 +1648,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= @@ -2266,8 +2266,8 @@ github.com/hashicorp/terraform-json v0.10.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R github.com/hashicorp/terraform-json v0.19.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= github.com/hashicorp/terraform-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U= github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= -github.com/hashicorp/terraform-plugin-framework v1.6.1 h1:hw2XrmUu8d8jVL52ekxim2IqDc+2Kpekn21xZANARLU= -github.com/hashicorp/terraform-plugin-framework v1.6.1/go.mod h1:aJI+n/hBPhz1J+77GdgNfk5svW12y7fmtxe/5L5IuwI= +github.com/hashicorp/terraform-plugin-framework v1.7.0 h1:wOULbVmfONnJo9iq7/q+iBOBJul5vRovaYJIu2cY/Pw= +github.com/hashicorp/terraform-plugin-framework v1.7.0/go.mod h1:jY9Id+3KbZ17OMpulgnWLSfwxNVYSoYBQFTgsx044CI= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1/go.mod h1:MsjL1sQ9L7wGwzJ5RjcI6FzEMdyoBnw+XK8ZnOvQOLY= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= @@ -2846,20 +2846,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.31.0 h1:KnVMjyTmkqjUDBVoQNODPMH0VpPmRmu7JHMruBF+Fvs= -github.com/pulumi/pulumi-terraform-bridge/pf v0.31.0/go.mod h1:kdaazbdv0Hn6/innKvWcPfRRn/0YeNYI/oWA4j8lV3k= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.78.0 h1:zl1nXrx02X7u/w5kNjIVGVUzccEILcMWsIpg4QQanCI= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.78.0/go.mod h1:WpkN/lgtBrDYGrMyG9cmncy5pN95lnowbmjILHWcm0M= +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.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.111.1 h1:SrVgQE96T7YlZx/AZoFSlXYwur7ZmQUHyjbPI8sH96Q= -github.com/pulumi/pulumi/pkg/v3 v3.111.1/go.mod h1:ZWsq8Y0EMHZ5E2ju92jC+POz97TEXs3BbQ6r2o0U4SA= -github.com/pulumi/pulumi/sdk/v3 v3.111.1 h1:uOeG/b6YxBuL59xHtmFPspMa8BB6ovjHelL7sVCGJZw= -github.com/pulumi/pulumi/sdk/v3 v3.111.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/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= @@ -2962,8 +2962,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= diff --git a/sdk/dotnet/LdapVerify.cs b/sdk/dotnet/LdapVerify.cs index 38f91046..12c85b82 100644 --- a/sdk/dotnet/LdapVerify.cs +++ b/sdk/dotnet/LdapVerify.cs @@ -47,9 +47,9 @@ namespace Pulumi.Mongodbatlas /// BindPassword = "PASSWORD", /// }, new CustomResourceOptions /// { - /// DependsOn = new[] + /// DependsOn = /// { - /// testCluster, + /// testCluster, /// }, /// }); /// diff --git a/sdk/dotnet/NetworkPeering.cs b/sdk/dotnet/NetworkPeering.cs index 3841223a..d6350f5f 100644 --- a/sdk/dotnet/NetworkPeering.cs +++ b/sdk/dotnet/NetworkPeering.cs @@ -154,9 +154,9 @@ namespace Pulumi.Mongodbatlas /// ProviderInstanceSizeName = "M10", /// }, new CustomResourceOptions /// { - /// DependsOn = new[] + /// DependsOn = /// { - /// "google_compute_network_peering.peering", + /// "google_compute_network_peering.peering", /// }, /// }); /// @@ -235,9 +235,9 @@ namespace Pulumi.Mongodbatlas /// ProviderInstanceSizeName = "M10", /// }, new CustomResourceOptions /// { - /// DependsOn = new[] + /// DependsOn = /// { - /// "mongodbatlas_network_peering.test", + /// "mongodbatlas_network_peering.test", /// }, /// }); /// diff --git a/sdk/dotnet/ProjectIpAccessList.cs b/sdk/dotnet/ProjectIpAccessList.cs index f380e9f9..0484e247 100644 --- a/sdk/dotnet/ProjectIpAccessList.cs +++ b/sdk/dotnet/ProjectIpAccessList.cs @@ -97,9 +97,9 @@ namespace Pulumi.Mongodbatlas /// Comment = "TestAcc for awsSecurityGroup", /// }, new CustomResourceOptions /// { - /// DependsOn = new[] + /// DependsOn = /// { - /// "mongodbatlas_network_peering.test", + /// "mongodbatlas_network_peering.test", /// }, /// }); /// diff --git a/sdk/go.mod b/sdk/go.mod index 2da21eb5..8bc9214a 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.111.1 + github.com/pulumi/pulumi/sdk/v3 v3.112.0 ) require ( @@ -75,18 +75,18 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/zclconf/go-cty v1.13.2 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // 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.15.0 // indirect - golang.org/x/term v0.15.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.15.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect google.golang.org/grpc v1.57.1 // indirect - google.golang.org/protobuf v1.31.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 2160100e..72db5c64 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -150,8 +150,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.111.1 h1:uOeG/b6YxBuL59xHtmFPspMa8BB6ovjHelL7sVCGJZw= -github.com/pulumi/pulumi/sdk/v3 v3.111.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= @@ -211,8 +211,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.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +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-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -234,8 +234,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= @@ -263,15 +263,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.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.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.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +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= @@ -301,8 +301,8 @@ google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= 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.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +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/java/build.gradle b/sdk/java/build.gradle index 53ea6351..54ae656a 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -44,7 +44,7 @@ repositories { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.google.code.gson:gson:2.8.9") - implementation("com.pulumi:pulumi:0.9.9") + implementation("com.pulumi:pulumi:0.10.0") } task sourcesJar(type: Jar) { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/AdvancedCluster.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/AdvancedCluster.java index 2dde2d33..a91b037a 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/AdvancedCluster.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/AdvancedCluster.java @@ -534,6 +534,7 @@ * * public static void stack(Context ctx) { * ctx.export("private", mongodbatlas_cluster.cluster-test().connection_strings()[0].private()); + * // Example return string: private = "mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-12diht-shard-0" * final var private = "mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net"; * * } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudBackupSnapshot.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudBackupSnapshot.java index 06597ea0..6f2d9412 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudBackupSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudBackupSnapshot.java @@ -61,6 +61,7 @@ * .cloudBackup(true) * .build()); * + * // enable cloud backup snapshots * var testCloudBackupSnapshot = new CloudBackupSnapshot("testCloudBackupSnapshot", CloudBackupSnapshotArgs.builder() * .projectId(myCluster.projectId()) * .clusterName(myCluster.name()) diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java index ac5fad79..22733e21 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java @@ -441,6 +441,7 @@ * * public static void stack(Context ctx) { * ctx.export("private", mongodbatlas_cluster.cluster-test().connection_strings()[0].private()); + * // Example return string: private = "mongodb://cluster-atlas-shard-00-00-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-01-pri.ygo1m.mongodb.net:27017,cluster-atlas-shard-00-02-pri.ygo1m.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-12diht-shard-0" * final var private = "mongodb+srv://cluster-atlas-pri.ygo1m.mongodb.net"; * * } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/LdapVerify.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/LdapVerify.java index 10d6f3ab..34044910 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/LdapVerify.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/LdapVerify.java @@ -61,6 +61,7 @@ * .cloudBackup(true) * .build()); * + * //enable cloud provider snapshots * var testLdapVerify = new LdapVerify("testLdapVerify", LdapVerifyArgs.builder() * .projectId(testProject.id()) * .hostname("HOSTNAME") diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java index 21d2d5c2..35fed686 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java @@ -63,6 +63,8 @@ * } * * public static void stack(Context ctx) { + * // Container example provided but not always required, + * // see network_container documentation for details. * var testNetworkContainer = new NetworkContainer("testNetworkContainer", NetworkContainerArgs.builder() * .projectId(local.project_id()) * .atlasCidrBlock("10.8.0.0/21") @@ -70,6 +72,7 @@ * .regionName("US_EAST_1") * .build()); * + * // Create the peering connection request * var testNetworkPeering = new NetworkPeering("testNetworkPeering", NetworkPeeringArgs.builder() * .accepterRegionName("us-east-1") * .projectId(local.project_id()) @@ -80,6 +83,8 @@ * .awsAccountId("abc123abc123") * .build()); * + * // the following assumes an AWS provider is configured + * // Accept the peering connection request * var peer = new VpcPeeringConnectionAccepter("peer", VpcPeeringConnectionAccepterArgs.builder() * .vpcPeeringConnectionId(testNetworkPeering.connectionId()) * .autoAccept(true) @@ -124,12 +129,15 @@ * } * * public static void stack(Context ctx) { + * // Container example provided but not always required, + * // see network_container documentation for details. * var testNetworkContainer = new NetworkContainer("testNetworkContainer", NetworkContainerArgs.builder() * .projectId(local.project_id()) * .atlasCidrBlock("10.8.0.0/21") * .providerName("GCP") * .build()); * + * // Create the peering connection request * var testNetworkPeering = new NetworkPeering("testNetworkPeering", NetworkPeeringArgs.builder() * .projectId(local.project_id()) * .containerId(testNetworkContainer.containerId()) @@ -142,6 +150,7 @@ * .name("default") * .build()); * + * // Create the GCP peer * var peering = new NetworkPeering("peering", NetworkPeeringArgs.builder() * .network(default_.selfLink()) * .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -> { @@ -151,6 +160,7 @@ * })) * .build()); * + * // Create the cluster once the peering connection is completed * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .projectId(local.project_id()) * .numShards(1) @@ -172,6 +182,13 @@ * .dependsOn("google_compute_network_peering.peering") * .build()); * + * // Private connection strings are not available w/ GCP until the reciprocal + * // connection changes to available (i.e. when the status attribute changes + * // to AVAILABLE on the 'mongodbatlas_network_peering' resource, which + * // happens when the google_compute_network_peering and and + * // mongodbatlas_network_peering make a reciprocal connection). Hence + * // since the cluster can be created before this connection completes + * // you may need to run `terraform refresh` to obtain the private connection strings. * } * } * ``` @@ -207,6 +224,10 @@ * } * * public static void stack(Context ctx) { + * // Ensure you have created the required Azure service principal first, see + * // see https://docs.atlas.mongodb.com/security-vpc-peering/ + * // Container example provided but not always required, + * // see network_container documentation for details. * var testNetworkContainer = new NetworkContainer("testNetworkContainer", NetworkContainerArgs.builder() * .projectId(local.project_id()) * .atlasCidrBlock(local.ATLAS_CIDR_BLOCK()) @@ -214,6 +235,7 @@ * .region("US_EAST_2") * .build()); * + * // Create the peering connection request * var testNetworkPeering = new NetworkPeering("testNetworkPeering", NetworkPeeringArgs.builder() * .projectId(local.project_id()) * .containerId(testNetworkContainer.containerId()) @@ -224,6 +246,7 @@ * .vnetName(local.AZURE_VNET_NAME()) * .build()); * + * // Create the cluster once the peering connection is completed * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .projectId(local.project_id()) * .clusterType("REPLICASET") @@ -283,6 +306,8 @@ * } * * public static void stack(Context ctx) { + * // Create an Atlas cluster, this creates a container if one + * // does not yet exist for this AWS region * var test = new Cluster("test", ClusterArgs.builder() * .projectId(local.project_id()) * .clusterType("REPLICASET") @@ -301,10 +326,12 @@ * .providerInstanceSizeName("M10") * .build()); * + * // the following assumes an AWS provider is configured * var default_ = new DefaultVpc("default", DefaultVpcArgs.builder() * .tags(Map.of("Name", "Default VPC")) * .build()); * + * // Create the peering connection request * var mongoPeer = new NetworkPeering("mongoPeer", NetworkPeeringArgs.builder() * .accepterRegionName("us-east-2") * .projectId(local.project_id()) @@ -315,6 +342,7 @@ * .awsAccountId(local.AWS_ACCOUNT_ID()) * .build()); * + * // Accept the connection * var awsPeer = new VpcPeeringConnectionAccepter("awsPeer", VpcPeeringConnectionAccepterArgs.builder() * .vpcPeeringConnectionId(mongoPeer.connectionId()) * .autoAccept(true) @@ -356,6 +384,8 @@ * } * * public static void stack(Context ctx) { + * // Create an Atlas cluster, this creates a container if one + * // does not yet exist for this GCP * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .projectId(local.project_id()) * .clusterType("REPLICASET") @@ -374,6 +404,7 @@ * .providerInstanceSizeName("M10") * .build()); * + * // Create the peering connection request * var testNetworkPeering = new NetworkPeering("testNetworkPeering", NetworkPeeringArgs.builder() * .projectId(local.project_id()) * .atlasCidrBlock("192.168.0.0/18") @@ -387,6 +418,7 @@ * .name("default") * .build()); * + * // Create the GCP peer * var peering = new NetworkPeering("peering", NetworkPeeringArgs.builder() * .network(default_.selfLink()) * .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -> { @@ -428,6 +460,10 @@ * } * * public static void stack(Context ctx) { + * // Ensure you have created the required Azure service principal first, see + * // see https://docs.atlas.mongodb.com/security-vpc-peering/ + * // Create an Atlas cluster, this creates a container if one + * // does not yet exist for this AZURE region * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .projectId(local.project_id()) * .clusterType("REPLICASET") @@ -446,6 +482,7 @@ * .providerInstanceSizeName("M10") * .build()); * + * // Create the peering connection request * var testNetworkPeering = new NetworkPeering("testNetworkPeering", NetworkPeeringArgs.builder() * .projectId(local.project_id()) * .containerId(testCluster.containerId()) diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateLinkEndpointService.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateLinkEndpointService.java index 1eb47734..6467edf6 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateLinkEndpointService.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateLinkEndpointService.java @@ -183,10 +183,12 @@ * .region(var_.gcp_region()) * .build()); * + * // Create a Google Network * var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder() * .project(var_.gcp_project()) * .build()); * + * // Create a Google Sub Network * var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder() * .project(defaultNetwork.project()) * .ipCidrRange("10.0.0.0/16") @@ -194,6 +196,7 @@ * .network(defaultNetwork.id()) * .build()); * + * // Create Google 50 Addresses * for (var i = 0; i < 50; i++) { * new Address("defaultAddress-" + i, AddressArgs.builder() * .project(defaultSubnetwork.project()) @@ -207,6 +210,7 @@ * * * } + * // Create 50 Forwarding rules * for (var i = 0; i < 50; i++) { * new ForwardingRule("defaultForwardingRule-" + i, ForwardingRuleArgs.builder() * .target(testPrivateLinkEndpoint.serviceAttachmentNames().applyValue(serviceAttachmentNames -> serviceAttachmentNames[range.value()])) diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java index fc4110e5..9123f6dc 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java @@ -151,6 +151,7 @@ * .x509Type("CUSTOMER") * .build()); * + * // Make sure to set x509_type = "CUSTOMER" * } * } * ```