basic/minimal_setup_ami

This cluster creates the minimal infrastructure for setting up a Game AMI. You must pass it the IAM and VPC resources.

Providers

  • aws (~> 3.35.0)

Requirements

  • terraform >= 0.13

  • aws ~> 3.35.0

Inputs

bastionid (string)

Id of this bastion instance

cluster (string)

Name of your cluster

game_instance_profile_name (string)

The instance profile name to provide for the game instances.

key_pair_private (string)

Key Pair Private PEM to use instead of creating a new one

key_pair_public (string)

Key Pair Public Key to use instead of creating a new one

trusted_cidr (string)

CIDR to be trusted. This should at least contain the external CIDR (<ip>/32) for the local machine. Otherwise, the provision and access to Consul/Nomad will fail.

vpc_id (string)

Specifies the VPC ID to use instead of creating a new one. This enables sharing VPCs between clusters.

Important

The VPC must have subnets named with namespace-stage-public-az or it will fail. A vpc_id should begin like this: vpc-...

admin_password (string)

The administrator password for the Windows machine. The Windows machine is only accessible from the other server instances and from other machines that share the same external IP as yours 2.

Default: 1genvid6

ami_version (string)

Version prefix of the AMIs (both wingame and server) to use (ex: 1.20.0 will match both 1.20.0 and 1.20.0.0 versions).

In order to use an AMI with a version suffix, the whole version with the suffix must be specified (ex: 1.28.0.1.mysuffix)

Default: 1.42.0

azs (list(string))

A list of availability zones in the region. subnet_ids takes precedence over azs. Only the first value from the list is used.

custom_tags (map(string))

Map of user defined tags to add to all cloud resources. 1 5

datacenter (string)

Consul/Nomad datacenter

Default: default

instance_game_type (string)

Type of EC2 instance to use for server

Default: g5.xlarge

region (string)

AWS deployment region

Default: us-east-1

setup_ami_owners (list(string))

The list of owners that a valid AMI can have. Default to Genvid public account. 7 8

Default: [‘149754531711’]

setup_ami_prefix (string)

A common prefix for the game AMI. This is the prefix we use in the Save the AMI section. You can change it if you want to experiment with your own AMI. 6 8

Default: genvidtech

subnet_ids (list(string))

An ordered list of Public subnets that can be used. Empty means all subnets in all AZs.

Note

Only one subnet per AZ is allowed. Thus, if your AZ has more than one subnet, this variable is mandatory and you should provide the ID of the public subnet that you want to use in each AZ. Subnet_ids takes precedence over AZs. 3

toolbox_location (string)

Genvid Toolbox Wheel file.

Only required if you need to update the one from the AMI. An empty value indicates to not install the toolbox.

trusted_cidrs (list(string))

A list of CIDR to be trusted

use_drive_encryption (bool)

If you want to have encrypted EBS, select true. If you do not want to have encypted EBS, or you are upgrading the SDK version from 1.24 or below to 1.25 or higher, select false. 4

Warning

Your drives will be recreated if you toggle this feature with existing drives. Prior to 1.25, the drives were not encrypted. Starting with version 1.25 the encryption is enabled by default.

Default: True

Outputs

ami_version
azs_selected

A list of availability zones in the region

cluster
game_instance_ids
game_private_ips
game_public_ips
private_key_pem
region
subnet_ids

Specifies an ordered list of subnets that was used.

subnet_selected

A list of selected subnets to use in the vpc

subnets_available

List of subnets that were detected as available to use.

1

In addition to custom tags, Genvid reserves the right to add its own tags on resources. If they are not documented, they are intended to be used by Genvid without any guarantee of backward compatibility.

2

Future versions of the Cluster will use a bastion host instead for increased security.

3

New in version 1.24.0.

4

New in version 1.25.0.

5

New in version 1.26.0.

6

New in version 1.27.0.

7

Changed in version 1.30.0: Renamed from ami_owner to game_ami_owners and made it a list of strings.

8(1,2)

Changed in version 1.38.0: Renamed from game_ami_* to setup_ami_* since the variables have a different semantic than the ones used for the basic minimal clusters.