From fff1aa9da3e8b20aefabbe3a071e3f0d399e2b00 Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 10:56:27 -0400 Subject: [PATCH 01/20] Update Makefile, Makefile, Makefile, and 3 more files --- .../Makefile | 2 ++ .../Makefile | 2 ++ .../BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile | 2 ++ .../Makefile | 2 ++ .../Makefile | 2 ++ .../BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile | 2 ++ 6 files changed, 12 insertions(+) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile index 390662d..d079fc8 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile @@ -1,4 +1,6 @@ SHELL := /bin/bash +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR aws: install all diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile index 390662d..d079fc8 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,4 +1,6 @@ SHELL := /bin/bash +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR aws: install all diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile index 390662d..d079fc8 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile @@ -1,4 +1,6 @@ SHELL := /bin/bash +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR aws: install all diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile index 390662d..d079fc8 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile @@ -1,4 +1,6 @@ SHELL := /bin/bash +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR aws: install all diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile index 390662d..d079fc8 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,4 +1,6 @@ SHELL := /bin/bash +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR aws: install all diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile index 390662d..d079fc8 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile @@ -1,4 +1,6 @@ SHELL := /bin/bash +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR aws: install all From f811862cc6a2cc3749e421995c461e5029636be8 Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 11:00:09 -0400 Subject: [PATCH 02/20] Update cloud-init.yml, cloud-init.yml, cloud-init.yml, and 3 more files --- .../cloud-init.yml | 4 +++- .../cloud-init.yml | 4 +++- .../BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/cloud-init.yml | 4 +++- .../cloud-init.yml | 4 +++- .../cloud-init.yml | 4 +++- .../BPS-on-AWS-1-Virtual-Blade-Add-On/cloud-init.yml | 4 +++- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml index 4264998..dd026b4 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml @@ -20,4 +20,6 @@ write_files: defer: true runcmd: - chmod 755 /home/${UserName}/.ssh - - chown ${UserName}:${UserName} /home/${UserName}/.ssh \ No newline at end of file + - chown ${UserName}:${UserName} /home/${UserName}/.ssh +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml index 4264998..dd026b4 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml @@ -20,4 +20,6 @@ write_files: defer: true runcmd: - chmod 755 /home/${UserName}/.ssh - - chown ${UserName}:${UserName} /home/${UserName}/.ssh \ No newline at end of file + - chown ${UserName}:${UserName} /home/${UserName}/.ssh +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/cloud-init.yml b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/cloud-init.yml index 4264998..dd026b4 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/cloud-init.yml +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/cloud-init.yml @@ -20,4 +20,6 @@ write_files: defer: true runcmd: - chmod 755 /home/${UserName}/.ssh - - chown ${UserName}:${UserName} /home/${UserName}/.ssh \ No newline at end of file + - chown ${UserName}:${UserName} /home/${UserName}/.ssh +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml index 4264998..dd026b4 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/cloud-init.yml @@ -20,4 +20,6 @@ write_files: defer: true runcmd: - chmod 755 /home/${UserName}/.ssh - - chown ${UserName}:${UserName} /home/${UserName}/.ssh \ No newline at end of file + - chown ${UserName}:${UserName} /home/${UserName}/.ssh +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml index 4264998..dd026b4 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/cloud-init.yml @@ -20,4 +20,6 @@ write_files: defer: true runcmd: - chmod 755 /home/${UserName}/.ssh - - chown ${UserName}:${UserName} /home/${UserName}/.ssh \ No newline at end of file + - chown ${UserName}:${UserName} /home/${UserName}/.ssh +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/cloud-init.yml b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/cloud-init.yml index 4264998..dd026b4 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/cloud-init.yml +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/cloud-init.yml @@ -20,4 +20,6 @@ write_files: defer: true runcmd: - chmod 755 /home/${UserName}/.ssh - - chown ${UserName}:${UserName} /home/${UserName}/.ssh \ No newline at end of file + - chown ${UserName}:${UserName} /home/${UserName}/.ssh +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" From 6444feb77a05f53f8f67b2426a0d1fc49b569b90 Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 11:01:39 -0400 Subject: [PATCH 03/20] Update locals.tf, locals.tf, locals.tf, and 3 more files --- .../locals.tf | 2 +- .../locals.tf | 2 +- .../BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/locals.tf | 2 +- .../locals.tf | 2 +- .../locals.tf | 2 +- .../BPS-on-AWS-1-Virtual-Blade-Add-On/locals.tf | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf index cda6265..80dfeb4 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf @@ -20,7 +20,7 @@ locals { Preamble = "${local.UserLoginTag}-${local.UserProjectTag}-${local.AppTag}" PrivateSubnetAvailabilityZone = var.PrivateSubnetAvailabilityZone PublicSubnetAvailabilityZone = var.PublicSubnetAvailabilityZone - Region = data.aws_region.current.id + Region = data.aws_region.current.region SshKeyAlgorithm = "RSA" SshKeyName = "${local.Preamble}-ssh-key" SshKeyRsaBits = "4096" diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf index af0cfea..98b11f0 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf @@ -20,7 +20,7 @@ locals { Private1SubnetAvailabilityZone = var.Private1SubnetAvailabilityZone Private2SubnetAvailabilityZone = var.Private2SubnetAvailabilityZone PublicSubnetAvailabilityZone = var.PublicSubnetAvailabilityZone - Region = data.aws_region.current.id + Region = data.aws_region.current.region SshKeyAlgorithm = "RSA" SshKeyName = "${local.Preamble}-ssh-key" SshKeyRsaBits = "4096" diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/locals.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/locals.tf index 8f173b3..7416d65 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/locals.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/locals.tf @@ -21,7 +21,7 @@ locals { PrivateSubnetName = var.PrivateSubnetName PublicSecurityGroupName = var.PublicSecurityGroupName PublicSubnetName = var.PublicSubnetName - Region = data.aws_region.current.id + Region = data.aws_region.current.region SshKeyAlgorithm = "RSA" SshKeyName = "${local.Preamble}-ssh-key" SshKeyRsaBits = "4096" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf index fcff602..4cddc9f 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/locals.tf @@ -19,7 +19,7 @@ locals { Preamble = "${local.UserLoginTag}-${local.UserProjectTag}-${local.AppTag}" PrivateSubnetAvailabilityZone = var.PrivateSubnetAvailabilityZone PublicSubnetAvailabilityZone = var.PublicSubnetAvailabilityZone - Region = data.aws_region.current.id + Region = data.aws_region.current.region SshKeyAlgorithm = "RSA" SshKeyName = "${local.Preamble}-ssh-key" SshKeyRsaBits = "4096" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf index f99de8a..bfe5030 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/locals.tf @@ -19,7 +19,7 @@ locals { Private1SubnetAvailabilityZone = var.Private1SubnetAvailabilityZone Private2SubnetAvailabilityZone = var.Private2SubnetAvailabilityZone PublicSubnetAvailabilityZone = var.PublicSubnetAvailabilityZone - Region = data.aws_region.current.id + Region = data.aws_region.current.region SshKeyAlgorithm = "RSA" SshKeyName = "${local.Preamble}-ssh-key" SshKeyRsaBits = "4096" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/locals.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/locals.tf index 406aa12..1d644ed 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/locals.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/locals.tf @@ -20,7 +20,7 @@ locals { PrivateSubnetName = var.PrivateSubnetName PublicSecurityGroupName = var.PublicSecurityGroupName PublicSubnetName = var.PublicSubnetName - Region = data.aws_region.current.id + Region = data.aws_region.current.region SshKeyAlgorithm = "RSA" SshKeyName = "${local.Preamble}-ssh-key" SshKeyRsaBits = "4096" From e15b7e8f61662352823b7e749f93225038fce16c Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 11:02:23 -0400 Subject: [PATCH 04/20] Update main.tf, main.tf, main.tf, and 3 more files --- .../main.tf | 4 ++-- .../main.tf | 4 ++-- .../BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/main.tf | 4 ++-- .../main.tf | 2 +- .../main.tf | 2 +- .../BPS-on-AWS-1-Virtual-Blade-Add-On/main.tf | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf index 9b69ee7..390c804 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-app.git?ref=26.1.0" Eth0SecurityGroupId = module.Vpc.PublicSecurityGroup.id Eth0SubnetId = module.Vpc.PublicSubnet.id InstanceType = local.AppInstanceType @@ -13,7 +13,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" Eth0SecurityGroupId = module.Vpc.PublicSecurityGroup.id Eth0SubnetId = module.Vpc.PublicSubnet.id Eth1SecurityGroupId = module.Vpc.PrivateSecurityGroup.id diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf index c75de00..c4f72f6 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-app.git?ref=26.1.0" Eth0SecurityGroupId = module.Vpc.PublicSecurityGroup.id Eth0SubnetId = module.Vpc.PublicSubnet.id InstanceType = local.AppInstanceType @@ -13,7 +13,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" Eth0SecurityGroupId = module.Vpc.PublicSecurityGroup.id Eth0SubnetId = module.Vpc.PublicSubnet.id Eth1SecurityGroupId = module.Vpc.PrivateSecurityGroup.id diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/main.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/main.tf index 3ace56a..ba4863c 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/main.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-app.git?ref=26.1.0" Eth0SecurityGroupId = data.aws_security_group.PublicSecurityGroup.id Eth0SubnetId = data.aws_subnet.PublicSubnet.id InstanceType = local.AppInstanceType @@ -10,7 +10,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" Eth0SecurityGroupId = data.aws_security_group.PublicSecurityGroup.id Eth0SubnetId = data.aws_subnet.PublicSubnet.id Eth1SecurityGroupId = data.aws_security_group.PrivateSecurityGroup.id diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf index 28c7569..6d6e4d9 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/main.tf @@ -1,5 +1,5 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" Eth0SecurityGroupId = module.Vpc.PublicSecurityGroup.id Eth0SubnetId = module.Vpc.PublicSubnet.id Eth1SecurityGroupId = module.Vpc.PrivateSecurityGroup.id diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf index 97dd8d6..b0bc349 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/main.tf @@ -1,5 +1,5 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" Eth0SecurityGroupId = module.Vpc.PublicSecurityGroup.id Eth0SubnetId = module.Vpc.PublicSubnet.id Eth1SecurityGroupId = module.Vpc.PrivateSecurityGroup.id diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/main.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/main.tf index 57a5190..7e055aa 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/main.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/main.tf @@ -1,5 +1,5 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" Eth0SecurityGroupId = data.aws_security_group.PublicSecurityGroup.id Eth0SubnetId = data.aws_subnet.PublicSubnet.id Eth1SecurityGroupId = data.aws_security_group.PrivateSecurityGroup.id From 05df5c2f03e1556f8b10438b230ec5e9dc251809 Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 11:03:25 -0400 Subject: [PATCH 05/20] Update terraform.optional.auto.tfvars, terraform.optional.auto.tfvars, terraform.optional.auto.tfvars, and 3 more files --- .../terraform.optional.auto.tfvars | 2 +- .../terraform.optional.auto.tfvars | 2 +- .../terraform.optional.auto.tfvars | 2 +- .../terraform.optional.auto.tfvars | 2 +- .../terraform.optional.auto.tfvars | 2 +- .../terraform.optional.auto.tfvars | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars index 83366ef..6c7793e 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars @@ -1,4 +1,4 @@ -# AgentInstanceType = "c6in.xlarge" +# AgentInstanceType = "c5n.xlarge" # ApiMaxRetries = 1 # AppInstanceType = "c5.xlarge" # InboundIPv4CidrBlocks = [ "0.0.0.0/0" ] diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars index 874e81c..cdb06ca 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars @@ -1,4 +1,4 @@ -# AgentInstanceType = "c6in.xlarge" +# AgentInstanceType = "c5n.xlarge" # ApiMaxRetries = 1 # AppInstanceType = "c5.xlarge" # InboundIPv4CidrBlocks = [ "0.0.0.0/0" ] diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars index 8a137da..292b6e2 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars @@ -1,4 +1,4 @@ -# AgentInstanceType = "c6in.xlarge" +# AgentInstanceType = "c5n.xlarge" # ApiMaxRetries = 1 # AppInstanceType = "c5.xlarge" # Region = "us-east-1" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars index 8381861..301714d 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/terraform.optional.auto.tfvars @@ -1,4 +1,4 @@ -# AgentInstanceType = "c6in.xlarge" +# AgentInstanceType = "c5n.xlarge" # ApiMaxRetries = 1 # InboundIPv4CidrBlocks = [ "0.0.0.0/0" ] # PrivateSubnetAvailabilityZone = "us-east-1a" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars index f519d0f..240a0ef 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars @@ -1,4 +1,4 @@ -# AgentInstanceType = "c6in.xlarge" +# AgentInstanceType = "c5n.xlarge" # ApiMaxRetries = 1 # InboundIPv4CidrBlocks = [ "0.0.0.0/0" ] # Private1SubnetAvailabilityZone = "us-east-1a" diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars index dab79d2..823ab2a 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/terraform.optional.auto.tfvars @@ -1,4 +1,4 @@ -# AgentInstanceType = "c6in.xlarge" +# AgentInstanceType = "c5n.xlarge" # ApiMaxRetries = 1 # Region = "us-east-1" # UserEmailTag = "terraform@example.com" From bdd34784b4248e239ec9445264d5e625fd67fa89 Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 11:04:04 -0400 Subject: [PATCH 06/20] Update variables.tf, variables.tf, variables.tf, and 3 more files --- .../variables.tf | 2 +- .../variables.tf | 2 +- .../BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/variables.tf | 2 +- .../variables.tf | 2 +- .../variables.tf | 2 +- .../BPS-on-AWS-1-Virtual-Blade-Add-On/variables.tf | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf index 168aed7..f83f16c 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf @@ -1,5 +1,5 @@ variable "AgentInstanceType" { - default = "c6in.xlarge" + default = "c5n.xlarge" description = "Instance type of Agent VM" type = string validation { diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf index 1975b57..ab8b3fc 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf @@ -1,5 +1,5 @@ variable "AgentInstanceType" { - default = "c6in.xlarge" + default = "c5n.xlarge" description = "Instance type of Agent VM" type = string validation { diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/variables.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/variables.tf index ed4df53..da63df7 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/variables.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/variables.tf @@ -1,5 +1,5 @@ variable "AgentInstanceType" { - default = "c6in.xlarge" + default = "c5n.xlarge" description = "Instance type of Agent VM" type = string validation { diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf index 01169ee..b43bce5 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf @@ -1,5 +1,5 @@ variable "AgentInstanceType" { - default = "c6in.xlarge" + default = "c5n.xlarge" description = "Instance type of Agent VM" type = string validation { diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf index 1a59304..1646fa6 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/variables.tf @@ -1,5 +1,5 @@ variable "AgentInstanceType" { - default = "c6in.xlarge" + default = "c5n.xlarge" description = "Instance type of Agent VM" type = string validation { diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/variables.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/variables.tf index af3ffbf..01f25c4 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/variables.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/variables.tf @@ -1,5 +1,5 @@ variable "AgentInstanceType" { - default = "c6in.xlarge" + default = "c5n.xlarge" description = "Instance type of Agent VM" type = string validation { From f8ee7c47bb53bcbffdc460d802fed79e88343f4f Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 11:04:26 -0400 Subject: [PATCH 07/20] Update vpc.tf, vpc.tf, vpc.tf, and 1 more file --- .../vpc.tf | 2 +- .../vpc.tf | 2 +- .../vpc.tf | 2 +- .../vpc.tf | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf index 2d50b91..6212a88 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf @@ -1,5 +1,5 @@ module "Vpc" { - source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-1-private-subnet.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-1-private-subnet.git?ref=26.1.0" InboundIPv4CidrBlocks = local.InboundIPv4CidrBlocks PrivateSubnetAvailabilityZone = local.PrivateSubnetAvailabilityZone PublicSubnetAvailabilityZone = local.PublicSubnetAvailabilityZone diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf index 8d5a54b..4ccec21 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf @@ -1,5 +1,5 @@ module "Vpc" { - source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-2-private-subnets.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-2-private-subnets.git?ref=26.1.0" InboundIPv4CidrBlocks = local.InboundIPv4CidrBlocks Private1SubnetAvailabilityZone = local.Private1SubnetAvailabilityZone Private2SubnetAvailabilityZone = local.Private2SubnetAvailabilityZone diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf index 2d50b91..6212a88 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/vpc.tf @@ -1,5 +1,5 @@ module "Vpc" { - source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-1-private-subnet.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-1-private-subnet.git?ref=26.1.0" InboundIPv4CidrBlocks = local.InboundIPv4CidrBlocks PrivateSubnetAvailabilityZone = local.PrivateSubnetAvailabilityZone PublicSubnetAvailabilityZone = local.PublicSubnetAvailabilityZone diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf index 8d5a54b..4ccec21 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/vpc.tf @@ -1,5 +1,5 @@ module "Vpc" { - source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-2-private-subnets.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-1-public-subnet-2-private-subnets.git?ref=26.1.0" InboundIPv4CidrBlocks = local.InboundIPv4CidrBlocks Private1SubnetAvailabilityZone = local.Private1SubnetAvailabilityZone Private2SubnetAvailabilityZone = local.Private2SubnetAvailabilityZone From edb1537b81e209e3457222e89278a99b74f1aba7 Mon Sep 17 00:00:00 2001 From: armdupre Date: Mon, 29 Jun 2026 11:05:48 -0400 Subject: [PATCH 08/20] Initial Checkin. --- .../CloudShell/connect.sh | 16 ++ .../Makefile | 102 ++++++++++++ .../README.md | 26 ++++ .../aws.variables.tf | 13 ++ .../cloud-init.yml | 25 +++ .../data.tf | 36 +++++ .../locals.tf | 137 ++++++++++++++++ .../main.tf | 80 ++++++++++ .../output.tf | 147 ++++++++++++++++++ .../provider.tf | 6 + .../ssh.tf | 9 ++ .../terraform.aws.auto.tfvars | 2 + .../terraform.optional.auto.tfvars | 14 ++ .../variables.tf | 99 ++++++++++++ .../versions.tf | 9 ++ .../vpc.tf | 15 ++ 16 files changed, 736 insertions(+) create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/CloudShell/connect.sh create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/README.md create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/aws.variables.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/cloud-init.yml create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/data.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/locals.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/main.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/output.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/provider.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/ssh.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.aws.auto.tfvars create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.optional.auto.tfvars create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/variables.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/versions.tf create mode 100644 aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/vpc.tf diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/CloudShell/connect.sh b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/CloudShell/connect.sh new file mode 100644 index 0000000..7bf79dd --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/CloudShell/connect.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +while getopts i: flag +do + case "${flag}" in + i) PublicIp=${OPTARG};; + esac +done + +aws ec2 describe-instances \ + --filters "Name=instance-state-name,Values=running" "Name=network-interface.association.public-ip,Values=$PublicIp" \ + --query "Reservations[].Instances[].[InstanceId,Tags[?Key=='Name'].Value|[0]]" \ + --output table +AgentId=$(aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" "Name=network-interface.association.public-ip,Values=$PublicIp" --query "Reservations[].Instances[].[InstanceId,Tags[?Key=='Name'].Value|[0]]" --output json | jq .[0][0] --raw-output) +aws ssm start-session \ + --target $AgentId \ No newline at end of file diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile new file mode 100644 index 0000000..1bfbaa9 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile @@ -0,0 +1,102 @@ +SHELL := /bin/bash +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +aws: install all + +all: init apply ssh output + +clean: state destroy + +install: +ifeq ($(shell grep "^ID=" /etc/*elease | cut -d "=" -f 2| sed -e 's/^"//' -e 's/"$$//' 2> /dev/null), amzn) +ifeq ($(shell command -v terraform 2> /dev/null),) + sudo yum install -y yum-utils + sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo + sudo yum -y install terraform +endif +endif + +version: + time terraform version + +init: + time terraform init + +validate: + time terraform validate + +update: + time terraform get -update + +plan: + time terraform plan + +apply: + time terraform apply -auto-approve + +destroy: + time terraform destroy -auto-approve + +output: + time terraform output + +ssh: + time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + +state: + time terraform state list + +connect: connect-app + +connect-app: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json App | jq -r .eth0.eip.public_ip) + +connect-agent1: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet1 | jq -r .Agent1.eth0.eip.public_ip) + +connect-agent2: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet1 | jq -r .Agent2.eth0.eip.public_ip) + +connect-agent3: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet1 | jq -r .Agent3.eth0.eip.public_ip) + +connect-agent4: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet1 | jq -r .Agent4.eth0.eip.public_ip) + +connect-agent5: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet1 | jq -r .Agent5.eth0.eip.public_ip) + +connect-agent6: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet1 | jq -r .Agent6.eth0.eip.public_ip) + +connect-agent7: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet2 | jq -r .Agent7.eth0.eip.public_ip) + +connect-agent8: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet2 | jq -r .Agent8.eth0.eip.public_ip) + +connect-agent9: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet2 | jq -r .Agent9.eth0.eip.public_ip) + +connect-agent10: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet2 | jq -r .Agent10.eth0.eip.public_ip) + +connect-agent11: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet2 | jq -r .Agent11.eth0.eip.public_ip) + +connect-agent12: + chmod +x ./CloudShell/connect.sh + ./CloudShell/connect.sh -i $$(terraform output -json AgentsPrivateSubnet2 | jq -r .Agent12.eth0.eip.public_ip) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/README.md b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/README.md new file mode 100644 index 0000000..20340e3 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/README.md @@ -0,0 +1,26 @@ +# BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets + +## Description +This deployment creates a topology with a single virtual private cloud having two public facing subnets and two private subnets. + +## Optional Variables +``` +terraform.aws.auto.tfvars +terraform.optional.auto.tfvars +``` +You **MAY** uncomment one or more lines as needed in these files and replace values to match your particular environment. + +## Required Usage +``` +terraform init +terraform apply -auto-approve +terraform destroy -auto-approve +``` + +## Optional Usage +``` +terraform validate +terraform plan +terraform state list +terraform output +``` diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/aws.variables.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/aws.variables.tf new file mode 100644 index 0000000..58e5b3a --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/aws.variables.tf @@ -0,0 +1,13 @@ +variable "AwsAccessCredentialsAccessKey" { + default = null + description = "Access key component of credentials used for programmatic calls to AWS." + sensitive = true + type = string +} + +variable "AwsAccessCredentialsSecretKey" { + default = null + description = "Secret access key component of credentials used for programmatic calls to AWS." + sensitive = true + type = string +} \ No newline at end of file diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/cloud-init.yml b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/cloud-init.yml new file mode 100644 index 0000000..dd026b4 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/cloud-init.yml @@ -0,0 +1,25 @@ +#cloud-config +write_files: + - path: /home/${UserName}/.ssh/${File1Name} + encoding: base64 + content: ${base64encode(File1Content)} + owner: '${UserName}:${UserName}' + permissions: '0400' + defer: true + - path: /home/${UserName}/.ssh/${File2Name} + encoding: base64 + content: ${base64encode(File2Content)} + owner: '${UserName}:${UserName}' + permissions: '0644' + defer: true + - path: /home/${UserName}/.ssh/${File3Name} + encoding: base64 + content: ${base64encode(File3Content)} + owner: '${UserName}:${UserName}' + permissions: '0644' + defer: true +runcmd: + - chmod 755 /home/${UserName}/.ssh + - chown ${UserName}:${UserName} /home/${UserName}/.ssh +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/data.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/data.tf new file mode 100644 index 0000000..99c7d64 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/data.tf @@ -0,0 +1,36 @@ +data "aws_caller_identity" "current" {} + +data "aws_ec2_instance_type" "Agent" { + instance_type = local.AgentInstanceType +} + +data "aws_ec2_instance_type" "App" { + instance_type = local.AppInstanceType +} + +data "aws_region" "current" {} + +data "aws_availability_zones" "available" { + state = "available" +} + +data "cloudinit_config" "init_cli" { + gzip = true + base64_encode = true + part { + content_type = "text/cloud-config" + content = templatefile("cloud-init.yml", { + File1Content : local.File1Content + File1Name : local.File1Name + File2Content : local.File2Content + File2Name : local.File2Name + File3Content : local.File3Content + File3Name : local.File3Name + UserName: local.AppUserName + }) + } +} + +data "http" "ip" { + url = "https://ifconfig.me/ip" +} diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/locals.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/locals.tf new file mode 100644 index 0000000..4f0e623 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/locals.tf @@ -0,0 +1,137 @@ +locals { + AgentInstanceType = var.AgentInstanceType + ApiMaxRetries = var.ApiMaxRetries + AppInstanceType = var.AppInstanceType + AppTag = "bps" + AppUserName = "ixia" + AwsAccessCredentialsAccessKey = var.AwsAccessCredentialsAccessKey + AwsAccessCredentialsSecretKey = var.AwsAccessCredentialsSecretKey + InboundIPv4CidrBlocks = var.InboundIPv4CidrBlocks == null ? [ "${data.http.ip.response_body}/32" ] : var.InboundIPv4CidrBlocks + File1Content = tls_private_key.SshKey.private_key_pem + File1Name = "id_rsa" + File2Content = tls_private_key.SshKey.public_key_openssh + File2Name = "authorized_keys" + File3Content = tls_private_key.SshKey.public_key_openssh + File3Name = "id_rsa.pub" + PlacementGroupStrategy = "cluster" + PlacementGroup1Name = "${local.Preamble}-placement-group-1-${local.Region}" + PlacementGroup2Name = "${local.Preamble}-placement-group-2-${local.Region}" + Preamble = "${local.UserLoginTag}-${local.UserProjectTag}-${local.AppTag}" + Private1SubnetAvailabilityZone = var.Private1SubnetAvailabilityZone + Private2SubnetAvailabilityZone = var.Private2SubnetAvailabilityZone + Public1SubnetAvailabilityZone = var.Public1SubnetAvailabilityZone + Public1SubnetCidrBlock = var.Public1SubnetCidrBlock + Public2SubnetAvailabilityZone = var.Public2SubnetAvailabilityZone + Public2SubnetCidrBlock = var.Public2SubnetCidrBlock + Region = data.aws_region.current.region + SshKeyAlgorithm = "RSA" + SshKeyName = "${local.Preamble}-ssh-key" + SshKeyRsaBits = "4096" + UserEmailTag = var.UserEmailTag == null ? data.aws_caller_identity.current.user_id : var.UserEmailTag + UserLoginTag = var.UserLoginTag == null ? "terraform" : var.UserLoginTag + UserProjectTag = var.UserProjectTag == null ? random_id.RandomId.id : var.UserProjectTag +} + +locals { + Agents = { + Agent1 = { + Eth0PrivateIpAddress = "10.0.10.11" + Eth1PrivateIpAddresses = [ "10.0.2.11" ] + Eth2PrivateIpAddresses = [ "10.0.2.21" ] + InstanceId = "agent1" + } + Agent2 = { + Eth0PrivateIpAddress = "10.0.10.12" + Eth1PrivateIpAddresses = [ "10.0.2.12" ] + Eth2PrivateIpAddresses = [ "10.0.2.22" ] + InstanceId = "agent2" + } + Agent3 = { + Eth0PrivateIpAddress = "10.0.10.13" + Eth1PrivateIpAddresses = [ "10.0.2.13" ] + Eth2PrivateIpAddresses = [ "10.0.2.23" ] + InstanceId = "agent3" + } + Agent4 = { + Eth0PrivateIpAddress = "10.0.10.14" + Eth1PrivateIpAddresses = [ "10.0.2.14" ] + Eth2PrivateIpAddresses = [ "10.0.2.24" ] + InstanceId = "agent4" + } + Agent5 = { + Eth0PrivateIpAddress = "10.0.10.15" + Eth1PrivateIpAddresses = [ "10.0.2.15" ] + Eth2PrivateIpAddresses = [ "10.0.2.25" ] + InstanceId = "agent5" + } + Agent6 = { + Eth0PrivateIpAddress = "10.0.10.16" + Eth1PrivateIpAddresses = [ "10.0.2.16" ] + Eth2PrivateIpAddresses = [ "10.0.2.26" ] + InstanceId = "agent6" + } + Agent7 = { + Eth0PrivateIpAddress = "10.0.11.11" + Eth1PrivateIpAddresses = [ "10.0.3.11" ] + Eth2PrivateIpAddresses = [ "10.0.3.21" ] + InstanceId = "agent7" + } + Agent8 = { + Eth0PrivateIpAddress = "10.0.11.12" + Eth1PrivateIpAddresses = [ "10.0.3.12" ] + Eth2PrivateIpAddresses = [ "10.0.3.22" ] + InstanceId = "agent8" + } + Agent9 = { + Eth0PrivateIpAddress = "10.0.11.13" + Eth1PrivateIpAddresses = [ "10.0.3.13" ] + Eth2PrivateIpAddresses = [ "10.0.3.23" ] + InstanceId = "agent9" + } + Agent10 = { + Eth0PrivateIpAddress = "10.0.11.14" + Eth1PrivateIpAddresses = [ "10.0.3.14" ] + Eth2PrivateIpAddresses = [ "10.0.3.24" ] + InstanceId = "agent10" + } + Agent11 = { + Eth0PrivateIpAddress = "10.0.11.15" + Eth1PrivateIpAddresses = [ "10.0.3.15" ] + Eth2PrivateIpAddresses = [ "10.0.3.25" ] + InstanceId = "agent11" + } + Agent12 = { + Eth0PrivateIpAddress = "10.0.11.16" + Eth1PrivateIpAddresses = [ "10.0.3.16" ] + Eth2PrivateIpAddresses = [ "10.0.3.26" ] + InstanceId = "agent12" + } + } +} + +locals { + # Decorate keys with numeric suffix and sortable key + agents_decorated = [ + for k in keys(local.Agents) : { + key = k + n = tonumber(regex("^Agent(\\d+)$", k)[0]) + sk = format("%06d", tonumber(regex("^Agent(\\d+)$", k)[0])) + } + ] + + # Sorted keys in numeric order: Agent1, Agent2, ... Agent10 + agent_keys_sorted = [ + for sk in sort(local.agents_decorated[*].sk) : + one([for o in local.agents_decorated : o.key if o.sk == sk]) + ] + + total = length(local.agent_keys_sorted) + mid = ceil(local.total / 2) + + first_keys = slice(local.agent_keys_sorted, 0, local.mid) + second_keys = slice(local.agent_keys_sorted, local.mid, local.total) + + # Rebuild two maps for for_each + agents_first_half = { for k in local.first_keys : k => local.Agents[k] } + agents_second_half = { for k in local.second_keys : k => local.Agents[k] } +} diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/main.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/main.tf new file mode 100644 index 0000000..70d4d2e --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/main.tf @@ -0,0 +1,80 @@ +module "App" { + source = "git::https://github.com/Keysight/terraform-aws-module-bps-app.git?ref=26.1.0" + Eth0SecurityGroupId = module.Vpc.Public1SecurityGroup.id + Eth0SubnetId = module.Vpc.Public1Subnet.id + InstanceType = local.AppInstanceType + UserEmailTag = local.UserEmailTag + UserLoginTag = local.UserLoginTag + UserProjectTag = local.UserProjectTag + init_cli = data.cloudinit_config.init_cli.rendered + depends_on = [ + module.AgentPrivateSubnet1, + module.AgentPrivateSubnet2, + module.Vpc + ] +} + +module "AgentPrivateSubnet1" { + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" + for_each = local.agents_first_half + Eth0PrivateIpAddress = each.value.Eth0PrivateIpAddress + Eth0SecurityGroupId = module.Vpc.Public1SecurityGroup.id + Eth0SubnetId = module.Vpc.Public1Subnet.id + Eth1PrivateIpAddresses = each.value.Eth1PrivateIpAddresses + Eth1SecurityGroupId = module.Vpc.Private1SecurityGroup.id + Eth1SubnetId = module.Vpc.Private1Subnet.id + Eth2PrivateIpAddresses = each.value.Eth2PrivateIpAddresses + Eth2SecurityGroupId = module.Vpc.Private1SecurityGroup.id + Eth2SubnetId = module.Vpc.Private1Subnet.id + InstanceId = each.value.InstanceId + InstanceType = local.AgentInstanceType + PlacementGroupId = aws_placement_group.PlacementGroup1.id + UserEmailTag = local.UserEmailTag + UserLoginTag = local.UserLoginTag + UserProjectTag = local.UserProjectTag + init_cli = data.cloudinit_config.init_cli.rendered + depends_on = [ + aws_placement_group.PlacementGroup1, + module.Vpc + ] +} + +module "AgentPrivateSubnet2" { + source = "git::https://github.com/Keysight/terraform-aws-module-bps-agent.git?ref=26.1.0" + for_each = local.agents_second_half + Eth0PrivateIpAddress = each.value.Eth0PrivateIpAddress + Eth0SecurityGroupId = module.Vpc.Public2SecurityGroup.id + Eth0SubnetId = module.Vpc.Public2Subnet.id + Eth1PrivateIpAddresses = each.value.Eth1PrivateIpAddresses + Eth1SecurityGroupId = module.Vpc.Private2SecurityGroup.id + Eth1SubnetId = module.Vpc.Private2Subnet.id + Eth2PrivateIpAddresses = each.value.Eth2PrivateIpAddresses + Eth2SecurityGroupId = module.Vpc.Private2SecurityGroup.id + Eth2SubnetId = module.Vpc.Private2Subnet.id + InstanceId = each.value.InstanceId + InstanceType = local.AgentInstanceType + PlacementGroupId = aws_placement_group.PlacementGroup2.id + UserEmailTag = local.UserEmailTag + UserLoginTag = local.UserLoginTag + UserProjectTag = local.UserProjectTag + init_cli = data.cloudinit_config.init_cli.rendered + depends_on = [ + aws_placement_group.PlacementGroup2, + module.Vpc + ] +} + + +resource "aws_placement_group" "PlacementGroup1" { + name = local.PlacementGroup1Name + strategy = local.PlacementGroupStrategy +} + +resource "aws_placement_group" "PlacementGroup2" { + name = local.PlacementGroup2Name + strategy = local.PlacementGroupStrategy +} + +resource "random_id" "RandomId" { + byte_length = 4 +} diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/output.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/output.tf new file mode 100644 index 0000000..2252c43 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/output.tf @@ -0,0 +1,147 @@ +output "AgentsPrivateSubnet1" { + value = { + for name, module in module.AgentPrivateSubnet1 : + name => { + ami = { + image_id = module.Ami.image_id + name = module.Ami.name + owner_id = module.Ami.owner_id + } + availability_zone = module.Instance.availability_zone + eth0 = { + eip = { + public_dns = module.Eth0ElasticIp.public_dns + public_ip = module.Eth0ElasticIp.public_ip + } + } + id = module.Instance.id + instance_type = { + current_generation = data.aws_ec2_instance_type.Agent.current_generation + dedicated_hosts_supported = data.aws_ec2_instance_type.Agent.dedicated_hosts_supported + default_cores = data.aws_ec2_instance_type.Agent.default_cores + default_network_card_index = data.aws_ec2_instance_type.Agent.default_network_card_index + default_threads_per_core = data.aws_ec2_instance_type.Agent.default_threads_per_core + default_vcpus = data.aws_ec2_instance_type.Agent.default_vcpus + ena_srd_supported = data.aws_ec2_instance_type.Agent.ena_srd_supported + ena_support = data.aws_ec2_instance_type.Agent.ena_support + hypervisor = data.aws_ec2_instance_type.Agent.hypervisor + ipv6_supported = data.aws_ec2_instance_type.Agent.ipv6_supported + maximum_ipv4_addresses_per_interface = data.aws_ec2_instance_type.Agent.maximum_ipv4_addresses_per_interface + maximum_ipv6_addresses_per_interface = data.aws_ec2_instance_type.Agent.maximum_ipv6_addresses_per_interface + maximum_network_cards = data.aws_ec2_instance_type.Agent.maximum_network_cards + maximum_network_interfaces = data.aws_ec2_instance_type.Agent.maximum_network_interfaces + memory_size = data.aws_ec2_instance_type.Agent.memory_size + name = module.Instance.instance_type + network_performance = data.aws_ec2_instance_type.Agent.network_performance + supported_architectures = data.aws_ec2_instance_type.Agent.supported_architectures + supported_cpu_features = data.aws_ec2_instance_type.Agent.supported_cpu_features + supported_placement_strategies = data.aws_ec2_instance_type.Agent.supported_placement_strategies + } + private_dns = module.Instance.private_dns + private_ip = module.Instance.private_ip + } + } +} + +output "AgentsPrivateSubnet2" { + value = { + for name, module in module.AgentPrivateSubnet2 : + name => { + ami = { + image_id = module.Ami.image_id + name = module.Ami.name + owner_id = module.Ami.owner_id + } + availability_zone = module.Instance.availability_zone + eth0 = { + eip = { + public_dns = module.Eth0ElasticIp.public_dns + public_ip = module.Eth0ElasticIp.public_ip + } + } + id = module.Instance.id + instance_type = { + current_generation = data.aws_ec2_instance_type.Agent.current_generation + dedicated_hosts_supported = data.aws_ec2_instance_type.Agent.dedicated_hosts_supported + default_cores = data.aws_ec2_instance_type.Agent.default_cores + default_network_card_index = data.aws_ec2_instance_type.Agent.default_network_card_index + default_threads_per_core = data.aws_ec2_instance_type.Agent.default_threads_per_core + default_vcpus = data.aws_ec2_instance_type.Agent.default_vcpus + ena_srd_supported = data.aws_ec2_instance_type.Agent.ena_srd_supported + ena_support = data.aws_ec2_instance_type.Agent.ena_support + hypervisor = data.aws_ec2_instance_type.Agent.hypervisor + ipv6_supported = data.aws_ec2_instance_type.Agent.ipv6_supported + maximum_ipv4_addresses_per_interface = data.aws_ec2_instance_type.Agent.maximum_ipv4_addresses_per_interface + maximum_ipv6_addresses_per_interface = data.aws_ec2_instance_type.Agent.maximum_ipv6_addresses_per_interface + maximum_network_cards = data.aws_ec2_instance_type.Agent.maximum_network_cards + maximum_network_interfaces = data.aws_ec2_instance_type.Agent.maximum_network_interfaces + memory_size = data.aws_ec2_instance_type.Agent.memory_size + name = module.Instance.instance_type + network_performance = data.aws_ec2_instance_type.Agent.network_performance + supported_architectures = data.aws_ec2_instance_type.Agent.supported_architectures + supported_cpu_features = data.aws_ec2_instance_type.Agent.supported_cpu_features + supported_placement_strategies = data.aws_ec2_instance_type.Agent.supported_placement_strategies + } + private_dns = module.Instance.private_dns + private_ip = module.Instance.private_ip + } + } +} + +output "App" { + value = { + ami = { + image_id = module.App.Ami.image_id + name = module.App.Ami.name + owner_id = module.App.Ami.owner_id + } + availability_zone = module.App.Instance.availability_zone + eth0 = { + eip = { + public_dns = module.App.Eth0ElasticIp.public_dns + public_ip = module.App.Eth0ElasticIp.public_ip + } + } + id = module.App.Instance.id + instance_type = { + current_generation = data.aws_ec2_instance_type.App.current_generation + dedicated_hosts_supported = data.aws_ec2_instance_type.App.dedicated_hosts_supported + default_cores = data.aws_ec2_instance_type.App.default_cores + default_network_card_index = data.aws_ec2_instance_type.App.default_network_card_index + default_threads_per_core = data.aws_ec2_instance_type.App.default_threads_per_core + default_vcpus = data.aws_ec2_instance_type.App.default_vcpus + ena_srd_supported = data.aws_ec2_instance_type.App.ena_srd_supported + ena_support = data.aws_ec2_instance_type.App.ena_support + hypervisor = data.aws_ec2_instance_type.App.hypervisor + ipv6_supported = data.aws_ec2_instance_type.App.ipv6_supported + maximum_ipv4_addresses_per_interface = data.aws_ec2_instance_type.App.maximum_ipv4_addresses_per_interface + maximum_ipv6_addresses_per_interface = data.aws_ec2_instance_type.App.maximum_ipv6_addresses_per_interface + maximum_network_cards = data.aws_ec2_instance_type.App.maximum_network_cards + maximum_network_interfaces = data.aws_ec2_instance_type.App.maximum_network_interfaces + memory_size = data.aws_ec2_instance_type.App.memory_size + name = module.App.Instance.instance_type + network_performance = data.aws_ec2_instance_type.App.network_performance + supported_architectures = data.aws_ec2_instance_type.App.supported_architectures + supported_cpu_features = data.aws_ec2_instance_type.App.supported_cpu_features + supported_placement_strategies = data.aws_ec2_instance_type.App.supported_placement_strategies + } + private_dns = module.App.Instance.private_dns + private_ip = module.App.Instance.private_ip + } +} + +output "AvailabilityZones" { + value = { + available = { + names = data.aws_availability_zones.available.names + } + region = data.aws_availability_zones.available.region + } +} + +output "SshKey" { + sensitive = true + value = { + private_key_pem = tls_private_key.SshKey.private_key_pem + } +} diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/provider.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/provider.tf new file mode 100644 index 0000000..dc90be9 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/provider.tf @@ -0,0 +1,6 @@ +provider "aws" { + access_key = local.AwsAccessCredentialsAccessKey + secret_key = local.AwsAccessCredentialsSecretKey + region = var.Region + max_retries = local.ApiMaxRetries +} \ No newline at end of file diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/ssh.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/ssh.tf new file mode 100644 index 0000000..322ef73 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/ssh.tf @@ -0,0 +1,9 @@ +resource "aws_key_pair" "SshKey" { + key_name = local.SshKeyName + public_key = tls_private_key.SshKey.public_key_openssh +} + +resource "tls_private_key" "SshKey" { + algorithm = local.SshKeyAlgorithm + rsa_bits = local.SshKeyRsaBits +} \ No newline at end of file diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.aws.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.aws.auto.tfvars new file mode 100644 index 0000000..1c322d9 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.aws.auto.tfvars @@ -0,0 +1,2 @@ +# AwsAccessCredentialsAccessKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +# AwsAccessCredentialsSecretKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" \ No newline at end of file diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.optional.auto.tfvars b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.optional.auto.tfvars new file mode 100644 index 0000000..6717335 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/terraform.optional.auto.tfvars @@ -0,0 +1,14 @@ +# AgentInstanceType = "c5n.xlarge" +# ApiMaxRetries = 1 +# AppInstanceType = "c5.xlarge" +# InboundIPv4CidrBlocks = [ "0.0.0.0/0" ] +# Private1SubnetAvailabilityZone = "us-east-1a" +# Private2SubnetAvailabilityZone = "us-east-1a" +# Public1SubnetCidrBlock = "10.0.10.0/24" +# Public1SubnetAvailabilityZone = "us-east-1a" +# Public2SubnetCidrBlock = "10.0.11.0/24" +# Public2SubnetAvailabilityZone = "us-east-1a" +# Region = "us-east-1" +# UserEmailTag = "terraform@example.com" +# UserLoginTag = "terraform" +# UserProjectTag = "cloud-ist" diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/variables.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/variables.tf new file mode 100644 index 0000000..e8d525c --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/variables.tf @@ -0,0 +1,99 @@ +variable "AgentInstanceType" { + default = "c5n.xlarge" + description = "Instance type of Agent VM" + type = string + validation { + condition = contains([ "c5n.xlarge", "c5n.2xlarge", "c5n.4xlarge", "c5n.9xlarge", "c5n.18xlarge", + "c6in.xlarge", "c6in.2xlarge", "c6in.4xlarge", "c6in.8xlarge", "c6in.12xlarge", "c6in.16xlarge", "c6in.24xlarge", "c6in.32xlarge" ], var.AgentInstanceType) + error_message = <= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } +} + +variable "UserLoginTag" { + default = null + description = "Login ID tag of user creating the deployment" + type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } +} + +variable "UserProjectTag" { + default = null + description = "Project tag of user creating the deployment" + type = string +} diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/versions.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/versions.tf new file mode 100644 index 0000000..283d241 --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_version = ">= 1.5.7" + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 6.27.0" + } + } +} diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/vpc.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/vpc.tf new file mode 100644 index 0000000..95da0dc --- /dev/null +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/vpc.tf @@ -0,0 +1,15 @@ +module "Vpc" { + source = "git::https://github.com/Keysight/terraform-aws-module-1-vpc-2-public-subnets-2-private-subnets.git?ref=26.1.0" + InboundIPv4CidrBlocks = local.InboundIPv4CidrBlocks + Private1SubnetAvailabilityZone = local.Private1SubnetAvailabilityZone + Private2SubnetAvailabilityZone = local.Private2SubnetAvailabilityZone + Public1SubnetCidrBlock = local.Public1SubnetCidrBlock + Public1SubnetAvailabilityZone = local.Public1SubnetAvailabilityZone + Public2SubnetCidrBlock = local.Public2SubnetCidrBlock + Public2SubnetAvailabilityZone = local.Public2SubnetAvailabilityZone + Region = local.Region + Tag = local.AppTag + UserEmailTag = local.UserEmailTag + UserLoginTag = local.UserLoginTag + UserProjectTag = local.UserProjectTag +} From 5e47079c45c15a54fb24bec2b4a35668e5f9d5a2 Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 21:02:28 -0400 Subject: [PATCH 09/20] Update Makefile, Makefile, Makefile, and 3 more files --- .../Makefile | 50 +++++++++++++++---- .../Makefile | 50 +++++++++++++++---- .../Makefile | 50 +++++++++++++++---- .../Makefile | 45 +++++++++++++---- .../Makefile | 45 +++++++++++++---- .../Makefile | 45 +++++++++++++---- 6 files changed, 219 insertions(+), 66 deletions(-) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile index d57afd1..e79b3aa 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile @@ -1,35 +1,63 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate - + @echo "=== $(TF) validate ===" + $(TF) validate + update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list + +connect: connect-app + +connect-app: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json App | jq -r .public_ip_address) + +connect-agent1: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agent1 | jq -r .public_ip_address) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile index d57afd1..e79b3aa 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,35 +1,63 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate - + @echo "=== $(TF) validate ===" + $(TF) validate + update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list + +connect: connect-app + +connect-app: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json App | jq -r .public_ip_address) + +connect-agent1: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agent1 | jq -r .public_ip_address) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/Makefile b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/Makefile index d57afd1..e79b3aa 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/Makefile +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/Makefile @@ -1,35 +1,63 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate - + @echo "=== $(TF) validate ===" + $(TF) validate + update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list + +connect: connect-app + +connect-app: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json App | jq -r .public_ip_address) + +connect-agent1: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agent1 | jq -r .public_ip_address) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile index d57afd1..ef5f6fc 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/Makefile @@ -1,35 +1,58 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate - + @echo "=== $(TF) validate ===" + $(TF) validate + update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list + +connect-agent1: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agent1 | jq -r .public_ip_address) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile index d57afd1..ef5f6fc 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,35 +1,58 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate - + @echo "=== $(TF) validate ===" + $(TF) validate + update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list + +connect-agent1: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agent1 | jq -r .public_ip_address) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/Makefile b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/Makefile index d57afd1..ef5f6fc 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/Makefile +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/Makefile @@ -1,35 +1,58 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate - + @echo "=== $(TF) validate ===" + $(TF) validate + update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list + +connect-agent1: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agent1 | jq -r .public_ip_address) From 8c7b97e39367d1d4c326fe8e20212e7f1d697ef2 Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 21:04:21 -0400 Subject: [PATCH 10/20] Update main.tf, main.tf, main.tf, and 2 more files --- .../main.tf | 4 ++-- .../BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/main.tf | 4 ++-- .../main.tf | 2 +- .../main.tf | 2 +- .../BPS-on-Azure-1-Virtual-Blade-Add-On/main.tf | 5 ++++- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf index 6683458..8ca9b13 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-app.git?ref=26.1.0" Eth0SubnetId = module.Vnet.PublicSubnet.id ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location ResourceGroupName = azurerm_resource_group.ResourceGroup.name @@ -17,7 +17,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.1.0" Eth0SubnetId = module.Vnet.PublicSubnet.id Eth1SubnetId = module.Vnet.PrivateSubnet.id Eth2IpAddresses = local.Agent1Eth2IpAddresses diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/main.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/main.tf index 1f5c2db..8291db2 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/main.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-app.git?ref=26.1.0" Eth0SubnetId = data.azurerm_subnet.PublicSubnet.id ResourceGroupLocation = data.azurerm_resource_group.ResourceGroup.location ResourceGroupName = data.azurerm_resource_group.ResourceGroup.name @@ -16,7 +16,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.1.0" Eth0SubnetId = data.azurerm_subnet.PublicSubnet.id Eth1SubnetId = data.azurerm_subnet.Private1Subnet.id Eth2SubnetId = data.azurerm_subnet.Private2Subnet.id diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf index 2bbca59..b48994a 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/main.tf @@ -1,5 +1,5 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.1.0" Eth0SubnetId = module.Vnet.PublicSubnet.id Eth1SubnetId = module.Vnet.PrivateSubnet.id Eth2IpAddresses = local.Agent1Eth2IpAddresses diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf index 88e4803..883c1b3 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf @@ -1,5 +1,5 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.1.0" Eth0SubnetId = module.Vnet.PublicSubnet.id Eth1SubnetId = module.Vnet.Private1Subnet.id Eth2SubnetId = module.Vnet.Private2Subnet.id diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/main.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/main.tf index f2260dd..066a611 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/main.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/main.tf @@ -1,7 +1,10 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.1.0" + Eth0IpAddress = local.Agent1Eth0IpAddress Eth0SubnetId = data.azurerm_subnet.PublicSubnet.id + Eth1IpAddresses = local.Agent1Eth1IpAddresses Eth1SubnetId = data.azurerm_subnet.Private1Subnet.id + Eth2IpAddresses = local.Agent1Eth2IpAddresses Eth2SubnetId = data.azurerm_subnet.Private2Subnet.id InstanceId = local.Agent1InstanceId ResourceGroupLocation = data.azurerm_resource_group.ResourceGroup.location From 4c4231e9502ca17e4d66c7f11599df673b3b483c Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 21:04:59 -0400 Subject: [PATCH 11/20] Update variables.tf, variables.tf, variables.tf, and 3 more files --- .../variables.tf | 8 ++++++++ .../variables.tf | 8 ++++++++ .../variables.tf | 10 +++++++++- .../variables.tf | 8 ++++++++ .../variables.tf | 8 ++++++++ .../BPS-on-Azure-1-Virtual-Blade-Add-On/variables.tf | 10 +++++++++- 6 files changed, 50 insertions(+), 2 deletions(-) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf index bda4310..e8b3951 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf @@ -46,12 +46,20 @@ variable "UserEmailTag" { default = null description = "Email address tag of user creating the deployment" type = string + validation { + condition = var.UserEmailTag == null ? true : length(var.UserEmailTag) >= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } } variable "UserLoginTag" { default = null description = "Login ID tag of user creating the deployment" type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } } variable "UserProjectTag" { diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf index bda4310..e8b3951 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf @@ -46,12 +46,20 @@ variable "UserEmailTag" { default = null description = "Email address tag of user creating the deployment" type = string + validation { + condition = var.UserEmailTag == null ? true : length(var.UserEmailTag) >= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } } variable "UserLoginTag" { default = null description = "Login ID tag of user creating the deployment" type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } } variable "UserProjectTag" { diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/variables.tf index 4d2276c..8543d61 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/variables.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-Add-On/variables.tf @@ -54,12 +54,20 @@ variable "UserEmailTag" { default = null description = "Email address tag of user creating the deployment" type = string + validation { + condition = var.UserEmailTag == null ? true : length(var.UserEmailTag) >= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } } variable "UserLoginTag" { default = null description = "Login ID tag of user creating the deployment" type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } } variable "UserProjectTag" { @@ -71,4 +79,4 @@ variable "UserProjectTag" { variable "VnetName" { description = "Vnet name assciated with the virtual network" type = string -} \ No newline at end of file +} diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf index 5b14e28..ab3d315 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/variables.tf @@ -33,12 +33,20 @@ variable "UserEmailTag" { default = null description = "Email address tag of user creating the deployment" type = string + validation { + condition = var.UserEmailTag == null ? true : length(var.UserEmailTag) >= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } } variable "UserLoginTag" { default = null description = "Login ID tag of user creating the deployment" type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } } variable "UserProjectTag" { diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf index 5b14e28..ab3d315 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf @@ -33,12 +33,20 @@ variable "UserEmailTag" { default = null description = "Email address tag of user creating the deployment" type = string + validation { + condition = var.UserEmailTag == null ? true : length(var.UserEmailTag) >= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } } variable "UserLoginTag" { default = null description = "Login ID tag of user creating the deployment" type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } } variable "UserProjectTag" { diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/variables.tf index d0b25cd..1a70bb2 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/variables.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/variables.tf @@ -41,12 +41,20 @@ variable "UserEmailTag" { default = null description = "Email address tag of user creating the deployment" type = string + validation { + condition = var.UserEmailTag == null ? true : length(var.UserEmailTag) >= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } } variable "UserLoginTag" { default = null description = "Login ID tag of user creating the deployment" type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } } variable "UserProjectTag" { @@ -58,4 +66,4 @@ variable "UserProjectTag" { variable "VnetName" { description = "Vnet name assciated with the virtual network" type = string -} \ No newline at end of file +} From b3fcaf6008aa825975cd407c31f30eba1173ecd9 Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 21:06:22 -0400 Subject: [PATCH 12/20] Update vnet.tf, main.tf, vnet.tf, and 3 more files --- .../vnet.tf | 2 +- .../main.tf | 4 ++-- .../vnet.tf | 2 +- .../vnet.tf | 2 +- .../vnet.tf | 2 +- .../BPS-on-Azure-1-Virtual-Blade-Add-On/locals.tf | 3 +++ 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf index 0ed8e9d..a6eb4df 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf @@ -1,5 +1,5 @@ module "Vnet" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-1-private-subnet.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-1-private-subnet.git?ref=26.1.0" PublicSecurityRuleSourceIpPrefixes = local.PublicSecurityRuleSourceIpPrefixes ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location ResourceGroupName = azurerm_resource_group.ResourceGroup.name diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf index 314df62..54678a4 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-app.git?ref=26.1.0" Eth0SubnetId = module.Vnet.PublicSubnet.id ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location ResourceGroupName = azurerm_resource_group.ResourceGroup.name @@ -17,7 +17,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.1.0" Eth0SubnetId = module.Vnet.PublicSubnet.id Eth1SubnetId = module.Vnet.Private1Subnet.id Eth2SubnetId = module.Vnet.Private2Subnet.id diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf index 58d257f..9affc6a 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf @@ -1,5 +1,5 @@ module "Vnet" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-2-private-subnets.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-2-private-subnets.git?ref=26.1.0" PublicSecurityRuleSourceIpPrefixes = local.PublicSecurityRuleSourceIpPrefixes ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location ResourceGroupName = azurerm_resource_group.ResourceGroup.name diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf index 0ed8e9d..a6eb4df 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-1-Private-Subnet/vnet.tf @@ -1,5 +1,5 @@ module "Vnet" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-1-private-subnet.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-1-private-subnet.git?ref=26.1.0" PublicSecurityRuleSourceIpPrefixes = local.PublicSecurityRuleSourceIpPrefixes ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location ResourceGroupName = azurerm_resource_group.ResourceGroup.name diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf index 58d257f..9affc6a 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf @@ -1,5 +1,5 @@ module "Vnet" { - source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-2-private-subnets.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-2-private-subnets.git?ref=26.1.0" PublicSecurityRuleSourceIpPrefixes = local.PublicSecurityRuleSourceIpPrefixes ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location ResourceGroupName = azurerm_resource_group.ResourceGroup.name diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/locals.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/locals.tf index d791e7b..6b81fe1 100644 --- a/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/locals.tf +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-Azure-1-Virtual-Blade-Add-On/locals.tf @@ -1,5 +1,8 @@ locals { AgentVmSize = var.AgentVmSize + Agent1Eth0IpAddress = "10.0.10.12" + Agent1Eth1IpAddresses = [ "10.0.2.22", "10.0.2.23", "10.0.2.24", "10.0.2.25", "10.0.2.26", "10.0.2.27", "10.0.2.28", "10.0.2.29", "10.0.2.30", "10.0.2.31" ] + Agent1Eth2IpAddresses = [ "10.0.3.22", "10.0.3.23", "10.0.3.24", "10.0.3.25", "10.0.3.26", "10.0.3.27", "10.0.3.28", "10.0.3.29", "10.0.3.30", "10.0.3.31" ] Agent1InstanceId = "agent1" AppTag = "bps" AppUserName = "ixia" From 1a146fb4bce26ffd2ebfc17420ec388bf37bf6ea Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 21:07:54 -0400 Subject: [PATCH 13/20] Update .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 26777e8..e0ae5cc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ terraform.auto.tfvars backend.tf .sshkey.pem - +terragrunt.hcl From 6ef2fdca6fac9e5dfd83fbaa4380d8166d4f09af Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 21:10:45 -0400 Subject: [PATCH 14/20] Initial Checkin. --- .../Makefile | 96 +++++++++++++++++ .../README.md | 27 +++++ .../azure.locals.tf | 7 ++ .../azure.variables.tf | 33 ++++++ .../cloud-init.yml | 41 +++++++ .../data.tf | 26 +++++ .../locals.tf | 100 ++++++++++++++++++ .../main.tf | 50 +++++++++ .../output.tf | 54 ++++++++++ .../provider.tf | 12 +++ .../ssh.tf | 11 ++ .../terraform.azure.auto.tfvars | 5 + .../terraform.optional.auto.tfvars | 8 ++ .../variables.tf | 69 ++++++++++++ .../versions.tf | 9 ++ .../vnet.tf | 10 ++ 16 files changed, 558 insertions(+) create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/README.md create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.locals.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.variables.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/cloud-init.yml create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/data.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/locals.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/output.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/provider.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/ssh.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.azure.auto.tfvars create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/versions.tf create mode 100644 microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile new file mode 100644 index 0000000..a5c9df4 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/Makefile @@ -0,0 +1,96 @@ +SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all + +all: init apply ssh + +clean: state destroy + +version: + @echo "=== $(TF) version ===" + $(TF) version + +init: + @echo "=== $(TF) init ===" + $(TF) init + +validate: + @echo "=== $(TF) validate ===" + $(TF) validate + +update: + @echo "=== $(TF) update ===" + $(TF) get -update + +plan: + @echo "=== $(TF) plan ===" + $(TF) plan + +apply: + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) + +destroy: + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) + +output: + @echo "=== $(TF) output ===" + $(TF) output + +ssh: + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem + +state: + @echo "=== $(TF) state ===" + $(TF) state list + +connect: connect-app + +connect-app: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json App | jq -r .public_ip_address) + +connect-agent1: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent1.public_ip_address) + +connect-agent2: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent2.public_ip_address) + +connect-agent3: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent3.public_ip_address) + +connect-agent4: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent4.public_ip_address) + +connect-agent5: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent5.public_ip_address) + +connect-agent6: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent6.public_ip_address) + +connect-agent7: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent7.public_ip_address) + +connect-agent8: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent8.public_ip_address) + +connect-agent9: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent9.public_ip_address) + +connect-agent10: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent10.public_ip_address) + +connect-agent11: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent11.public_ip_address) + +connect-agent12: + ssh -o StrictHostKeyChecking=no -i .sshkey.pem ixia@$$(terraform output -json Agents | jq -r .Agent12.public_ip_address) diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/README.md b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/README.md new file mode 100644 index 0000000..7e560c3 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/README.md @@ -0,0 +1,27 @@ +# BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets + +## Description +This deployment creates a topology with a single virtual network having a single public facing subnet and two private subnets. + +## Optional Variables +``` +terraform.azure.auto.tfvars +terraform.optional.auto.tfvars +``` +You **MAY** uncomment one or more lines as needed in these files and replace values to match your particular environment. + +## Required Usage +``` +terraform init +terraform apply -auto-approve +terraform destroy -auto-approve +``` + +## Optional Usage +``` +terraform validate +terraform plan +terraform state list +terraform output +terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > SshKey.pem +``` \ No newline at end of file diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.locals.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.locals.tf new file mode 100644 index 0000000..cb626a1 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.locals.tf @@ -0,0 +1,7 @@ +locals { + ClientId = var.ClientId + ClientSecret = var.ClientSecret + ResourceProviderRegistrations = var.ResourceProviderRegistrations + SubscriptionId = var.SubscriptionId + TenantId = var.TenantId +} \ No newline at end of file diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.variables.tf new file mode 100644 index 0000000..bc5e60e --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/azure.variables.tf @@ -0,0 +1,33 @@ +variable "ClientId" { + default = null + description = "Id of an application created in Azure Active Directory" + sensitive = true + type = string +} + +variable "ClientSecret" { + default = null + description = "Authentication value of an application created in Azure Active Directory" + sensitive = true + type = string +} + +variable "ResourceProviderRegistrations" { + default = "core" + description = "Indicates whether or not to ignore registration of Azure Resource Providers due to insuffiencient permissions" + type = string +} + +variable "SubscriptionId" { + default = null + description = "Id of subscription and underlying services used by the deployment" + sensitive = true + type = string +} + +variable "TenantId" { + default = null + description = "Id of an Azure Active Directory instance where one subscription may have multiple tenants" + sensitive = true + type = string +} \ No newline at end of file diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/cloud-init.yml b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/cloud-init.yml new file mode 100644 index 0000000..ebcba1d --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/cloud-init.yml @@ -0,0 +1,41 @@ +#cloud-config +write_files: + - path: /home/${UserName}/.ssh/${File1Name} + encoding: base64 + content: ${base64encode(File1Content)} + owner: '${UserName}:${UserName}' + permissions: '0400' + defer: true + - path: /home/${UserName}/.ssh/${File2Name} + encoding: base64 + content: ${base64encode(File2Content)} + owner: '${UserName}:${UserName}' + permissions: '0644' + defer: true + - path: /home/${UserName}/.ssh/${File3Name} + encoding: base64 + content: ${base64encode(File3Content)} + owner: '${UserName}:${UserName}' + permissions: '0644' + defer: true +runcmd: + - chmod 755 /home/${UserName}/.ssh + - chown ${UserName}:${UserName} /home/${UserName}/.ssh + - | + # Redirect all output (stdout + stderr) to custom log file + exec > >(tee -a /var/log/terraform-cloud-init-output.log) 2>&1 + set -e + echo "=== Starting Mellanox NIC check ===" + if ! lspci | grep -qi mellanox; then + echo "ERROR: Mellanox NIC not detected. Accelerated Networking may not be active." + exit 1 + fi + if ! lsmod | grep -q mlx; then + echo "ERROR: Mellanox driver not loaded (mlx4/mlx5 missing)." + exit 1 + fi + echo "SUCCESS: Mellanox NIC detected and driver loaded." + ethtool -i eth0 + echo "=== NIC check completed successfully ===" +output: + all: "| tee -a /var/log/terraform-cloud-init-output.log" diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/data.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/data.tf new file mode 100644 index 0000000..9d8aa7c --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/data.tf @@ -0,0 +1,26 @@ +data "azurerm_client_config" "current" { } + +data "azurerm_subscription" "current" {} + +data "azurerm_subscriptions" "available" {} + +data "cloudinit_config" "init_cli" { + gzip = false + base64_encode = false + part { + content_type = "text/cloud-config" + content = templatefile("cloud-init.yml", { + File1Content : local.File1Content + File1Name : local.File1Name + File2Content : local.File2Content + File2Name : local.File2Name + File3Content : local.File3Content + File3Name : local.File3Name + UserName: local.AppUserName + }) + } +} + +data "http" "ip" { + url = "https://ifconfig.me/ip" +} \ No newline at end of file diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/locals.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/locals.tf new file mode 100644 index 0000000..2cc5742 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/locals.tf @@ -0,0 +1,100 @@ +locals { + AgentVmSize = var.AgentVmSize + Agent1InstanceId = "agent1" + AppTag = "bps" + AppUserName = "ixia" + AppVmSize = var.AppVmSize + File1Content = tls_private_key.SshKey.private_key_pem + File1Name = "id_rsa" + File2Content = tls_private_key.SshKey.public_key_openssh + File2Name = "authorized_keys" + File3Content = tls_private_key.SshKey.public_key_openssh + File3Name = "id_rsa.pub" + Preamble = "${local.UserLoginTag}-${local.UserProjectTag}-${local.AppTag}" + PublicSecurityRuleSourceIpPrefixes = var.PublicSecurityRuleSourceIpPrefixes == null ? [ "${data.http.ip.response_body}/32" ] : var.PublicSecurityRuleSourceIpPrefixes + ResourceGroupLocation = var.ResourceGroupLocation + ResourceGroupName = var.ResourceGroupName == null ? "${local.Preamble}-resource-group" : var.ResourceGroupName + SshKeyAlgorithm = "RSA" + SshKeyName = "${local.Preamble}-ssh-key" + SshKeyRsaBits = "4096" + UserEmailTag = var.UserEmailTag == null ? data.azurerm_client_config.current.client_id : var.UserEmailTag + UserLoginTag = var.UserLoginTag == null ? "terraform" : var.UserLoginTag + UserProjectTag = var.UserProjectTag == null ? random_id.RandomId.id : var.UserProjectTag +} + +locals { + Agents = { + Agent1 = { + Eth0PrivateIpAddress = "10.0.10.11" + Eth1PrivateIpAddresses = [ "10.0.2.11", "10.0.2.12", "10.0.2.13", "10.0.2.14", "10.0.2.15", "10.0.2.16", "10.0.2.17", "10.0.2.18", "10.0.2.19", "10.0.2.20" ] + Eth2PrivateIpAddresses = [ "10.0.3.11", "10.0.3.12", "10.0.3.13", "10.0.3.14", "10.0.3.15", "10.0.3.16", "10.0.3.17", "10.0.3.18", "10.0.3.19", "10.0.3.20" ] + InstanceId = "agent1" + } + Agent2 = { + Eth0PrivateIpAddress = "10.0.10.12" + Eth1PrivateIpAddresses = [ "10.0.2.21", "10.0.2.22", "10.0.2.23", "10.0.2.24", "10.0.2.25", "10.0.2.26", "10.0.2.27", "10.0.2.28", "10.0.2.29", "10.0.2.30" ] + Eth2PrivateIpAddresses = [ "10.0.3.21", "10.0.3.22", "10.0.3.23", "10.0.3.24", "10.0.3.25", "10.0.3.26", "10.0.3.27", "10.0.3.28", "10.0.3.29", "10.0.3.30" ] + InstanceId = "agent2" + } + Agent3 = { + Eth0PrivateIpAddress = "10.0.10.13" + Eth1PrivateIpAddresses = [ "10.0.2.31", "10.0.2.32", "10.0.2.33", "10.0.2.34", "10.0.2.35", "10.0.2.36", "10.0.2.37", "10.0.2.38", "10.0.2.39", "10.0.2.40" ] + Eth2PrivateIpAddresses = [ "10.0.3.31", "10.0.3.32", "10.0.3.33", "10.0.3.34", "10.0.3.35", "10.0.3.36", "10.0.3.37", "10.0.3.38", "10.0.3.39", "10.0.3.40" ] + InstanceId = "agent3" + } + Agent4 = { + Eth0PrivateIpAddress = "10.0.10.14" + Eth1PrivateIpAddresses = [ "10.0.2.41", "10.0.2.42", "10.0.2.43", "10.0.2.44", "10.0.2.45", "10.0.2.46", "10.0.2.47", "10.0.2.48", "10.0.2.49", "10.0.2.50" ] + Eth2PrivateIpAddresses = [ "10.0.3.41", "10.0.3.42", "10.0.3.43", "10.0.3.44", "10.0.3.45", "10.0.3.46", "10.0.3.47", "10.0.3.48", "10.0.3.49", "10.0.3.50" ] + InstanceId = "agent4" + } + Agent5 = { + Eth0PrivateIpAddress = "10.0.10.15" + Eth1PrivateIpAddresses = [ "10.0.2.51", "10.0.2.52", "10.0.2.53", "10.0.2.54", "10.0.2.55", "10.0.2.56", "10.0.2.57", "10.0.2.58", "10.0.2.59", "10.0.2.60" ] + Eth2PrivateIpAddresses = [ "10.0.3.51", "10.0.3.52", "10.0.3.53", "10.0.3.54", "10.0.3.55", "10.0.3.56", "10.0.3.57", "10.0.3.58", "10.0.3.59", "10.0.3.60" ] + InstanceId = "agent5" + } + Agent6 = { + Eth0PrivateIpAddress = "10.0.10.16" + Eth1PrivateIpAddresses = [ "10.0.2.61", "10.0.2.62", "10.0.2.63", "10.0.2.64", "10.0.2.65", "10.0.2.66", "10.0.2.67", "10.0.2.68", "10.0.2.69", "10.0.2.70" ] + Eth2PrivateIpAddresses = [ "10.0.3.61", "10.0.3.62", "10.0.3.63", "10.0.3.64", "10.0.3.65", "10.0.3.66", "10.0.3.67", "10.0.3.68", "10.0.3.69", "10.0.3.70" ] + InstanceId = "agent6" + } + Agent7 = { + Eth0PrivateIpAddress = "10.0.10.17" + Eth1PrivateIpAddresses = [ "10.0.2.71", "10.0.2.72", "10.0.2.73", "10.0.2.74", "10.0.2.75", "10.0.2.76", "10.0.2.77", "10.0.2.78", "10.0.2.79", "10.0.2.80" ] + Eth2PrivateIpAddresses = [ "10.0.3.71", "10.0.3.72", "10.0.3.73", "10.0.3.74", "10.0.3.75", "10.0.3.76", "10.0.3.77", "10.0.3.78", "10.0.3.79", "10.0.3.80" ] + InstanceId = "agent7" + } + Agent8 = { + Eth0PrivateIpAddress = "10.0.10.18" + Eth1PrivateIpAddresses = [ "10.0.2.81", "10.0.2.82", "10.0.2.83", "10.0.2.84", "10.0.2.85", "10.0.2.86", "10.0.2.87", "10.0.2.88", "10.0.2.89", "10.0.2.90" ] + Eth2PrivateIpAddresses = [ "10.0.3.81", "10.0.3.82", "10.0.3.83", "10.0.3.84", "10.0.3.85", "10.0.3.86", "10.0.3.87", "10.0.3.88", "10.0.3.89", "10.0.3.90" ] + InstanceId = "agent8" + } + Agent9 = { + Eth0PrivateIpAddress = "10.0.10.19" + Eth1PrivateIpAddresses = [ "10.0.2.91", "10.0.2.92", "10.0.2.93", "10.0.2.94", "10.0.2.95", "10.0.2.96", "10.0.2.97", "10.0.2.98", "10.0.2.99", "10.0.2.100" ] + Eth2PrivateIpAddresses = [ "10.0.3.91", "10.0.3.92", "10.0.3.93", "10.0.3.94", "10.0.3.95", "10.0.3.96", "10.0.3.97", "10.0.3.98", "10.0.3.99", "10.0.3.100" ] + InstanceId = "agent9" + } + Agent10 = { + Eth0PrivateIpAddress = "10.0.10.20" + Eth1PrivateIpAddresses = [ "10.0.2.101", "10.0.2.102", "10.0.2.103", "10.0.2.104", "10.0.2.105", "10.0.2.106", "10.0.2.107", "10.0.2.108", "10.0.2.109", "10.0.2.110" ] + Eth2PrivateIpAddresses = [ "10.0.3.101", "10.0.3.102", "10.0.3.103", "10.0.3.104", "10.0.3.105", "10.0.3.106", "10.0.3.107", "10.0.3.108", "10.0.3.109", "10.0.3.110" ] + InstanceId = "agent10" + } + Agent11 = { + Eth0PrivateIpAddress = "10.0.10.21" + Eth1PrivateIpAddresses = [ "10.0.2.111", "10.0.2.112", "10.0.2.113", "10.0.2.114", "10.0.2.115", "10.0.2.116", "10.0.2.117", "10.0.2.118", "10.0.2.119", "10.0.2.120" ] + Eth2PrivateIpAddresses = [ "10.0.3.111", "10.0.3.112", "10.0.3.113", "10.0.3.114", "10.0.3.115", "10.0.3.116", "10.0.3.117", "10.0.3.118", "10.0.3.119", "10.0.3.120" ] + InstanceId = "agent11" + } + Agent12 = { + Eth0PrivateIpAddress = "10.0.10.22" + Eth1PrivateIpAddresses = [ "10.0.2.121", "10.0.2.122", "10.0.2.123", "10.0.2.124", "10.0.2.125", "10.0.2.216", "10.0.2.127", "10.0.2.128", "10.0.2.129", "10.0.2.130" ] + Eth2PrivateIpAddresses = [ "10.0.3.121", "10.0.3.122", "10.0.3.123", "10.0.3.124", "10.0.3.125", "10.0.3.216", "10.0.3.127", "10.0.3.128", "10.0.3.129", "10.0.3.130" ] + InstanceId = "agent12" + } + } +} diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf new file mode 100644 index 0000000..5b106de --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/main.tf @@ -0,0 +1,50 @@ +module "App" { + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-app.git?ref=26.1.0" + Eth0SubnetId = module.Vnet.PublicSubnet.id + ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location + ResourceGroupName = azurerm_resource_group.ResourceGroup.name + SshKeyName = azurerm_ssh_public_key.SshKey.name + UserEmailTag = local.UserEmailTag + UserLoginTag = local.UserLoginTag + UserProjectTag = local.UserProjectTag + VmSize = local.AppVmSize + init_cli = data.cloudinit_config.init_cli.rendered + depends_on = [ + azurerm_ssh_public_key.SshKey, + module.Agents, + module.Vnet + ] +} + +module "Agents" { + source = "git::https://github.com/Keysight/terraform-azurerm-module-bps-agent.git?ref=26.1.0" + for_each = local.Agents + Eth0IpAddress = each.value.Eth0PrivateIpAddress + Eth0SubnetId = module.Vnet.PublicSubnet.id + Eth1IpAddresses = each.value.Eth1PrivateIpAddresses + Eth1SubnetId = module.Vnet.Private1Subnet.id + Eth2IpAddresses = each.value.Eth2PrivateIpAddresses + Eth2SubnetId = module.Vnet.Private2Subnet.id + InstanceId = each.value.InstanceId + ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location + ResourceGroupName = azurerm_resource_group.ResourceGroup.name + SshKeyName = azurerm_ssh_public_key.SshKey.name + UserEmailTag = local.UserEmailTag + UserLoginTag = local.UserLoginTag + UserProjectTag = local.UserProjectTag + VmSize = local.AgentVmSize + init_cli = data.cloudinit_config.init_cli.rendered + depends_on = [ + azurerm_ssh_public_key.SshKey, + module.Vnet + ] +} + +resource "azurerm_resource_group" "ResourceGroup" { + name = local.ResourceGroupName + location = local.ResourceGroupLocation +} + +resource "random_id" "RandomId" { + byte_length = 4 +} diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/output.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/output.tf new file mode 100644 index 0000000..bc98106 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/output.tf @@ -0,0 +1,54 @@ +output "Agents" { + value = { + for name, module in module.Agents : + name => { + "admin_username" : module.Instance.admin_username + "fqdn" : module.Eth0PublicIpAddress.fqdn + "name" : module.Instance.name + "private_ip_address" : module.Instance.private_ip_address + "public_ip_address" : module.Eth0PublicIpAddress.ip_address + "size" : module.Instance.size + } + } +} + +output "App" { + value = { + "admin_username" : module.App.Instance.admin_username + "fqdn" : module.App.Eth0PublicIpAddress.fqdn + "name" : module.App.Instance.name + "private_ip_address" : module.App.Instance.private_ip_address + "public_ip_address" : module.App.Eth0PublicIpAddress.ip_address + "size" : module.App.Instance.size + } +} + +output "ResourceGroup" { + value = { + "location" : azurerm_resource_group.ResourceGroup.location + "name" : azurerm_resource_group.ResourceGroup.name + } +} + +output "SshKey" { + sensitive = true + value = { + "private_key_pem" : tls_private_key.SshKey.private_key_pem + } +} + +output "Subscription" { + sensitive = true + value = { + "display_name" : data.azurerm_subscription.current.display_name + "subscription_id" : data.azurerm_subscription.current.subscription_id + } +} + +output "Subscriptions" { + sensitive = true + value = { + "available.display_name" : data.azurerm_subscriptions.available.subscriptions[*].display_name + "available.subscription_id" : data.azurerm_subscriptions.available.subscriptions[*].subscription_id + } +} diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/provider.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/provider.tf new file mode 100644 index 0000000..594ffb1 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/provider.tf @@ -0,0 +1,12 @@ +provider "azurerm" { + client_id = local.ClientId + client_secret = local.ClientSecret + resource_provider_registrations = local.ResourceProviderRegistrations + subscription_id = local.SubscriptionId + tenant_id = local.TenantId + features { + resource_group { + prevent_deletion_if_contains_resources = false + } + } +} \ No newline at end of file diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/ssh.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/ssh.tf new file mode 100644 index 0000000..cb31119 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/ssh.tf @@ -0,0 +1,11 @@ +resource "azurerm_ssh_public_key" "SshKey" { + name = local.SshKeyName + resource_group_name = azurerm_resource_group.ResourceGroup.name + location = azurerm_resource_group.ResourceGroup.location + public_key = tls_private_key.SshKey.public_key_openssh +} + +resource "tls_private_key" "SshKey" { + algorithm = local.SshKeyAlgorithm + rsa_bits = local.SshKeyRsaBits +} \ No newline at end of file diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.azure.auto.tfvars b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.azure.auto.tfvars new file mode 100644 index 0000000..9f45b37 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.azure.auto.tfvars @@ -0,0 +1,5 @@ +# ClientId = "00000000-0000-0000-0000-000000000000" +# ClientSecret = "ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567" +# ResourceProviderRegistrations = "core" +# SubscriptionId = "00000000-0000-0000-0000-000000000000" +# TenantId = "00000000-0000-0000-0000-000000000000" \ No newline at end of file diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars new file mode 100644 index 0000000..be39ae5 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/terraform.optional.auto.tfvars @@ -0,0 +1,8 @@ +# AgentVmSize = "Standard_E8_v5" +# AppVmSize = "Standard_F4s_v2" +# PublicSecurityRuleSourceIpPrefixes = [ "1.1.1.1/32" ] +# ResourceGroupLocation = "East US" +# ResourceGroupName = "azure-bps-1-app-1-agent" +# UserEmailTag = "terraform@example.com" +# UserLoginTag = "terraform" +# UserProjectTag = "cloud-ist" diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf new file mode 100644 index 0000000..e8b3951 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/variables.tf @@ -0,0 +1,69 @@ +variable "AgentVmSize" { + default = "Standard_E8_v5" + description = "Category, series and instance specifications associated with the Agent VM" + type = string + validation { + condition = contains([ "Standard_E8_v5", "Standard_E16_v5" ], var.AgentVmSize) + error_message = <= 14 + error_message = "UserEmailTag minimum length must be >= 14." + } +} + +variable "UserLoginTag" { + default = null + description = "Login ID tag of user creating the deployment" + type = string + validation { + condition = var.UserLoginTag == null ? true : length(var.UserLoginTag) >= 4 + error_message = "UserLoginTag minimum length must be >= 4." + } +} + +variable "UserProjectTag" { + default = null + description = "Project tag of user creating the deployment" + type = string +} diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/versions.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/versions.tf new file mode 100644 index 0000000..6a87793 --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_version = ">= 1.5.7" + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = ">= 4.10.0" + } + } +} diff --git a/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf new file mode 100644 index 0000000..9affc6a --- /dev/null +++ b/microsoft-azure/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-Azure-1-App-12-Virtual-Blades-1-Vnet-1-Public-Subnet-2-Private-Subnets/vnet.tf @@ -0,0 +1,10 @@ +module "Vnet" { + source = "git::https://github.com/Keysight/terraform-azurerm-module-1-vnet-1-public-subnet-2-private-subnets.git?ref=26.1.0" + PublicSecurityRuleSourceIpPrefixes = local.PublicSecurityRuleSourceIpPrefixes + ResourceGroupLocation = azurerm_resource_group.ResourceGroup.location + ResourceGroupName = azurerm_resource_group.ResourceGroup.name + Tag = local.AppTag + UserEmailTag = local.UserEmailTag + UserLoginTag = local.UserLoginTag + UserProjectTag = local.UserProjectTag +} From 99aee72de3d18c297f32e42c088c2a231fdf77c8 Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 23:24:19 -0400 Subject: [PATCH 15/20] Update Makefile, Makefile, Makefile, and 1 more file --- .../Makefile | 40 ++++++++++++++----- .../Makefile | 40 ++++++++++++++----- .../Makefile | 40 ++++++++++++++----- .../Makefile | 40 ++++++++++++++----- 4 files changed, 120 insertions(+), 40 deletions(-) diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile index fec4a4a..9295f61 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,38 +1,58 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/Makefile b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/Makefile index fec4a4a..9295f61 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/Makefile +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/Makefile @@ -1,38 +1,58 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile index ce2ee8b..9cba38a 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,38 +1,58 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect-agent1: chmod +x ./CloudShell/connect.sh diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/Makefile b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/Makefile index ce2ee8b..9cba38a 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/Makefile +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/Makefile @@ -1,38 +1,58 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + +TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) +export TF_DATA_DIR + +TF := time terraform +TF_FLAGS := -auto-approve + +azure: all all: init apply ssh clean: state destroy version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect-agent1: chmod +x ./CloudShell/connect.sh From 21fc925c83ec7abca5ef184cb3636e6cf03cc9e6 Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 23:24:44 -0400 Subject: [PATCH 16/20] Update main.tf, main.tf, main.tf, and 1 more file --- .../main.tf | 4 ++-- .../BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/main.tf | 4 ++-- .../main.tf | 2 +- .../BPS-on-GCP-1-Virtual-Blade-Add-On/main.tf | 5 ++++- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf index 672bdbd..f2500d5 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-google-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-bps-app.git?ref=26.1.0" Eth0SubnetName = module.Vpc.PublicSubnet.name Eth0VpcNetworkName = module.Vpc.PublicVpcNetwork.name MachineType = local.AppMachineType @@ -16,7 +16,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.1.0" Eth0SubnetName = module.Vpc.PublicSubnet.name Eth0VpcNetworkName = module.Vpc.PublicVpcNetwork.name Eth1SubnetName = module.Vpc.Private1Subnet.name diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/main.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/main.tf index eb1837c..eea7a88 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/main.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-Add-On/main.tf @@ -1,5 +1,5 @@ module "App" { - source = "git::https://github.com/Keysight/terraform-google-module-bps-app.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-bps-app.git?ref=26.1.0" Eth0SubnetName = data.google_compute_subnetwork.PublicSubnet.name Eth0VpcNetworkName = data.google_compute_network.PublicVpcNetwork.name MachineType = local.AppMachineType @@ -12,7 +12,7 @@ module "App" { } module "Agent1" { - source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.1.0" Eth0SubnetName = data.google_compute_subnetwork.PublicSubnet.name Eth0VpcNetworkName = data.google_compute_network.PublicVpcNetwork.name Eth1SubnetName = data.google_compute_subnetwork.Private1Subnet.name diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf index 9d2ca3d..6b30a3a 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/main.tf @@ -1,5 +1,5 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.1.0" Eth0SubnetName = module.Vpc.PublicSubnet.name Eth0VpcNetworkName = module.Vpc.PublicVpcNetwork.name Eth1SubnetName = module.Vpc.Private1Subnet.name diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/main.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/main.tf index ae2d05d..fda3881 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/main.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/main.tf @@ -1,9 +1,12 @@ module "Agent1" { - source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-bps-agent.git?ref=26.1.0" + Eth0PrivateIpAddress = local.Agent1Eth0PrivateIpAddress Eth0SubnetName = data.google_compute_subnetwork.PublicSubnet.name Eth0VpcNetworkName = data.google_compute_network.PublicVpcNetwork.name + Eth1PrivateIpAddress = local.Agent1Eth1PrivateIpAddress Eth1SubnetName = data.google_compute_subnetwork.Private1Subnet.name Eth1VpcNetworkName = data.google_compute_network.Private1VpcNetwork.name + Eth2PrivateIpAddress = local.Agent1Eth2PrivateIpAddress Eth2SubnetName = data.google_compute_subnetwork.Private2Subnet.name Eth2VpcNetworkName = data.google_compute_network.Private2VpcNetwork.name InstanceId = local.Agent1InstanceId From 0b70549f8f3e7ece34fe62ab1cbf45a038f5e4d2 Mon Sep 17 00:00:00 2001 From: armdupre Date: Sat, 4 Jul 2026 23:25:08 -0400 Subject: [PATCH 17/20] Update output.tf, vpc.tf, vpc.tf, and 1 more file --- .../output.tf | 2 +- .../vpc.tf | 2 +- .../vpc.tf | 2 +- .../BPS-on-GCP-1-Virtual-Blade-Add-On/locals.tf | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/output.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/output.tf index 9a2d2f2..8f8cef2 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/output.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/output.tf @@ -76,7 +76,7 @@ output "Private2VpcNetwork" { output "PublicVpcNetwork" { value = { mtu = module.Vpc.PublicVpcNetwork.mtu - name = module.Vpc.PublicVpcNetwork.name + name = module.Vpc.PublicVpcNetwork.name } } diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf index 0fe2f22..d6cbefc 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-GCP-1-App-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf @@ -1,5 +1,5 @@ module "Vpc" { - source = "git::https://github.com/Keysight/terraform-google-module-3-vpcs-1-public-subnet-2-private-subnets.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-3-vpcs-1-public-subnet-2-private-subnets.git?ref=26.1.0" Private1VpcNetworkMtu = local.Private1VpcNetworkMtu Private2VpcNetworkMtu = local.Private2VpcNetworkMtu PublicFirewallRuleSourceIpRanges = local.PublicFirewallRuleSourceIpRanges diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf index 0fe2f22..d6cbefc 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-3-VPCs-1-Public-Subnet-2-Private-Subnets/vpc.tf @@ -1,5 +1,5 @@ module "Vpc" { - source = "git::https://github.com/Keysight/terraform-google-module-3-vpcs-1-public-subnet-2-private-subnets.git?ref=26.0.0" + source = "git::https://github.com/Keysight/terraform-google-module-3-vpcs-1-public-subnet-2-private-subnets.git?ref=26.1.0" Private1VpcNetworkMtu = local.Private1VpcNetworkMtu Private2VpcNetworkMtu = local.Private2VpcNetworkMtu PublicFirewallRuleSourceIpRanges = local.PublicFirewallRuleSourceIpRanges diff --git a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/locals.tf b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/locals.tf index fec2ba2..4b4935d 100644 --- a/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/locals.tf +++ b/google-cloud-platform/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-GCP-1-Virtual-Blade-Add-On/locals.tf @@ -1,5 +1,8 @@ locals { AgentMachineType = var.AgentMachineType + Agent1Eth0PrivateIpAddress = "10.0.10.12" + Agent1Eth1PrivateIpAddress = "10.0.2.115" + Agent1Eth2PrivateIpAddress = "10.0.3.115" Agent1InstanceId = "agent1" AppTag = "bps" AppUserName = "ixia" From c7421f605b8d22afe8a91a58db855b5b665c1ce4 Mon Sep 17 00:00:00 2001 From: armdupre Date: Tue, 7 Jul 2026 16:27:40 -0400 Subject: [PATCH 18/20] Update Makefile, Makefile, Makefile, and 3 more files --- .../Makefile | 36 +++++++++++++------ .../Makefile | 36 +++++++++++++------ .../Makefile | 36 +++++++++++++------ .../Makefile | 36 +++++++++++++------ .../Makefile | 36 +++++++++++++------ .../Makefile | 36 +++++++++++++------ 6 files changed, 156 insertions(+), 60 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile index d079fc8..b625242 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile @@ -1,7 +1,12 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) export TF_DATA_DIR +TF := time terraform +TF_FLAGS := -auto-approve + aws: install all all: init apply ssh output @@ -18,34 +23,45 @@ endif endif version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile index d079fc8..b625242 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,7 +1,12 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) export TF_DATA_DIR +TF := time terraform +TF_FLAGS := -auto-approve + aws: install all all: init apply ssh output @@ -18,34 +23,45 @@ endif endif version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile index d079fc8..b625242 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-Add-On/Makefile @@ -1,7 +1,12 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) export TF_DATA_DIR +TF := time terraform +TF_FLAGS := -auto-approve + aws: install all all: init apply ssh output @@ -18,34 +23,45 @@ endif endif version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile index d079fc8..b625242 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/Makefile @@ -1,7 +1,12 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) export TF_DATA_DIR +TF := time terraform +TF_FLAGS := -auto-approve + aws: install all all: init apply ssh output @@ -18,34 +23,45 @@ endif endif version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile index d079fc8..b625242 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-1-VPC-1-Public-Subnet-2-Private-Subnets/Makefile @@ -1,7 +1,12 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) export TF_DATA_DIR +TF := time terraform +TF_FLAGS := -auto-approve + aws: install all all: init apply ssh output @@ -18,34 +23,45 @@ endif endif version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app diff --git a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile index d079fc8..b625242 100644 --- a/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-VirtualBladeOnly/BPS-on-AWS-1-Virtual-Blade-Add-On/Makefile @@ -1,7 +1,12 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) export TF_DATA_DIR +TF := time terraform +TF_FLAGS := -auto-approve + aws: install all all: init apply ssh output @@ -18,34 +23,45 @@ endif endif version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app From 12e641d54c2bdc02fb2ae699d9f7618f932aff60 Mon Sep 17 00:00:00 2001 From: armdupre Date: Tue, 7 Jul 2026 16:27:49 -0400 Subject: [PATCH 19/20] Update Makefile --- .../Makefile | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile index 1bfbaa9..fd75ca4 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-12-Virtual-Blades-1-VPC-2-Public-Subnets-2-Private-Subnets/Makefile @@ -1,7 +1,12 @@ SHELL := /bin/bash +.SHELLFLAGS := -euo pipefail -c + TF_DATA_DIR := /tmp/tfdata-$(notdir $(CURDIR)) export TF_DATA_DIR +TF := time terraform +TF_FLAGS := -auto-approve + aws: install all all: init apply ssh output @@ -18,34 +23,45 @@ endif endif version: - time terraform version + @echo "=== $(TF) version ===" + $(TF) version init: - time terraform init + @echo "=== $(TF) init ===" + $(TF) init validate: - time terraform validate + @echo "=== $(TF) validate ===" + $(TF) validate update: - time terraform get -update + @echo "=== $(TF) update ===" + $(TF) get -update plan: - time terraform plan + @echo "=== $(TF) plan ===" + $(TF) plan apply: - time terraform apply -auto-approve + @echo "=== $(TF) apply ===" + $(TF) apply $(TF_FLAGS) destroy: - time terraform destroy -auto-approve + @echo "=== $(TF) destroy ===" + $(TF) destroy $(TF_FLAGS) output: - time terraform output + @echo "=== $(TF) output ===" + $(TF) output ssh: - time terraform output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + @echo "=== $(TF) ssh ===" + $(TF) output SshKey | tail -n +3 | head -n-3 | sed "s/^[ \t]*//" > .sshkey.pem + chmod 400 .sshkey.pem state: - time terraform state list + @echo "=== $(TF) state ===" + $(TF) state list connect: connect-app From 1b4eda36cf01ed440625e8b94d28045ea1fb6505 Mon Sep 17 00:00:00 2001 From: armdupre Date: Tue, 7 Jul 2026 16:28:09 -0400 Subject: [PATCH 20/20] Update variables.tf --- .../variables.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf index f83f16c..17ca75b 100644 --- a/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf +++ b/aws/Deployment/Terraform/BPS-VE-FullDeployment/BPS-on-AWS-1-App-1-Virtual-Blade-1-VPC-1-Public-Subnet-1-Private-Subnet/variables.tf @@ -44,6 +44,7 @@ variable "PrivateSubnetAvailabilityZone" { variable "PublicSubnetAvailabilityZone" { default = "us-east-1a" + description = "AZ id associated with the public subnet" type = string }