From 56a32f5cb098da3bbc9d5b8c73a40b9103138fba Mon Sep 17 00:00:00 2001 From: Melissa Plunkett Date: Thu, 10 Jun 2021 18:24:35 -0500 Subject: [PATCH 1/2] Starter example improvements and doc update -Updated the doc index to point to the examples directory -Added a few more variables and such to the starter example that seemed useful after writing a demo using it. --- examples/starter/Readme.md | 6 ++-- examples/starter/atlas_cluster.tf | 6 ++-- examples/starter/ip_access_list.tf | 4 +-- examples/starter/variables.tf | 50 ++++++++++++++++++++++-------- website/docs/index.html.markdown | 7 +++-- 5 files changed, 48 insertions(+), 25 deletions(-) diff --git a/examples/starter/Readme.md b/examples/starter/Readme.md index 2b6ff73bf2..044f9196f1 100644 --- a/examples/starter/Readme.md +++ b/examples/starter/Readme.md @@ -7,16 +7,16 @@ This project aims to provide a very straight-forward example of setting up Terra - Database User - IP Access List -You can refer to the MongoDB Atlas documentation to know about the region names used in MongoDB Atlas respective to the Cloud Provier's region name. +You can refer to the MongoDB Atlas documentation to know about the region names used in MongoDB Atlas respective to the Cloud Provider's region name. [Amazon Web Services (AWS)](https://docs.atlas.mongodb.com/reference/amazon-aws/#amazon-aws) [Google Cloud Platform (GCP)](https://docs.atlas.mongodb.com/reference/google-gcp/#google-gcp) [Microsoft Azure](https://docs.atlas.mongodb.com/reference/microsoft-azure/#microsoft-azure) ## Dependencies -* Terraform v0.13 +* Terraform v0.13 or greater * A MongoDB Atlas account -* provider.mongodbatlas: version = "~> 0.7.0" +* provider.mongodbatlas: version = "~> 0.9.1" ## Usage diff --git a/examples/starter/atlas_cluster.tf b/examples/starter/atlas_cluster.tf index 1cf14d08d7..08dc715c1e 100644 --- a/examples/starter/atlas_cluster.tf +++ b/examples/starter/atlas_cluster.tf @@ -1,6 +1,6 @@ resource "mongodbatlas_cluster" "cluster" { project_id = mongodbatlas_project.project.id - name = "mongodb-atlas" + name = var.cluster_name mongo_db_major_version = var.mongodbversion cluster_type = "REPLICASET" replication_specs { @@ -15,10 +15,8 @@ resource "mongodbatlas_cluster" "cluster" { //Provider Settings "block" provider_backup_enabled = true auto_scaling_disk_gb_enabled = true - provider_name = "AWS" - disk_size_gb = 10 + provider_name = var.cloud_provider provider_instance_size_name = "M10" - provider_encrypt_ebs_volume = true } output "atlasclusterstring" { value = mongodbatlas_cluster.cluster.connection_strings diff --git a/examples/starter/ip_access_list.tf b/examples/starter/ip_access_list.tf index f64d0292e1..0e4701b2f1 100644 --- a/examples/starter/ip_access_list.tf +++ b/examples/starter/ip_access_list.tf @@ -1,7 +1,7 @@ resource "mongodbatlas_project_ip_access_list" "ip" { project_id = mongodbatlas_project.project.id - ip_address = "77.107.233.162" - comment = "cidr block for accessing the cluster" + ip_address = var.ip_address + comment = "IP Address for accessing the cluster" } output "ipaccesslist" { value = mongodbatlas_project_ip_access_list.ip.ip_address diff --git a/examples/starter/variables.tf b/examples/starter/variables.tf index 58cf49f457..465e3a0a97 100644 --- a/examples/starter/variables.tf +++ b/examples/starter/variables.tf @@ -1,27 +1,51 @@ variable "public_key" { - description = "Public API key to authenticate to Atlas" + type = string + description = "Public Programmatic API key to authenticate to Atlas" } variable "private_key" { - description = "Private API key to authenticate to Atlas" + type = string + description = "Private Programmatic API key to authenticate to Atlas" } -variable "dbuser" { - description = "MongoDB Atlas Database User" +variable "org_id" { + type = string + description = "MongoDB Organization ID" } -variable "dbuser_password" { - description = "MongoDB Atlas Database User Password" +variable "project_name" { + type = string + description = "The MongoDB Atlas Project Name" } -variable "database_name" { - description = "The Database in the cluster" +variable "cluster_name" { + type = string + description = "The MongoDB Atlas Cluster Name" } -variable "org_id" { - description = "MongoDB Organization ID" +variable "cloud_provider" { + type = string + description = "The cloud provider to use, must be AWS, GCP or AZURE" } variable "region" { - description = "MongoDB Atlas Cluster Region" + type = string + description = "MongoDB Atlas Cluster Region, must be a region for the provider given" } variable "mongodbversion" { + type = string description = "The Major MongoDB Version" } -variable "project_name" { - description = "The Atlas Project Name" +variable "dbuser" { + type = string + description = "MongoDB Atlas Database User Name" +} +variable "dbuser_password" { + type = string + description = "MongoDB Atlas Database User Password" +} +variable "database_name" { + type = string + description = "The database in the cluster to limit the database user to, the database does not have to exist yet" +} +variable "ip_address" { + type = string + description = "The IP address that the cluster will be accessed from, can also be a CIDR range or AWS security group" } + + + diff --git a/website/docs/index.html.markdown b/website/docs/index.html.markdown index cc0ec690d2..90d0616ed1 100644 --- a/website/docs/index.html.markdown +++ b/website/docs/index.html.markdown @@ -95,8 +95,9 @@ For more information on configuring and managing programmatic API Keys see the [ [Support](https://docs.atlas.mongodb.com/support/) covered by MongoDB Atlas support plans, Developer and above. -## Examples from the Community +## Examples from MongoDB and the Community -Have a good example you've created and want to share? Let us know the details via an [issue](https://github.com/mongodb/terraform-provider-mongodbatlas/issues) +We have [example configurations](https://github.com/mongodb/terraform-provider-mongodbatlas/tree/master/examples) in our GitHub repo that will help both beginner and more advanced users. + +Have a good example you've created and want to share? Let us know the details via an [issue](https://github.com/mongodb/terraform-provider-mongodbatlas/issues) or submit a PR of your work to add it to the examples directory in our [GitHub repo](https://github.com/mongodb/terraform-provider-mongodbatlas/). -[Example - AWS and Atlas PrivateLink with Terraform](https://github.com/nikhil-mongo/aws-atlas-privatelink) From 27e5959e57b95cccba7828e46c5772dbc5109c7c Mon Sep 17 00:00:00 2001 From: Melissa Plunkett Date: Thu, 10 Jun 2021 18:27:03 -0500 Subject: [PATCH 2/2] Update atlas_cluster.tf --- examples/starter/atlas_cluster.tf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/starter/atlas_cluster.tf b/examples/starter/atlas_cluster.tf index 08dc715c1e..749de871a7 100644 --- a/examples/starter/atlas_cluster.tf +++ b/examples/starter/atlas_cluster.tf @@ -18,6 +18,7 @@ resource "mongodbatlas_cluster" "cluster" { provider_name = var.cloud_provider provider_instance_size_name = "M10" } -output "atlasclusterstring" { - value = mongodbatlas_cluster.cluster.connection_strings +output "connection_strings" { + value = mongodbatlas_cluster.cluster.connection_strings.0.standard_srv } +