Skip to content

Automation for customers who needs terraform for external pcs provisioning

License

Notifications You must be signed in to change notification settings

datarobot/dr-aws-external-pcs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requirements

Name Version
terraform >=1.2.5
aws >=5.0
null >=3.2.1
random >=3.5.1

Providers

Name Version
aws >=5.0
random >=3.5.1

Modules

Name Source Version
rds_postgres terraform-aws-modules/rds/aws 5.9.0

Resources

Name Type
aws_db_subnet_group.database_subnets resource
aws_route53_record.rds_database resource
aws_secretsmanager_secret.postgres_password resource
aws_secretsmanager_secret_version.postgres_password resource
aws_security_group.rds_database_group resource
random_password.postgres resource

Inputs

Name Description Type Default Required
allocated_rds_storage Disk size to allocate to Postgres RDS string n/a yes
database_subnets Database Subnet IDs any n/a yes
instance_type Instance Type to use string n/a yes
max_allocated_rds_storage Max disk size to allocate to Postgres RDS number n/a yes
parameter_group_name Name of RDS custom parameter group name string n/a yes
postgres_engine_version Variable to set postgres major version to support individual customer upgrades string n/a yes
production Set Production Grade Environment bool n/a yes
project_name Project / Company Name for the deployment string n/a yes
rds_dns_name Name of RDS route 53 record to be created string n/a yes
tags Tags to use on objects any n/a yes
vpc_cidr CIDR for the VPC string n/a yes
vpc_id VPC object any n/a yes
vpcname Name of the VPC string n/a yes
zone_id zone id string n/a yes

Outputs

Name Description
get_current_version_of_db Postgres Current Version
postgres_password n/a
rds_dns Postgres DNS
rds_endpoint Postgres Endpoint

Requirements

Name Version
aws >=5.0
mongodbatlas ~> 1.11

Providers

Name Version
aws >=5.0
mongodbatlas ~> 1.11
random n/a

Modules

Mongo Atlas

Resources

Name Type
aws_secretsmanager_secret.mongo_atlas_user_password resource
aws_secretsmanager_secret_version.mongo_atlas_user_password resource
aws_security_group.mongo_atlas_privatelink resource
aws_security_group_rule.mongo_atlas_pl_db_port_access resource
aws_security_group_rule.mongo_atlas_pl_egress_access resource
aws_security_group_rule.mongo_atlas_pl_https_access resource
aws_vpc_endpoint.aws_atlas_endpoint_interface_link resource
mongodbatlas_advanced_cluster.aws_mongo_atlas_cluster resource
mongodbatlas_cloud_backup_schedule.aws_mongo_atlas_automated_cloud_backup resource
mongodbatlas_database_user.aws_mongo_atlas_db_user resource
mongodbatlas_privatelink_endpoint.atlas_privatelink_endpoint resource
mongodbatlas_privatelink_endpoint_service.aws_atlas_privatelink_endpoint_service resource
mongodbatlas_project.aws_mongo_atlas_project resource
mongodbatlas_project_ip_access_list.cidr_whitelist resource
random_password.aws_atlas_mongo_password_generator resource

Inputs

Name Description Type Default Required
atlas_cluster_type cluster type can be either replicaset or sharded string n/a yes
atlas_dbuser atlas datarobot user list(string) n/a yes
atlas_disk_size atlas disk size string "20" no
atlas_instance_type atlas instance type string "M30" no
atlas_mongodb_version major mongodb version string n/a yes
atlas_num_shards number of shards needed for either replicaset or sharded cluster number n/a yes
atlas_org_id your org id in atlas to create mongodb deployment for datarobot any n/a yes
atlas_private_key private key of atlas any n/a yes
atlas_project_name atlas project name string n/a yes
atlas_public_key public key of atlas any n/a yes
atlas_region atlas region any n/a yes
change_stream_options_pre_and_post_images_expire_after_seconds Set this value to either -1 or 0 number 0 no
cidr_block VPC CIDR string n/a yes
copy_protection_enabled Enable snapshot to be copied to additional regions if an entire region goes down bool n/a yes
env Name of the environment any n/a yes
extended_storage_size Enable extended storage size beyond the default values bool n/a yes
javascript_enabled Enable javascript if needed bool false no
length The length of the password to be generated number n/a yes
min_lower Minimum number of lower case characters number n/a yes
min_numeric Minimum number of numeric characters number n/a yes
min_special Minimum number of special characters number n/a yes
min_upper Minimum number of upper case characters number n/a yes
names A list of database users to create for the project
list(object({
username : string,
roles : list(object({
role_name : string,
database_name : string,
})),
scopes : list(object({
type : string,
name : string
}))
}))
[] no
override_special Provide your own list of special characters string n/a yes
path Path to store password in Secrets Manager string "" no
pit_enabled Enable Continuous Cloud Backup for point in time restore and RPO of 1 min bool n/a yes
pl_sg_cidr_range VPC ID list(string) n/a yes
security_group_id_list Additional sgs if needed to be attached list(string) n/a yes
special Include special characters in random password string bool n/a yes
subnet_groups VPC CIDR list(string) n/a yes
tags default tags map(string) n/a yes
termination_protection_enabled Enable termination protection for accidental deletions bool n/a yes
vpc_id VPC ID string n/a yes

Outputs

Name Description
atlasclusterstring n/a
mongo_atlas_cluster_name n/a
mongo_atlas_project_id n/a
names Returns list of secret names to be created.
plstring Private link connection string in srv format
secret_arns The ARN values of the generated secrets
secrets Returns all secrets generated by the secrets manager module

Requirements

Name Version
terraform >=1.2.5
aws >=5.0
random >=3.5.1

Providers

Name Version
aws >=5.0
random >=3.5.1

Modules

Redis Elasticache

Resources

Name Type
aws_elasticache_replication_group.datarobot resource
aws_elasticache_subnet_group.datarobot resource
aws_secretsmanager_secret.redis_password resource
aws_secretsmanager_secret_version.redis_password resource
aws_security_group.elasticache_redis_group resource
random_password.password_ecs resource

Inputs

Name Description Type Default Required
node_type Node Size string n/a yes
num_node_groups Number of Node Groups number 1 no
parameter_group_name Parameter Group Size string "default.redis7" no
project_name The customer name string n/a yes
replicas_per_node_group Number of Replicas number 2 no
subnet_ids Subnet IDs any n/a yes
tags Tags for Objects any n/a yes
vpc_cidr CIDR for the VPC string n/a yes
vpc_id VPC object any n/a yes
vpcname Name of the VPC string n/a yes

Outputs

Name Description
primary_endpoint Primary Endpoint
reader_endpoint Reader Endpoint
redistoken REDIS Token

About

Automation for customers who needs terraform for external pcs provisioning

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages