Skip to content

Spirent-Terraform-Modules/terraform-aws-stc-gui

Repository files navigation

AWS Windows Spirent TestCenter Application Terraform

Description

Run a Windows Server instance and install the Windows Spirent TestCenter application. After the instance has been started connect using Remote Desktop to use Spirent TestCenter.

Spirent TestCenter Virtual traffic generator instances can be created via Terraform.

Prerequisites

  • Obtain a copy of the Windows Spirent TestCenter Application from http://support.spirent.com. Be sure to update the stc_installer variable to point to this file.

Connect to Windows Server

After the Windows Server instance is running, you can connect to it over Remote Desktop (RDP).

  1. Find the Windows Server instance you provisioned in the AWS dashboard.
  2. Select the instance and click Connect.
  3. Select the RDP Client tab and download the remote desktop file.
  4. Click Get password and upload the private key you specified in your Terraform script (i.e. private_key_file).
  5. Click Decrypt password and copy the auto-generated password. This will be the password required to login to the Windows Server.
  6. Locate and launch the RDP file you downloaded in step 3.
  7. Click Connect and provide the password from step 5. The username is Administrator.
  8. You may receive a security warning about an insecure certificate due to the instance using a self-signed certificate. Click Yes to continue.
  9. You should now see the Windows desktop with a shortcut to the Spirent TestCenter Application.
  10. Launch the Spirent TestCenter Application.

Requirements

Name Version
terraform >= 0.13.0
aws >= 2.65

Providers

Name Version
aws >= 2.65
null n/a
random n/a
template n/a

Modules

No Modules.

Resources

Name
aws_ami
aws_eip_association
aws_instance
aws_network_interface
aws_security_group
null_resource
random_id
template_file

Inputs

Name Description Type Default Required
ami The base Windows Server AMI. When not specified latest Windows Server 2019 AMI will be used. string "" no
dest_dir Destination directory on the instance where files will be copied string "c:/users/administrator/downloads" no
eips List of management plane elastic IP IDs. Leave empty if subnet auto assigns IPs. list(string) [] no
enable_provisioner Enable provisioning bool true no
ingress_cidr_blocks List of management interface ingress IPv4/IPv6 CIDR ranges. Set to empty list when using security_group_ids. list(string) n/a yes
instance_count Number of instances to create number 1 no
instance_name Name assigned to the Windows STC GUI instance. An instance number will be appended to the name. string "stcgui-" no
instance_type AWS instance type string "m5.large" no
key_name AWS SSH key name to assign to each instance string n/a yes
private_key_file AWS key private file string n/a yes
root_block_device Customize details about the root block device of the instance. See Block Devices below for details. list(map(string)) [] no
security_group_ids List of management plane security group IDs. Leave empty to create a default security group using ingress_cidr_blocks. list(string) [] no
stc_installer File path to 'Spirent TestCenter Application x64.exe' or 'Spirent TestCenter Application.exe' installer. string n/a yes
subnet_id Management public AWS subnet ID string n/a yes
vpc_id AWS VPC ID string n/a yes

Outputs

Name Description
instance_ids List of instance IDs
instance_password_data List of instance password data. This allows additional provisioners to rsadecrypt the password.
instance_private_ips List of private IP addresses assigned to the instances, if applicable
instance_public_ips List of public IP addresses assigned to the instances, if applicable

Block Devices

Root Block Device

The root_block_device mapping supports the following:

Name Description Type Default Required
delete_on_termination Whether the volume should be destroyed on instance termination. string true no
encrypted Whether to enable volume encryption. Must be configured to perform drift detection. bool false no
iops Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3. number n/a no
kms_key_id Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. string n/a no
tags A map of tags to assign to the device. map(string) {} no
throughput Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3. number n/a no
volume_size Size of the volume in gibibytes (GiB). number n/a no
volume_type Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. string gp2 no

Releases

No releases published

Packages

No packages published