From 38e87977f99e05619bf0e4596ce72e285f5ff3ee Mon Sep 17 00:00:00 2001 From: lindanasredin Date: Tue, 28 Feb 2023 08:39:06 +0000 Subject: [PATCH] Automatic commit before release [release=1.3.7] | [skip actions] --- README.md | 26 +++---- .../multi_account_deployment/main.tf | 20 +++--- .../multi_account_deployment.zip | Bin 4430 -> 5237 bytes .../multi_account_deployment/variables.tf | 6 +- .../single_account_deployment/main.tf | 66 +++++++++--------- .../single_account_deployment/outputs.tf | 18 ++--- .../single_account_deployment.zip | Bin 0 -> 5803 bytes .../single_account_deployment/variables.tf | 6 +- .../poc/basic_deployment/basic_deployment.zip | Bin 4787 -> 5114 bytes examples/poc/basic_deployment/main.tf | 18 ++--- .../poc/hadr_deployment/hadr_deployment.zip | Bin 5106 -> 5482 bytes examples/poc/hadr_deployment/main.tf | 62 ++++++++-------- installer_machine/prepare_installer.tpl | 2 +- modules/aws/agentless-gw/README.md | 2 +- modules/aws/agentless-gw/main.tf | 6 +- modules/aws/agentless-gw/variables.tf | 6 +- modules/aws/hub/README.md | 2 +- modules/aws/hub/main.tf | 2 +- modules/aws/hub/variables.tf | 6 +- modules/aws/poc-db-onboarder/main.tf | 2 +- modules/aws/poc-db-onboarder/variables.tf | 6 +- modules/aws/rds-mssql-db/README.md | 2 +- modules/aws/sonar-base-instance/secret.tf | 6 +- modules/aws/sonar-base-instance/variables.tf | 6 +- modules/null/federation/main.tf | 8 +-- modules/null/hadr/variables.tf | 8 +-- 26 files changed, 143 insertions(+), 143 deletions(-) create mode 100644 examples/installation/single_account_deployment/single_account_deployment.zip diff --git a/README.md b/README.md index a602a97b1..5ecf11be1 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ This guide references the following information and links, some of which are ava - DSFKit GitHub Repository + DSFKit GitHub Repository @@ -132,7 +132,7 @@ This guide references the following information and links, some of which are ava Open Terraform Cloud Account - Request Form Grants access for a specific e-mail address to Imperva's Terraform Cloud account. - Required for Terraform Cloud Deployment Mode + Required for Terraform Cloud Deployment Mode @@ -309,7 +309,7 @@ The first thing to do in this deployment mode is to [download Terraform ](https: **NOTE:** Update the values for the required parameters to complete the installation: example_name, aws_access_key_id, aws_secret_access_key and region -1. Download the zip file of the example you've chosen (See the [Choosing the Example/Recipe that Fits Your Use Case](#choosing-the-examplerecipe-that-fits-your-use-case) section) from the DSFKit GitHub Repository, e.g., if you choose the "basic_deployment" example, you should download basic_deployment.zip. +1. Download the zip file of the example you've chosen (See the [Choosing the Example/Recipe that Fits Your Use Case](#choosing-the-examplerecipe-that-fits-your-use-case) section) from the DSFKit GitHub Repository, e.g., if you choose the "basic_deployment" example, you should download basic_deployment.zip. 2. Unzip the zip file in CLI or using your operating system's UI. For example, in CLI: @@ -522,7 +522,7 @@ Complete these steps to manually create an installer machine: 6. Replace the following placeholders with their value in the bash code you pasted: (You can also do the replacements in a text editor and copy the result to the AWS console) 1. ${example_name}: E.g., basic_deployment - 2. ${example_type}: poc or installation, according to where your example is located in the [DSFKit GitHub repository](https://github.com/imperva/dsfkit/tree/1.3.6) under the 'examples' directory. + 2. ${example_type}: poc or installation, according to where your example is located in the [DSFKit GitHub repository](https://github.com/imperva/dsfkit/tree/1.3.7) under the 'examples' directory. 3. ${access_key}: AWS access key which provides access to the AWS account where you want to deploy DSF. 4. ${secret_key}: AWS secret key which provides access to the AWS account where you want to deploy DSF. 5. ${region}: AWS region where you want to deploy DSF. @@ -578,7 +578,7 @@ In case you don’t want to manually create the installer machine, you can autom Complete the following instructions to automate the creation of an installer machine which in turn automatically installs DSF. -1. Download the Terraform recipe zip [here](https://github.com/imperva/dsfkit/tree/1.3.6/installer_machine/installer_machine.zip). +1. Download the Terraform recipe zip [here](https://github.com/imperva/dsfkit/tree/1.3.7/installer_machine/installer_machine.zip). 2. Unzip the zip file in CLI or using your operating system's UI. @@ -645,7 +645,7 @@ Complete the following instructions to automate the creation of an installer mac DSFKit provides a number of out-of-the-box examples which are already configured to deploy common DSF environments. -These examples can be found in the DSFKit GitHub Repository under the examples directory. +These examples can be found in the DSFKit GitHub Repository under the examples directory. Some examples are intended for Lab or POC and others for actual DSF deployments by Professional Services and customers. For more details about each example, click on the example name. @@ -662,33 +662,33 @@ For more details about each example, click on the example name. - Basic Deployment + Basic Deployment Lab/POC A DSF deployment with a DSF Hub, an Agentless Gateway, federation, networking and onboarding of a MySQL DB. - basic_deployment.zip + basic_deployment.zip - HADR Deployment + HADR Deployment Lab/POC A DSF deployment with a DSF Hub HADR, an Agentless Gateway, federation, networking and onboarding of a MySQL DB. - hadr_deployment.zip + hadr_deployment.zip - Multi Account Deployment + Multi Account Deployment PS/Customer A DSF deployment with a DSF Hub and an Agentless Gateway in different AWS accounts and federation. - multi_account_deployment.zip + multi_account_deployment.zip @@ -743,7 +743,7 @@ In case of failure, the Terraform may have deployed some resources before failin ```bash ssh -i ${key_pair_file} ec2-user@${installer_machine_public_ip} - >>>> Fill the values of the key_pair_file and installer_machine_public_ip placeholders (See ) + >>>> Fill the values of the key_pair_file and installer_machine_public_ip placeholders (See ) ``` 2. ```bash diff --git a/examples/installation/multi_account_deployment/main.tf b/examples/installation/multi_account_deployment/main.tf index 95da44a8d..379d18ede 100644 --- a/examples/installation/multi_account_deployment/main.tf +++ b/examples/installation/multi_account_deployment/main.tf @@ -17,7 +17,7 @@ provider "aws" { module "globals" { source = "imperva/dsf-globals/aws" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag sonar_version = var.sonar_version } @@ -42,14 +42,14 @@ locals { module "key_pair_hub" { source = "imperva/dsf-globals/aws//modules/key_pair" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag key_name_prefix = "imperva-dsf-hub" private_key_pem_filename = "ssh_keys/dsf_ssh_key-hub-${terraform.workspace}" } module "key_pair_gw" { source = "imperva/dsf-globals/aws//modules/key_pair" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag key_name_prefix = "imperva-dsf-gw" private_key_pem_filename = "ssh_keys/dsf_ssh_key-gw-${terraform.workspace}" providers = { @@ -63,7 +63,7 @@ module "key_pair_gw" { module "hub" { source = "imperva/dsf-hub/aws" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag friendly_name = join("-", [local.deployment_name_salted, "hub", "primary"]) subnet_id = var.subnet_hub security_group_id = var.security_group_id_hub @@ -72,7 +72,7 @@ module "hub" { ebs = var.hub_ebs_details create_and_attach_public_elastic_ip = false instance_type = var.hub_instance_type - ami = var.ami + ami = var.ami ssh_key_pair = { ssh_private_key_file_path = module.key_pair_hub.key_pair_private_pem.filename ssh_public_key_name = module.key_pair_hub.key_pair.key_pair_name @@ -83,16 +83,16 @@ module "hub" { use_public_ip = false } skip_instance_health_verification = var.hub_skip_instance_health_verification - terraform_script_path_folder = var.terraform_script_path_folder + terraform_script_path_folder = var.terraform_script_path_folder } module "agentless_gw_group" { count = var.gw_count source = "imperva/dsf-agentless-gw/aws" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag friendly_name = join("-", [local.deployment_name_salted, "gw", count.index]) instance_type = var.gw_instance_type - ami = var.ami + ami = var.ami subnet_id = var.subnet_gw security_group_id = var.security_group_id_gw ebs = var.gw_group_ebs_details @@ -114,7 +114,7 @@ module "agentless_gw_group" { proxy_ssh_user = module.hub.ssh_user } skip_instance_health_verification = var.gw_skip_instance_health_verification - terraform_script_path_folder = var.terraform_script_path_folder + terraform_script_path_folder = var.terraform_script_path_folder depends_on = [ module.hub ] @@ -126,7 +126,7 @@ module "agentless_gw_group" { module "federation" { for_each = { for idx, val in module.agentless_gw_group : idx => val } source = "imperva/dsf-federation/null" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag gw_info = { gw_ip_address = each.value.private_ip gw_private_ssh_key_path = module.key_pair_gw.key_pair_private_pem.filename diff --git a/examples/installation/multi_account_deployment/multi_account_deployment.zip b/examples/installation/multi_account_deployment/multi_account_deployment.zip index 4278fcb6af0e9612ae324f2f5eed3723a5ca83b5..d38be3bc395db8612d71a38380e16f707a614469 100644 GIT binary patch delta 3940 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 delta 3104 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 ft>!=B1^{pZ{=3GQBd`ujBp&1*o8h diff --git a/examples/installation/multi_account_deployment/variables.tf b/examples/installation/multi_account_deployment/variables.tf index f6a7eb81d..8ede67c24 100644 --- a/examples/installation/multi_account_deployment/variables.tf +++ b/examples/installation/multi_account_deployment/variables.tf @@ -170,11 +170,11 @@ variable "gw_skip_instance_health_verification" { } variable "terraform_script_path_folder" { - type = string + type = string description = "Terraform script path folder to create terraform temporary script files on the DSF hub and DSF agentless GW instances. Use '.' to represent the instance home directory" - default = null + default = null validation { - condition = var.terraform_script_path_folder != "" + condition = var.terraform_script_path_folder != "" error_message = "Terraform script path folder can not be an empty string" } } \ No newline at end of file diff --git a/examples/installation/single_account_deployment/main.tf b/examples/installation/single_account_deployment/main.tf index 91a4fba48..368b72d2b 100644 --- a/examples/installation/single_account_deployment/main.tf +++ b/examples/installation/single_account_deployment/main.tf @@ -8,7 +8,7 @@ provider "aws" { module "globals" { source = "imperva/dsf-globals/aws" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag sonar_version = var.sonar_version } @@ -34,14 +34,14 @@ locals { ############################## module "key_pair_hub" { source = "imperva/dsf-globals/aws//modules/key_pair" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag key_name_prefix = "imperva-dsf-hub" private_key_pem_filename = "ssh_keys/dsf_ssh_key-hub-${terraform.workspace}" } module "key_pair_gw" { source = "imperva/dsf-globals/aws//modules/key_pair" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag key_name_prefix = "imperva-dsf-gw" private_key_pem_filename = "ssh_keys/dsf_ssh_key-gw-${terraform.workspace}" } @@ -51,7 +51,7 @@ module "key_pair_gw" { ############################## module "hub" { source = "imperva/dsf-hub/aws" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag friendly_name = join("-", [local.deployment_name_salted, "hub", "primary"]) subnet_id = var.subnet_hub security_group_id = var.security_group_id_hub @@ -71,24 +71,24 @@ module "hub" { use_public_ip = false } skip_instance_health_verification = var.hub_skip_instance_health_verification - terraform_script_path_folder = var.terraform_script_path_folder + terraform_script_path_folder = var.terraform_script_path_folder } module "hub_secondary" { - source = "imperva/dsf-hub/aws" - version = "1.3.6" # latest release tag - friendly_name = join("-", [local.deployment_name_salted, "hub", "secondary"]) - subnet_id = var.subnet_hub_secondary - security_group_id = var.security_group_id_hub - binaries_location = local.tarball_location - web_console_admin_password = local.web_console_admin_password - instance_type = var.hub_instance_type - ebs = var.hub_ebs_details - create_and_attach_public_elastic_ip = false - ami = var.ami - hadr_secondary_node = true - sonarw_public_key = module.hub.sonarw_public_key - sonarw_private_key = module.hub.sonarw_private_key + source = "imperva/dsf-hub/aws" + version = "1.3.7" # latest release tag + friendly_name = join("-", [local.deployment_name_salted, "hub", "secondary"]) + subnet_id = var.subnet_hub_secondary + security_group_id = var.security_group_id_hub + binaries_location = local.tarball_location + web_console_admin_password = local.web_console_admin_password + instance_type = var.hub_instance_type + ebs = var.hub_ebs_details + create_and_attach_public_elastic_ip = false + ami = var.ami + hadr_secondary_node = true + sonarw_public_key = module.hub.sonarw_public_key + sonarw_private_key = module.hub.sonarw_private_key ssh_key_pair = { ssh_private_key_file_path = module.key_pair_hub.key_pair_private_pem.filename ssh_public_key_name = module.key_pair_hub.key_pair.key_pair_name @@ -99,13 +99,13 @@ module "hub_secondary" { use_public_ip = false } skip_instance_health_verification = var.hub_skip_instance_health_verification - terraform_script_path_folder = var.terraform_script_path_folder + terraform_script_path_folder = var.terraform_script_path_folder } module "agentless_gw_group" { count = var.gw_count source = "imperva/dsf-agentless-gw/aws" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag friendly_name = join("-", [local.deployment_name_salted, "gw", count.index]) subnet_id = var.subnet_gw security_group_id = var.security_group_id_gw @@ -115,7 +115,7 @@ module "agentless_gw_group" { web_console_admin_password = local.web_console_admin_password hub_sonarw_public_key = module.hub.sonarw_public_key create_and_attach_public_elastic_ip = false - ami = var.ami + ami = var.ami ssh_key_pair = { ssh_private_key_file_path = module.key_pair_gw.key_pair_private_pem.filename ssh_public_key_name = module.key_pair_gw.key_pair.key_pair_name @@ -130,7 +130,7 @@ module "agentless_gw_group" { proxy_ssh_user = module.hub.ssh_user } skip_instance_health_verification = var.gw_skip_instance_health_verification - terraform_script_path_folder = var.terraform_script_path_folder + terraform_script_path_folder = var.terraform_script_path_folder depends_on = [ module.hub ] @@ -147,8 +147,8 @@ locals { module "federation" { count = length(local.hub_gw_combinations) - source = "imperva/dsf-federation/null" - version = "1.3.6" # latest release tag + source = "imperva/dsf-federation/null" + version = "1.3.7" # latest release tag gw_info = { gw_ip_address = local.hub_gw_combinations[count.index][1].private_ip gw_private_ssh_key_path = module.key_pair_gw.key_pair_private_pem.filename @@ -172,14 +172,14 @@ module "federation" { } module "hub_hadr" { - source = "imperva/dsf-hadr/null" - version = "1.3.6" # latest release tag - dsf_primary_ip = module.hub.private_ip - dsf_primary_private_ip = module.hub.private_ip - dsf_secondary_ip = module.hub_secondary.private_ip - dsf_secondary_private_ip = module.hub_secondary.private_ip - ssh_key_path = module.key_pair_hub.key_pair_private_pem.filename - ssh_user = module.hub.ssh_user + source = "imperva/dsf-hadr/null" + version = "1.3.7" # latest release tag + dsf_primary_ip = module.hub.private_ip + dsf_primary_private_ip = module.hub.private_ip + dsf_secondary_ip = module.hub_secondary.private_ip + dsf_secondary_private_ip = module.hub_secondary.private_ip + ssh_key_path = module.key_pair_hub.key_pair_private_pem.filename + ssh_user = module.hub.ssh_user terraform_script_path_folder = var.terraform_script_path_folder depends_on = [ module.federation diff --git a/examples/installation/single_account_deployment/outputs.tf b/examples/installation/single_account_deployment/outputs.tf index 7053c59e2..c2a810a5a 100644 --- a/examples/installation/single_account_deployment/outputs.tf +++ b/examples/installation/single_account_deployment/outputs.tf @@ -1,16 +1,16 @@ output "dsf_agentless_gw_group" { value = { - for idx, val in module.agentless_gw_group : "gw-${idx}" => { - primary = { - private_ip = try(module.agentless_gw_group[idx].private_ip, null) - private_dns = try(module.agentless_gw_group[idx].private_dns, null) - jsonar_uid = try(module.agentless_gw_group[idx].jsonar_uid, null) - display_name = try(module.agentless_gw_group[idx].display_name, null) - role_arn = try(module.agentless_gw_group[idx].iam_role, null) - ssh_command = try("ssh -o ProxyCommand='ssh -o UserKnownHostsFile=/dev/null -i ${module.key_pair_hub.key_pair_private_pem.filename} -W %h:%p ${module.hub.ssh_user}@${module.hub.private_ip}' -i ${module.key_pair_gw.key_pair_private_pem.filename} ${module.agentless_gw_group[idx].ssh_user}@${module.agentless_gw_group[idx].private_ip}", null) + for idx, val in module.agentless_gw_group : "gw-${idx}" => { + primary = { + private_ip = try(module.agentless_gw_group[idx].private_ip, null) + private_dns = try(module.agentless_gw_group[idx].private_dns, null) + jsonar_uid = try(module.agentless_gw_group[idx].jsonar_uid, null) + display_name = try(module.agentless_gw_group[idx].display_name, null) + role_arn = try(module.agentless_gw_group[idx].iam_role, null) + ssh_command = try("ssh -o ProxyCommand='ssh -o UserKnownHostsFile=/dev/null -i ${module.key_pair_hub.key_pair_private_pem.filename} -W %h:%p ${module.hub.ssh_user}@${module.hub.private_ip}' -i ${module.key_pair_gw.key_pair_private_pem.filename} ${module.agentless_gw_group[idx].ssh_user}@${module.agentless_gw_group[idx].private_ip}", null) + } } } - } } output "dsf_hubs" { diff --git a/examples/installation/single_account_deployment/single_account_deployment.zip b/examples/installation/single_account_deployment/single_account_deployment.zip new file mode 100644 index 0000000000000000000000000000000000000000..875651a1553c5bba6da3c130293d79511f869e75 GIT binary patch literal 5803 zcma)AbySpF-yOO`9AE%xkPfLqP&%Z0=!PL@28Qk~=@gJ|6p)hUN=Y|@gn$YNID`&L zNPYOe-};uWZ(Z*_&pOXJ|2%uI^Q^u0?{~Jg8WuJo;OE#-FoXPO^S>`zz#V{x6Wqbo z-qPCE7U2c=w6wE#b4B>U?BSjQ2Kod5tm^Jd+n>|Rmk5A?y^93^UF?**J-DFF<7AxT-Zlw%SU6Up4r6bagmHiG%BVx5&Y+q~&2LMV zV*TLp4!gRYTvN(Jjyced`;E4S0R?Pex6TXvKr7`6Hy@94oXF8#YPhN#r1a$%74f|R zs!2i^t;lz(EE56`(lh=D5tY9nvj^Q_>O4HPO-1o2ws!RoWKq+!OZZLnni_Q_h~(nJYgm=cd+rQe&q|qMRI^{j6DQ=MxTgF&{7M3joK_`-T@sUcFiIZ3HAGMm6ZIB2 zh_=|g+eI%ZJb!V)GLfO%!)K=-BWhn{!#l&IjrlEmtVE_?}^i@`#IkQU_J{hi>O#q(HBUS3_bd4n* zWzd~=x*`T(+~>nceQ#`R15%7K z@yS^7LbIlOq=70Rwr~oa7eg2&o-R`f8*7(fFRIF`+HM(9>l40O zO&2j|zk`o!W8L0G1ixPwWGuABGL~J>RGg~AGEh96%XlZG=So4@9ZpOBhLkkHGza=b``9#vB;^@sR8N5h&UA7dQG&bUi zkaULL`|2It*Riw(2ah@^raRq>LoKzIPPq&|U(FET_4e9>cyqwk4_!}U&FqE1@i8M? zT27}qmOHIdvZ0<*HLW25fWw@*p9J)AZuI^XV6}|UX#mO?pX_@_NGA7AdCCWLeDK7IRDlrf{tFQ1wwjoQ5 z2MGyhsv-^-n^yP;p9uR?uI4^+ek94p&Lh^Kv9d3jUax!oGctT?g=w+w`%?b!2H6Fj ztMAShMUM=QkYCB51J*4bG-@%Eu1X%i6MT{lfH#oP8V~cfgau{6@Q*7n0#{4LnZJqm zSv>K37mz-jtg+7a6|3?Z=-W)}&UI#xO~~DE5LMzm?_5|ACCpG7v=o%=Cq0gFaNZ#P zZK&5L%s08=)7zE)CE-WglF;etqz5_G_76m5G}c8vdWn!ibr+^_bTB%$LRt`|X3wix zC$9HZBqPJ&=*5?wVIba*l>OR_gSg1o8^#jrAyQ;=>eo2GTaK=I=t&oP0QET|$>Ys_@xC|FNX z_&qRZZ2yNCsDv6M?Wh|&?Uo~FntdXa51M1HsEkNTT8Owevs@)DSd;&T zk}h!BWG4$FA~aL%Jz*q(R9Mi_%T~8J;12Eh$YjuElmX%^_7G@$dXa_@1>NRgoq`zl zvAKwNe+-m%u^e!SPbJ|P*X7LQ%qMJh`9!d@#hBe;%Yac&mTsSJQMw{_5Yriy5c9%a zI2`@SPIX``W;!S67_FR=>4iNcABHivz#snlnU3>-VpGjDyJAxp0@$aTvP2%cJgl3Y zh^K%n5A17Rnm83D7zMC3WPj#nRXZee68vsagg)+1Jrb!rdNyq`9MunTJ&41f8+_EN zf-HS1k-8)q2~Wc~XZFeJHC>CId~^9g`^g~&O}`>ebv=HX7_4|UX|G+6+_tG!pD+u* zT6Q@Yx5T}p%vFOc0DSL(;V^`_E+xIr)Q7bXtZ3*dBXb(4o)@EhvNw+TUXj0ft#G~Uugub-K~am zwBv*nmU17>{??x=rJWe1ktaLUD|!Rn%~k^mYF$Ec)P?5qQX}LdpXj##s|q_ zs-3|?R`i~4G6s?gC}i#;wOAU3ck+APv+)#ww1w=*`N}tK+%Q{Bd+4#EiV7+Tt1+FR z*>HyC`0$Ly|6$aEArl%apRvtX^Sg}xebO^$7xgXYjl$uS1fJRq`27vJf<9skb474N z$P}WkM6d0!*v$@XID-Q52RY-qZMv`@4SEt--2N^}=}wni?>YGyT5UJF0c4f){yOFR6k=V93`!#n#pvftu-6I*4BulDyfx$0C%F)m194J0) zG)_jXq9Knq4X-1F}mgKg1xw z`^11`6|x*XRU$~Y6|p~y`F4?If`AX855hI)>^5(#0J9q2FGrU4E zs)@;j{K}5<=xpt!jblxgFLh68iMn*lqG~t|)w1wCO`#;y`5hpOS%a`2;V&lM*nvBk z6&0eg2JuxnUcpUc!4$NV?0jCyle|uZ%CDDNJe%kTJhtPd%A@Y?lXqzxPj^;c-!Ele zDFczjH^Cu+YVpM8DW|XKCHZ$Z@hc}ju?0VguY9#*KK4WGIU#VAGEm?NPkYewHPM$8 zqaQQ2#$ew;{t%fF{Ghk&4#8F{7>cAQ88Z_mAIXASDfQ~#)~oD^3AiBz8tV(0j@%}h zUKsB%dcLKLNbZ~hIY%xbzJ!?^3moaj_X1mYTSFvpv`9NM8L-c)+cCXoLwM{f9M0y7 z3YL4W+vE)2@LDVT&-eti>s;Z(m?NZ-HOP& zHWX1XyIzL@InVb$zKbDsJAB-4#HdslOW6U$%j)c0T>rg7q~27B5=H=k`HvL> zX6*$3hvKkr47+JbiLVMQi`&6W^t#)1K0TqBy;29tWno1|jit{oFh?|VDK8IM?IqEs zd1ktImiIB6tJ%{^hGWR=Mdx-Q$l|ym??G09+j4FA#>L3orr|{lxxGT7lG#u$Mn7RI3|fbc~q(Dw`a3?l<&SsSII+TzUg{Y?o#p0OT%PGCgpPzQ$d1o zajWa3hOeQ@`d!Qi-=4{`_n6usjd0(>62b}Sii8|H^`(n}pvth#+_ey_Gqc0W ztxuQE%E4WgLaeX&9_ex_Ua^b`&fgoWTss`Re(>u0(}ZBgN59VxrO?t0jF*Gd<0QtN z-R7xyE(mDIy5{mRaIv0qc4>>fMrpode`voBr{|YtLK)ITl17 z-A?D0rAfAz6NVB;Mi_=M-g46sXFi?wQf!K>{3>h3gfS4rE!}~cKi@e=MtOxNB-u+b z^FFqOGhNcLW6K|Nf6ITao6np5u7Npe2o)QZ1ciBX@gOl^&kKp7A3etxw}2HOl%&(? z(5;UmaZl1>K~2nBHV93wc{@O3igfjEg%R03ITw$iVQVRYi5x#zofb7req%fg;tCSt zlRJB`*+<_IDrG8{VJaxU|BK)aZo0O^7Pi@P$f7 z%%Vak88xljS=z8dXG6~gJ~@5KRMbZ&Y=&g<9a5j_(&Y_n(w9I2L;IR!S|`C1Bbuqv z?q2FmR;d3WMo7O{ycY|S`>d+8#U(4v3VU8b+i@>7RWshzs9P7M3ZYt{$gKxLW5x2L ze!QF6c$G>zqbJQz6m5r@P=Fo&>3q*O#hv3l7^V`@V#H|sff<%kVYcZ8@3GY{!pXvE z78ph6;n3w$y0Bw$1BLGg_J6RFm8-Hgi+hb8&y=AM)~8CZ_0Hzh@(^F-RpwPp83r$k zjC#*(+MHNx|E17UlHZGlSk9Eqr{{4LX0|egTBAHW=*il0o~Z+%d&qhXqk$`4r+Hu(nEL!cq%L!Ln6O7R*p1pZ-% zeNVttO~PY=+x!IrDA3HosF*cL-qd7D-q=XHl0r=Jx>|B0yGMA5*6fj_biHyX7`h+b zOY|rp+x^9+A!i*}+_%-q$BoXDhsMH5`jCvSQ47GAG|M{eULf-3v+R>C9utHUg+}ky zH+L=PIL18z?J?=v?nNFaCQJE!v|6WhD~_+37d+?QeoOMeBmNzttBAhXJ0*SbOob-5 z)f{Y9f{dVH|1FQ$6lDJyoLT`N`l1Y9MSeK&JsmC&m`rsizT!pT936~8pV3RswvG#}p&JqsAY`5y%&G9Or zzugS|k!hi)eYAjONix;;WoOMZ6!OA5nJbA}#NvtJN!ukjVPnbpS$ka5n|JYU4&AS< zw1bh>k(d_ zZeE`MbQkE>*KpYoB=0^qB(5kY5cz5yV1#KwMQCp=5MX?){aBmzwT@v{g57J;-s>QC z$vA1nbl|Z~O~cyLoD(RoMnTRUxe_owhyG@sb7C4MyJ{|PWDuaf|DAR$$|p2Yzi0To zn+WT6imHvcc~WnExF8o5I3S>tkon4+2`~&)Yv9(pF%QyhV8b|r&9K4!BOz(i!6)|d zZFtt=g~@HP)6_`gfs{QBwJ=JdggjHDco6bdg>aG@o15y?#%GpjS5@TWdW!EKc*Uai zHnrvN*0wtG%>jv!c7!luDvDsPGYcuP^^cwMUs@|ZSEfXrGJDk(f-2n=cKDGs^;T|8 z(m?c+EY5!Q;#xl#net2FTz)XsUhZ?NuXym*=PNaek|{hBi=Oi*7Hy)hI-X8u0~y&L zSO+3CHm`g^&+A{nDen{-Xyb(K@#eu4v}zZ9r7u=ys7ni%r8`Ks==82rBr-ynE;n}E z=1RBeyLcRS`et^G=RxJWCWOeaA3Kq4lQE=M+{zNCJl(s37a>n1Mk+6J-}vmkdxI2<_Q=!9!2$j)DN*RfX@FW1na+{Fs2?75n*%?gA z5=ID;<4gx>ejUNk6`9VrD326>9V+3i>!mZ>1a>Ccg@R5G$&T1=`8d#g)eW7tC6HT% zvB!mRh)lyGMve5G48o0lNz5V2WNxP8r|-gs<9+)q4$b!>9C8G5b`Vz~Yq`%KrhATu zb<;g|i3)D5Ix!3uuP&3)R>Qz#!1}wC5Oj0EpMxB*FZ*--Q)YWJ*L_;@$<=-FV_tfCuasA$L{>rs`^Jo8_>;L-Ce@FAX w+5Jj0PyQ#GU#;)oG5s#^UzyZy|B2~0x&Iv%4(?AW;ody%H_pxWQyYN)0VK;8OaK4? literal 0 HcmV?d00001 diff --git a/examples/installation/single_account_deployment/variables.tf b/examples/installation/single_account_deployment/variables.tf index 17d1e7ab1..df4b6e158 100644 --- a/examples/installation/single_account_deployment/variables.tf +++ b/examples/installation/single_account_deployment/variables.tf @@ -146,11 +146,11 @@ variable "gw_skip_instance_health_verification" { } variable "terraform_script_path_folder" { - type = string + type = string description = "Terraform script path folder to create terraform temporary script files on the DSF hub and DSF agentless GW instances. Use '.' to represent the instance home directory" - default = null + default = null validation { - condition = var.terraform_script_path_folder != "" + condition = var.terraform_script_path_folder != "" error_message = "Terraform script path folder can not be an empty string" } } \ No newline at end of file diff --git a/examples/poc/basic_deployment/basic_deployment.zip b/examples/poc/basic_deployment/basic_deployment.zip index 0b36f8c281178a9f8357fa467c605c17ddef56a3..bedff9e3778009a1336b7eca083aee32489846e9 100644 GIT binary patch delta 4416 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 I{pSPz5BY2_4FCWD delta 4075 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 ye>yqf&R_uO2pN val } - source = "imperva/dsf-federation/null" - version = "1.3.6" # latest release tag + source = "imperva/dsf-federation/null" + version = "1.3.7" # latest release tag gw_info = { gw_ip_address = each.value.private_ip gw_private_ssh_key_path = module.key_pair.key_pair_private_pem.filename @@ -143,7 +143,7 @@ module "federation" { module "rds_mysql" { count = contains(var.db_types_to_onboard, "RDS MySQL") ? 1 : 0 source = "imperva/dsf-poc-db-onboarder/aws//modules/rds-mysql-db" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag rds_subnet_ids = module.vpc.public_subnets security_group_ingress_cidrs = local.workstation_cidr } @@ -152,7 +152,7 @@ module "rds_mysql" { module "rds_mssql" { count = contains(var.db_types_to_onboard, "RDS MsSQL") ? 1 : 0 source = "imperva/dsf-poc-db-onboarder/aws//modules/rds-mssql-db" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag rds_subnet_ids = module.vpc.public_subnets security_group_ingress_cidrs = local.workstation_cidr @@ -165,7 +165,7 @@ module "rds_mssql" { module "db_onboarding" { for_each = { for idx, val in concat(module.rds_mysql, module.rds_mssql) : idx => val } source = "imperva/dsf-poc-db-onboarder/aws" - version = "1.3.6" # latest release tag + version = "1.3.7" # latest release tag sonar_version = module.globals.tarball_location.version hub_info = { hub_ip_address = module.hub.public_ip diff --git a/examples/poc/hadr_deployment/hadr_deployment.zip b/examples/poc/hadr_deployment/hadr_deployment.zip index 9a78b900fb6a1b2ea93e195efe05987b5bc4253e..46b79525decbcb72ae6ae8d077f43cfaa18c631a 100644 GIT binary patch delta 4784 zcmZ`-byO5g_g+|7VCh_9k#6Y_B$tqs?vSNRN*aWvW06>vSm`e54gpa@8bLr>8WAN# zLO_4|o}b@$-ao!MXXebAx%1rlj6sSx{+`$XfCM1`Ko5YTc_|nX1OVXwTiN*q5(2PrJ^=v$oRHrbJsGf+B_Xny zqZ=^a(p+TAtD=y~RDGjrL!*PTtm?SAQIQYf?a6t;wjc0!`W6V-B@=qcc)v%+pIi@# zh6!?`%Q%(DW5hWbI7Ryb$BrrY%%6)X#*r&Zvl1zJe`hReor#}qA4WW(^G={pNrE@` z(pF@1DepN)6iq8(fo>Xzgt!Qs?tuIrtmPvARTK z&M=0rleAtODq6$TiyJq5_hD0`0_Z1dxFe111PnvI8CKQCkv7E+--Y5w)gv|ivhW)Q z`7+p*XR>J*#l?*F;}FK4S6N%0CvRL%xP)%4s(WtAnWO408v?Z#Js#=5OE2ku^GTu4 zEZN|--#6Tad#O$KZEdfc`mrA(imtzG%E|JzJ4*4TI6SV}^l_6C*X%c$hYY@XI7r`L z<{flk?YYG2s?$k3S1?#fo0LvzxJ-3fyf|er8+>$N5#?ec$8UmgAwUKv;N!LH%0OCl$YjpZjADn>1a)9v+$mo_mO4p z$?6~J)*Bmj`B)vbr#gBNGYpiPF{6~%1$v8Rvc+t*&A32vx{_711yw=M>9t$(_s|;p za2w+8y}p1@gNt8b>Xuz&vxBWh^Z~)698x#r7y)4ix(#g3NNO=$OZRga93RK>t@WP> zrurRw_-CxBBCvD3u#RcKK1ry<( zJ18~!uTw-7ax6LWY0|4NdINu5tm;vH7wCRC@3%^{t+L&7^7V2B^@JClhu_J5XPGZW z<{3W0719A!o?V+k$2@QoqEyTdN2QPo1w#>xswFKG0$1kj!nz^Pv%SmD4riilXb8&j zNh;J8jF?rbsf`4kwU3Hg+$kK%xz_G$WZrE$HB1``r@Y1rYkb(b(il`}EUGD``bD98 zOTXxeYRIR)W5n58Q3~OS4A2&`00nW$So+wZ7*Z9A zkwr{fYP4x=&#!ZxMroM6O5xOCnH?XaqD&#>b9`7W|hu1Df`!Lo$ zXXTjSo3O*x)foAe)vFA7p#=_i5wlb`Hc!_uodS2mo|i z_*2^jk^gCp0w?p`hWD?cu+WG-Ql(ucEI#^td=VZLuYo1~3>&xwYpR3@2?y${4U04N zvlo(w1IgUFKyN=ZN3qO_Y&lEZ?Ly3-#x@q`D7zR|BF$=Kn2gw-@={`wM8>?cV`cA&p2r6ZoUO~E$vr4=sEl4(k8$5G7JF>bdIc~Y#Pbb z2t4{S(R#ujO|O7WhIH-&k-iuwlKF@@cBblbyz29rDxM#v$7q4>`a8dOS$uM%I# zcoSeb^UL5g(jhyNmV}R-;5t06mR@e#=_AA`iLQMX&6^f+F;9wgu!*vMslz`Ay+!P) z({tHKD{>$|O1W7t?kEX>-rUeAsi+aiIDvWSe&V$VVmtq$eby-c_y@j8^V)2yR#S^} z^b;+@w7Xx;tr1qzU4)m!Cwo{$&30{Th`IQVH6Y5YQgAbMUB1_)`rdHRg0CERXTu!o zlN-#$fKvy)s1B7Tbu{s6`_V?<;L#Ao-l8>P(4t?~9g+nLh>RdaUq@M_21T+Hpn{nR za(ls9%Ul943+P^2LXrKzO9f7Iqz~NBJQTEB=Ry7%@vCArnROU?6mTbi5(&woDLHT` zUDz{97U468dJHwCPdwx|=t9>P)os^uA8yt1*6k=c2~ABVP3F>$CjQJdJ(*t7q!qIg z`zqlrUT*0@UXH@|)Sy~O&9k<4Um9-vGH>`q? z^|O4x4uyQLPf84OLiLrJ?8x@_{#vCOe@MvM_suF)`@QVFCTk+@*TlljVYngRQk8DY zp_7s^ukmJT_S-&MICbP5X5(ZjQN~LMrR5Y5eQu<_6lJ}|S!a+uk$5NA`|#MMtQIoa zXZYnH?uq12q~Ewyp%?lz^lPqGw9$P6gwx*rJh+AE{pyz#Z51JVP_;XT2W!f<^Ot1% z&#p77B3qt>d!`vrevVBa>9BOnqbkpRrF?LQH<$M<+-=aj1}BTZ>B*>z0C06CSBE-% zIuwZsaGk0Ezh2sa_DSk-P4=Nu5j`7*ECSc_#34aqa_`l4I zE(Z($EiTb(;B=BdY`x|v(SrB8cwEIrhZC~@FSbrHT=rOzAPe0y(OMvFim)2>pXC(a z#7=J42D8`Z5TDx8x@kbwm3j17s#dvmu2RqUPB|F$A+hId+Qj zayLToKW0KUF~yY->!;dR|cR%pO~sMGvuNz6Rg}kK)!#zS`4QAaJIRV6gujc$ zf)~e#ERlO!u9GF3NU3e$>M~|iT;^4qQ*cscfO5?g_k={22wt#WC_7rLx9_*DJ)TgI zPKdEe?BospV8UBpiF*;B6D^F9pL+a*5BS51PMY|N;yv(Km`_w${5drgp4K^HPk?B1 zW9@nE?0(L^ZpQsIARvptBt|D?9w}7Eyp##@=XhI19crOOQd3#$>F*oXjIn`envP=< zm+h6|cEDB^Yxdxx77Ile>|Y8a8tv72*M%k`CCrO1r5o~+g~Wo&6|y%Hbr%EYh^p91 zOz5JNr|b8Gm0a+&Gg(B@KDU!l9)ecfLt>J6NXJ{cNZL1rf2v|81zJ%aJPXs_5+{CB zBM~}5k{@c#RD*)izpkcB^J%tFm>z*3YP>z74TEkXX>jX*|f|(NYG-J?S~q{-DRIC*#MbG zs$yI*@KoJ-aH}h(rIVdl^Wzr&t2%SgWjDZ1Jd0XeuZ>yTG*=^VR%8{$Bc5n~CPwea zAXLKsE@-%AL*plPW!5K|Vt$ zyhy0?(r0#@r?~f&_2;0-Z$0-wJ;JoZq2Y?cNx3}7xM~il@I3ZmsjS?CB5neYLrIYw zsBX7rli1VdyFrqr{z2DlH``zZ>4r9-$pT0WMXkAEE@VrK$;^1#2Q805a2PUf1x zc~amJAH%b<%EdHuJR!Hj#pP9isQEoLz8Fyg%LU3xwX}ZBm=)$QOq{{{z#=yQh?u92 z%nG|>7d>8g*Q<0yWA39vF?X>MLp~0D8C_klkw*RToOt2>@$SK?d( z%s-W@=tQ3q<&zK_{YtvLadKlq40R?@&ra7RAd4UUW~hR;=7cps(>EfDYVAtWr&Cu> z(9O-lM=nRtDBIUc+(0YUY=fQp@%+{4Jz^D~F5-JCQ{{nImeRG*ipTS|ozHtFo9d@# zmLx*t{N0~_lOQz{ql#lgh_gPwfO!9$2%kNwUk^`tJU%IluH9v%L9TQtinz&@;Nxuh zh=u*2@N|Uc4{azI9ox@Kuq@qBdTiMKv~yj&(;0M5)MHATZx`2@V>j}ar#U*&Js47m zTsL(YK9Mb6k=c#?C3p4%3t4pkE0fs+pE~pAZdbQjOQZJ5JNcp62&iBeCOa^8@O>sn zls3TvoS=c*ID*enupebzNn1Ve8BYd zQuSU=*Xu+EtvA-HE@9^}#mb2*ac{PbcQj~_XAfuByAJMUwI6%q+N6i&Au5h-foGfcvO-}1O^?sV>2k9^k1iJ`0s^I>5Z{ zTM72#r8OO0O)Ts?!2hT>#(z|tzl{t%K+gF`ra^xphyKI0|5b9(5DL-1TP*+nGy?z- z0PQ~*Sii^82x1@rO#-9`;r=7}{J{eLK7byfV8Cic?@+M)g<<+Pn*#uJ|AL7|KcHm! iYx|GO|2|v*0Q6tBYa{^l2{F@Om*bSoASTK`SNcDho3^e1 literal 5106 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 val } - source = "imperva/dsf-poc-db-onboarder/aws" - version = "1.3.6" # latest release tag + for_each = { for idx, val in concat(module.rds_mysql, module.rds_mssql) : idx => val } + source = "imperva/dsf-poc-db-onboarder/aws" + version = "1.3.7" # latest release tag sonar_version = module.globals.tarball_location.version hub_info = { hub_ip_address = module.hub.public_ip diff --git a/installer_machine/prepare_installer.tpl b/installer_machine/prepare_installer.tpl index 9dba151ad..811e7443e 100644 --- a/installer_machine/prepare_installer.tpl +++ b/installer_machine/prepare_installer.tpl @@ -20,7 +20,7 @@ yum -y install wget pwd -wget https://github.com/imperva/dsfkit/raw/1.3.5/examples/${example_type}/${example_name}/${example_name}.zip +wget https://github.com/imperva/dsfkit/raw/1.3.7/examples/${example_type}/${example_name}/${example_name}.zip unzip ${example_name}.zip cd ${example_name} diff --git a/modules/aws/agentless-gw/README.md b/modules/aws/agentless-gw/README.md index 33343d004..132dd8d99 100644 --- a/modules/aws/agentless-gw/README.md +++ b/modules/aws/agentless-gw/README.md @@ -114,4 +114,4 @@ SSH access is required to provision this module. To SSH into the Agentless Gatew ## Additional Information For more information about the Agentless Gateway and its features, refer to the official documentation [here](https://docs.imperva.com/bundle/v4.10-sonar-user-guide/page/81265.htm). -For additional information about DSF deployment using terraform, refer to the main repo README [here](https://github.com/imperva/dsfkit/tree/1.3.6). \ No newline at end of file +For additional information about DSF deployment using terraform, refer to the main repo README [here](https://github.com/imperva/dsfkit/tree/1.3.7). \ No newline at end of file diff --git a/modules/aws/agentless-gw/main.tf b/modules/aws/agentless-gw/main.tf index 05dfbab34..895f10d3e 100644 --- a/modules/aws/agentless-gw/main.tf +++ b/modules/aws/agentless-gw/main.tf @@ -24,13 +24,13 @@ module "gw_instance" { binaries_location = var.binaries_location hub_sonarw_public_key = var.hub_sonarw_public_key # hadr_secondary_node = var.hadr_secondary_node - sonarw_public_key = var.sonarw_public_key - sonarw_private_key = var.sonarw_private_key + sonarw_public_key = var.sonarw_public_key + sonarw_private_key = var.sonarw_private_key proxy_info = { proxy_address = var.ingress_communication_via_proxy.proxy_address proxy_ssh_key_path = var.ingress_communication_via_proxy.proxy_private_ssh_key_path proxy_ssh_user = var.ingress_communication_via_proxy.proxy_ssh_user } skip_instance_health_verification = var.skip_instance_health_verification - terraform_script_path_folder = var.terraform_script_path_folder + terraform_script_path_folder = var.terraform_script_path_folder } diff --git a/modules/aws/agentless-gw/variables.tf b/modules/aws/agentless-gw/variables.tf index 2eaa79c53..41d499754 100644 --- a/modules/aws/agentless-gw/variables.tf +++ b/modules/aws/agentless-gw/variables.tf @@ -170,11 +170,11 @@ variable "skip_instance_health_verification" { } variable "terraform_script_path_folder" { - type = string + type = string description = "Terraform script path folder to create terraform temporary script files on the DSF agentless GW instance. Use '.' to represent the instance home directory" - default = null + default = null validation { - condition = var.terraform_script_path_folder != "" + condition = var.terraform_script_path_folder != "" error_message = "Terraform script path folder can not be an empty string" } } \ No newline at end of file diff --git a/modules/aws/hub/README.md b/modules/aws/hub/README.md index 156d0eb44..72a0b43dc 100644 --- a/modules/aws/hub/README.md +++ b/modules/aws/hub/README.md @@ -115,4 +115,4 @@ SSH access is required to provision this module. To SSH into the DSF Hub instanc ## Additional Information For more information about the DSF Hub and its features, refer to the official documentation [here](https://docs.imperva.com/bundle/v4.10-sonar-user-guide/page/81265.htm). -For additional information about DSF deployment using terraform, refer to the main repo README [here](https://github.com/imperva/dsfkit/tree/1.3.6). \ No newline at end of file +For additional information about DSF deployment using terraform, refer to the main repo README [here](https://github.com/imperva/dsfkit/tree/1.3.7). \ No newline at end of file diff --git a/modules/aws/hub/main.tf b/modules/aws/hub/main.tf index 0aed50066..5bdfa1fcb 100644 --- a/modules/aws/hub/main.tf +++ b/modules/aws/hub/main.tf @@ -30,5 +30,5 @@ module "hub_instance" { proxy_ssh_user = var.ingress_communication_via_proxy.proxy_ssh_user } skip_instance_health_verification = var.skip_instance_health_verification - terraform_script_path_folder = var.terraform_script_path_folder + terraform_script_path_folder = var.terraform_script_path_folder } \ No newline at end of file diff --git a/modules/aws/hub/variables.tf b/modules/aws/hub/variables.tf index 0ab495cde..4d56ae990 100644 --- a/modules/aws/hub/variables.tf +++ b/modules/aws/hub/variables.tf @@ -171,11 +171,11 @@ variable "skip_instance_health_verification" { } variable "terraform_script_path_folder" { - type = string + type = string description = "Terraform script path folder to create terraform temporary script files on the DSF hub instance. Use '.' to represent the instance home directory" - default = null + default = null validation { - condition = var.terraform_script_path_folder != "" + condition = var.terraform_script_path_folder != "" error_message = "Terraform script path folder can not be an empty string" } } \ No newline at end of file diff --git a/modules/aws/poc-db-onboarder/main.tf b/modules/aws/poc-db-onboarder/main.tf index a13b89981..90fc6fdcc 100644 --- a/modules/aws/poc-db-onboarder/main.tf +++ b/modules/aws/poc-db-onboarder/main.tf @@ -2,7 +2,7 @@ locals { bastion_host = var.hub_proxy_info.proxy_address bastion_private_key = try(file(var.hub_proxy_info.proxy_private_ssh_key_path), "") bastion_user = var.hub_proxy_info.proxy_ssh_user - script_path = var.terraform_script_path_folder == null ? null : (join("/", [var.terraform_script_path_folder, "terraform_%RAND%.sh"])) + script_path = var.terraform_script_path_folder == null ? null : (join("/", [var.terraform_script_path_folder, "terraform_%RAND%.sh"])) db_policy_by_engine_map = { "mysql" : local.mysql_policy, diff --git a/modules/aws/poc-db-onboarder/variables.tf b/modules/aws/poc-db-onboarder/variables.tf index 4dfe4c6ea..2d61bed52 100644 --- a/modules/aws/poc-db-onboarder/variables.tf +++ b/modules/aws/poc-db-onboarder/variables.tf @@ -71,11 +71,11 @@ variable "database_details" { } variable "terraform_script_path_folder" { - type = string + type = string description = "Terraform script path folder to create terraform temporary script files on a private DSF node. Use '.' to represent the instance home directory" - default = null + default = null validation { - condition = var.terraform_script_path_folder != "" + condition = var.terraform_script_path_folder != "" error_message = "Terraform script path folder can not be an empty string" } } diff --git a/modules/aws/rds-mssql-db/README.md b/modules/aws/rds-mssql-db/README.md index 98678b4b2..f4e4d0488 100644 --- a/modules/aws/rds-mssql-db/README.md +++ b/modules/aws/rds-mssql-db/README.md @@ -80,4 +80,4 @@ module "dsf_rds_mssql" { ## Additional Information -For additional information about DSF deployment using terraform, refer to the main repo README [here](https://github.com/imperva/dsfkit/tree/1.3.6). \ No newline at end of file +For additional information about DSF deployment using terraform, refer to the main repo README [here](https://github.com/imperva/dsfkit/tree/1.3.7). \ No newline at end of file diff --git a/modules/aws/sonar-base-instance/secret.tf b/modules/aws/sonar-base-instance/secret.tf index cbf51d825..59c57ce4a 100644 --- a/modules/aws/sonar-base-instance/secret.tf +++ b/modules/aws/sonar-base-instance/secret.tf @@ -24,10 +24,10 @@ resource "tls_private_key" "sonarw_private_key" { locals { primary_node_sonarw_public_key = !var.hadr_secondary_node ? "${chomp(tls_private_key.sonarw_private_key.public_key_openssh)} produced-by-terraform" : var.sonarw_public_key primary_node_sonarw_private_key = !var.hadr_secondary_node ? chomp(tls_private_key.sonarw_private_key.private_key_pem) : var.sonarw_private_key - sonarw_secret_aws_arn = aws_secretsmanager_secret.sonarw_private_key_secret.arn - sonarw_secret_aws_name = aws_secretsmanager_secret.sonarw_private_key_secret.name + sonarw_secret_aws_arn = aws_secretsmanager_secret.sonarw_private_key_secret.arn + sonarw_secret_aws_name = aws_secretsmanager_secret.sonarw_private_key_secret.name - password_secret_aws_arn = aws_secretsmanager_secret.password_secret.arn + password_secret_aws_arn = aws_secretsmanager_secret.password_secret.arn } # generates a unique secret name with given prefix, e.g., imperva-dsf-8f17-hub-primary-sonarw-private-key20230205153150069800000003 diff --git a/modules/aws/sonar-base-instance/variables.tf b/modules/aws/sonar-base-instance/variables.tf index a2e461471..3060dcb02 100644 --- a/modules/aws/sonar-base-instance/variables.tf +++ b/modules/aws/sonar-base-instance/variables.tf @@ -162,11 +162,11 @@ variable "skip_instance_health_verification" { } variable "terraform_script_path_folder" { - type = string + type = string description = "Terraform script path folder to create terraform temporary script files on a sonar base instance. Use '.' to represent the instance home directory" - default = null + default = null validation { - condition = var.terraform_script_path_folder != "" + condition = var.terraform_script_path_folder != "" error_message = "Terraform script path folder can not be an empty string" } } diff --git a/modules/null/federation/main.tf b/modules/null/federation/main.tf index 9027efc91..0ee94f8ab 100644 --- a/modules/null/federation/main.tf +++ b/modules/null/federation/main.tf @@ -5,10 +5,10 @@ locals { lock_shell_cmds = file("${path.module}/grab_lock.sh") federate_hub_cmds = templatefile("${path.module}/federate_hub.tpl", { - ssh_key_path = var.hub_info.hub_private_ssh_key_path - dsf_gw_ip = var.gw_info.gw_ip_address - dsf_hub_ip = var.hub_info.hub_ip_address - hub_ssh_user = var.hub_info.hub_ssh_user + ssh_key_path = var.hub_info.hub_private_ssh_key_path + dsf_gw_ip = var.gw_info.gw_ip_address + dsf_hub_ip = var.hub_info.hub_ip_address + hub_ssh_user = var.hub_info.hub_ssh_user hub_proxy_address = var.hub_proxy_info.proxy_address != null ? var.hub_proxy_info.proxy_address : "" hub_proxy_private_ssh_key_path = var.hub_proxy_info.proxy_private_ssh_key_path != null ? var.hub_proxy_info.proxy_private_ssh_key_path : "" hub_proxy_ssh_user = var.hub_proxy_info.proxy_ssh_user != null ? var.hub_proxy_info.proxy_ssh_user : "" diff --git a/modules/null/hadr/variables.tf b/modules/null/hadr/variables.tf index 5bf0db50f..d2b58fb6e 100644 --- a/modules/null/hadr/variables.tf +++ b/modules/null/hadr/variables.tf @@ -53,7 +53,7 @@ variable "proxy_info" { proxy_ssh_user = string }) description = "Proxy address, private key file path and user used for ssh to a private DSF node. Keep empty if a proxy is not used." - default = { + default = { proxy_address = null proxy_private_ssh_key_path = null proxy_ssh_user = null @@ -61,11 +61,11 @@ variable "proxy_info" { } variable "terraform_script_path_folder" { - type = string + type = string description = "Terraform script path folder to create terraform temporary script files on a private DSF node. Use '.' to represent the instance home directory" - default = null + default = null validation { - condition = var.terraform_script_path_folder != "" + condition = var.terraform_script_path_folder != "" error_message = "Terraform script path folder can not be an empty string" } }