From 5699e758a09ad5a7f6330359f64a79aa9b87a367 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Sat, 13 Sep 2025 14:54:10 -0400 Subject: [PATCH 1/6] terraform/aws: Add a script to generate the Kconfig.locations menu Enable kdevops to quickly pick up new regions and availability zones whenever they are introduced by AWS. The regions that are discovered and output by this script are those that the user has opted-in or are "no opt-in required". boto3 reuses connections to the API endpoint, making the generation of the Kconfig menu quick. Jinja2 lets us manage a large amount of bespoke Kconfig help text painlessly. The new script reports some basic authentication issues and has a "raw" output to enable troubleshooting. This implementation is still missing geographic location information that is retrieved via the 'pricing' API. IMO that can be introduced later. To use: $ terraform/aws/scripts/gen_kconfig_location > terraform/aws/kconfigs/Kconfig.location Signed-off-by: Chuck Lever --- terraform/aws/scripts/gen_kconfig_location | 309 +++++++++++++++++++++ terraform/aws/scripts/regions.j2 | 71 +++++ terraform/aws/scripts/zone.j2 | 22 ++ 3 files changed, 402 insertions(+) create mode 100755 terraform/aws/scripts/gen_kconfig_location create mode 100644 terraform/aws/scripts/regions.j2 create mode 100644 terraform/aws/scripts/zone.j2 diff --git a/terraform/aws/scripts/gen_kconfig_location b/terraform/aws/scripts/gen_kconfig_location new file mode 100755 index 000000000..736921e0a --- /dev/null +++ b/terraform/aws/scripts/gen_kconfig_location @@ -0,0 +1,309 @@ +#!/usr/bin/env python3 +# ex: set filetype=python: + +""" +Retrieve region and availability zone information from AWS. Use +it to construct the "locations" Kconfig menu. +""" + +import sys +import argparse +import os + +from configparser import ConfigParser +from jinja2 import Environment, FileSystemLoader + +import boto3 +from botocore.exceptions import ClientError, NoCredentialsError + + +def get_default_region(): + """ + Get the default AWS region from the ~/.aws/config file. + + Returns: + str: Default region, or 'us-east-1' if no default + is found. + """ + config_path = os.path.expanduser('~/.aws/config') + if os.path.exists(config_path): + try: + config = ConfigParser() + config.read(config_path) + if 'default' in config: + return config['default'].get('region', 'us-east-1') + if 'profile default' in config: + return config['profile default'].get('region', 'us-east-1') + except Exception as e: + print(f"Warning: Error reading AWS config file: {e}", file=sys.stderr) + return 'us-east-1' + + +def get_all_regions(): + """ + Retrieve the list of all AWS regions. Convert it to a dictionary + keyed on region name + + Returns: + list: sort list of dictionaries each containing a region + """ + try: + ec2 = boto3.client('ec2') + response = ec2.describe_regions(AllRegions=True) + + regions = {} + for region in response['Regions']: + region_name = region['RegionName'] + regions[region_name] = { + 'region_name': region_name, + 'opt_in_status': region.get('OptInStatus', 'Unknown'), + 'end_point': region.get('Endpoint') + } + return sorted(regions.values(), key=lambda x: x['region_name']) + except Exception as e: + print(f"Error retrieving AWS regions: {e}", file=sys.stderr) + return {} + + +def get_region_info(regions, region_name, quiet=False): + """ + Get detailed information about a specific region including availability zones. + + Args: + region_name (str): AWS region name (e.g., 'us-east-1', 'eu-west-1') + quiet (bool): Suppress debug messages + + Returns: + dict: Dictionary containing region information and availability zones + """ + try: + if not quiet: + print(f"Querying information for region {region_name}...", file=sys.stderr) + + region_info = next(filter(lambda x: x['region_name'] == region_name, regions), None) + if not region_info: + if not quiet: + print(f"Region {region_name} was not found", file=sys.stderr) + return None + if region_info['opt_in_status'] == "not-opted-in": + if not quiet: + print(f"Region {region_name} is not accessible.", file=sys.stderr) + return None + + ec2 = boto3.client('ec2', region_name=region_name) + response = ec2.describe_availability_zones( + AllAvailabilityZones=True, + Filters=[ + {'Name': 'region-name', 'Values': [region_name]}, + {'Name': 'zone-type', 'Values': ['availability-zone']}, + ] + ) + availability_zones = [] + for zone in response['AvailabilityZones']: + zone_info = { + 'zone_id': zone['ZoneId'], + 'zone_name': zone['ZoneName'], + 'zone_type': zone.get('ZoneType', 'availability-zone'), + 'state': zone['State'], + } + availability_zones.append(zone_info) + + result = { + 'region_name': region_info['region_name'], + 'endpoint': region_info.get('end_point', f'ec2.{region_name}.amazonaws.com'), + 'opt_in_status': region_info.get('opt_in_status', 'opt-in-not-required'), + 'availability_zone_count': len(availability_zones), + 'availability_zones': sorted(availability_zones, key=lambda x: x['zone_name']) + } + + if not quiet: + print(f"Found {len(availability_zones)} availability zones in {region_name}", + file=sys.stderr) + + return result + + except NoCredentialsError: + print("Error: AWS credentials not found. Please configure your credentials.", + file=sys.stderr) + return None + except ClientError as e: + error_code = e.response.get('Error', {}).get('Code', 'Unknown') + if error_code in ['UnauthorizedOperation', 'InvalidRegion']: + print(f"Error: Cannot access region {region_name}. Check region name and permissions.", + file=sys.stderr) + else: + print(f"AWS API Error: {e}", file=sys.stderr) + return None + except Exception as e: + print(f"Unexpected error: {e}", file=sys.stderr) + return None + + +def output_region_kconfig(region_info): + """Output region information in Kconfig format.""" + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("zone.j2") + print( + template.render( + region_name=region_info['region_name'].upper().replace('-', '_'), + zones=region_info['availability_zones'], + ) + ) + + +def output_region_raw(region_info, quiet=False): + """Output region information in table format.""" + if not quiet: + print(f"Region: {region_info['region_name']}") + print(f"Endpoint: {region_info['endpoint']}") + print(f"Opt-in status: {region_info['opt_in_status']}") + print(f"Availability Zones: {region_info['availability_zone_count']}") + + print(f"{'Zone Name':<15} {'Zone ID':<15} {'Zone Type':<18} {'State':<12} {'Parent Zone':<15}") + print("-" * 80) + + for zone in region_info['availability_zones']: + parent_zone = zone.get('parent_zone_name', '') or zone.get('parent_zone_id', '') + zone_type = zone.get('zone_type', 'availability_zone') + print(f"{zone['zone_name']:<15} " + f"{zone['zone_id']:<15} " + f"{zone_type:<18} " + f"{zone['state']:<12} " + f"{parent_zone:<15}") + + +def output_regions_kconfig(regions): + """Output available regions in kconfig format.""" + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("regions.j2") + print( + template.render( + default_region=get_default_region().upper().replace('-', '_'), + regions=regions, + ) + ) + + +def output_regions_raw(regions, quiet=False): + """Output available regions in table format.""" + if not quiet: + print(f"Available AWS regions ({len(regions)}):\n") + print(f"{'Region Name':<20} {'Opt-in Status':<20}") + print("-" * 42) + + for region in regions: + opt_in_status = region.get('opt_in_status', 'Unknown') + print(f"{region['region_name']:<20} {opt_in_status:<20}") + + +def output_locations_kconfig(regions): + """Output the locations menu in Kconfg format.""" + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("regions.j2") + print( + template.render( + default_region=get_default_region().upper().replace('-', '_'), + regions=regions, + ) + ) + + template = environment.get_template("zone.j2") + for region in regions: + region_info = get_region_info(regions, region['region_name'], True) + if region_info: + print() + print( + template.render( + region_name=region_info['region_name'].upper().replace('-', '_'), + zones=region_info['availability_zones'], + ) + ) + + +def parse_arguments(): + """Parse command line arguments.""" + parser = argparse.ArgumentParser( + description='Get AWS region and availability zone information', + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + python %(prog)s --regions + python %(prog)s us-east-1 + python %(prog)s ap-southeast-1 --quiet + """ + ) + parser.add_argument( + 'region_name', + nargs='?', + help='AWS region name (e.g., us-east-1, eu-west-1, ap-southeast-1)' + ) + + parser.add_argument( + '--format', '-f', + choices=['raw', 'kconfig'], + default='kconfig', + help='Output format (default: kconfig)' + ) + parser.add_argument( + '--quiet', '-q', + action='store_true', + help='Suppress informational messages' + ) + parser.add_argument( + '--regions', + action='store_true', + help='List all available AWS regions' + ) + return parser.parse_args() + + +def main(): + """Main function to run the program.""" + args = parse_arguments() + + if not args.quiet: + print("Fetching list of all AWS regions...", file=sys.stderr) + regions = get_all_regions() + if not regions: + sys.exit(1) + + if args.regions: + if args.format == 'kconfig': + output_regions_kconfig(regions) + else: + output_regions_raw(regions, args.quiet) + return + + if args.region_name: + if not args.quiet: + print(f"Fetching information for region {args.region_name}...", file=sys.stderr) + + region_info = get_region_info(regions, args.region_name, args.quiet) + if region_info: + if args.format == 'kconfig': + output_region_kconfig(region_info) + else: + output_region_raw(region_info, args.quiet) + else: + print(f"Could not retrieve information for region '{args.region_name}'.", file=sys.stderr) + print("Try running with --regions to see available regions.", file=sys.stderr) + sys.exit(1) + return + + output_locations_kconfig(regions) + + +if __name__ == "__main__": + main() diff --git a/terraform/aws/scripts/regions.j2 b/terraform/aws/scripts/regions.j2 new file mode 100644 index 000000000..1d00a1736 --- /dev/null +++ b/terraform/aws/scripts/regions.j2 @@ -0,0 +1,71 @@ +choice + prompt "AWS region" + default TERRAFORM_AWS_REGION_{{ default_region }} + help + Use this option to select the AWS region that hosts your + compute and storage resources. If you do not explicitly + specify a region, the US West (Oregon) region is the + default. + + Once selected, you can stick with the default AV zone + chosen by kdevops, or use: + + aws ec2 describe-availability-zones --region + + to list the Availability Zones that are enabled for your + AWS account. Enter your selection from this list using the + TERRAFORM_AWS_AV_ZONE menu. + + If you wish to expand on the region list, send a patch after + reading this list: + + https://docs.aws.amazon.com/general/latest/gr/rande.html + + Note that if you change region the AMI may change as well even + for the same distribution. At least that applies to Amazon EC2 + optimized images. Use the AWS console, to set that up it will + ask you for your credentials and then a region. Before adding + an entry for ami image be sure you are on the region and then + query with something like: + + aws ec2 describe-images --image-ids ami-0efa651876de2a5ce + + For instance, this AMI belongs to us-west-2 only. us-east* have + other AMIs for the same Amazon 2023 EC2 image. The output from + here tells me: + + "OwnerId": "137112412989" + + And that is what value to use for ami-0efa651876de2a5ce + for the TERRAFORM_AWS_AMI_OWNER. To get the ami-* for your regions + just go to your EC2 console, that console will be associated with + a region already. You have to change regions if you want to look + for AMIs in other regions. There are for example two different + ami-* values for Amazon Linux 2023 for different regions. However + they values can be same. For example below are the us-west-2 queries + for Amazon Linux 2023 for x86_64 and then for ARM64. + + aws ec2 describe-images --image-ids ami-0efa651876de2a5ce | grep OwnerId + "OwnerId": "137112412989", + aws ec2 describe-images --image-ids ami-0699f753302dd8b00 | grep OwnerId + "OwnerId": "137112412989", + +{% for region in regions %} +{% if region['opt_in_status'] != 'not-opted-in' %} +config TERRAFORM_AWS_REGION_{{ region['region_name'].upper().replace('-', '_') }} + bool "{{ region['region_name'] }}" + help + Use the {{ region['region_name'] }} region. + +{% endif %} +{% endfor %} +endchoice + +config TERRAFORM_AWS_REGION + string + output yaml +{% for region in regions %} +{% if region['opt_in_status'] != 'not-opted-in' %} + default "{{ region['region_name'] }}" if TERRAFORM_AWS_REGION_{{ region['region_name'].upper().replace('-', '_') }} +{% endif %} +{% endfor %} diff --git a/terraform/aws/scripts/zone.j2 b/terraform/aws/scripts/zone.j2 new file mode 100644 index 000000000..9d79b73d8 --- /dev/null +++ b/terraform/aws/scripts/zone.j2 @@ -0,0 +1,22 @@ +if TERRAFORM_AWS_REGION_{{ region_name }} + +choice + prompt "AWS availability zone" + +{% for zone in zones %} +config TERRAFORM_AWS_AV_ZONE_{{ zone['zone_name'].upper().replace('-', '_') }} + bool "{{ zone['zone_name'] }}" + help + Use the {{ zone['zone_name'] }} availability zone. + +{% endfor %} +endchoice + +config TERRAFORM_AWS_AV_ZONE + string + output yaml +{%for zone in zones %} + default "{{ zone['zone_name'] }}" if TERRAFORM_AWS_AV_ZONE_{{ zone['zone_name'].upper().replace('-', '_') }} +{% endfor %} + +endif # TERRAFORM_AWS_REGION_{{ region_name }} From c917cf6de775578e9945d283b51813a4c864d722 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Sat, 20 Sep 2025 14:51:30 -0400 Subject: [PATCH 2/6] terraform/aws: Replace Kconfig.location with script-generated version The generated version has the same number of regions -- all of the regions that do not require opt-in were already included. However the number of availability zones has increased for many regions. The script picks these up automatically. Signed-off-by: Chuck Lever --- terraform/aws/kconfigs/Kconfig.location | 412 +++++++++++++----------- 1 file changed, 222 insertions(+), 190 deletions(-) diff --git a/terraform/aws/kconfigs/Kconfig.location b/terraform/aws/kconfigs/Kconfig.location index e5dacb9dd..398c5e3d2 100644 --- a/terraform/aws/kconfigs/Kconfig.location +++ b/terraform/aws/kconfigs/Kconfig.location @@ -1,6 +1,6 @@ choice prompt "AWS region" - default TERRAFORM_AWS_REGION_US_WEST_2 + default TERRAFORM_AWS_REGION_US_EAST_1 help Use this option to select the AWS region that hosts your compute and storage resources. If you do not explicitly @@ -51,109 +51,89 @@ choice "OwnerId": "137112412989", config TERRAFORM_AWS_REGION_AP_NORTHEAST_1 - bool "ap-northeast-1 - Tokyo" + bool "ap-northeast-1" help - This option specifies the Asia-Pacific northeast-1 region. - The data center is located in Tokyo, Japan. + Use the ap-northeast-1 region. config TERRAFORM_AWS_REGION_AP_NORTHEAST_2 - bool "ap-northeast-2 - Seoul" + bool "ap-northeast-2" help - This option specifies the Asia-Pacific northeast-2 region. - The data center is located in Seoul, South Korea. + Use the ap-northeast-2 region. config TERRAFORM_AWS_REGION_AP_NORTHEAST_3 - bool "ap-northeast-3 - Osaka" + bool "ap-northeast-3" help - This option specifies the Asia-Pacific northeast-3 region. - The data center is located in Osaka, Japan. + Use the ap-northeast-3 region. config TERRAFORM_AWS_REGION_AP_SOUTH_1 - bool "ap-south-1 - Mumbai" + bool "ap-south-1" help - This option specifies the Asia-Pacific south-1 region. - The data center is located in Mumbai, India. + Use the ap-south-1 region. config TERRAFORM_AWS_REGION_AP_SOUTHEAST_1 - bool "ap-southeast-1 - Singapore" + bool "ap-southeast-1" help - This option specifies the Asia-Pacific southeast-1 region. - The data center is located in the Republic of Singapore. + Use the ap-southeast-1 region. config TERRAFORM_AWS_REGION_AP_SOUTHEAST_2 - bool "ap-southeast-1 - Sydney" + bool "ap-southeast-2" help - This option specifies the Asia-Pacific southeast-2 region. - The data center is located in Sydney, Australia. + Use the ap-southeast-2 region. config TERRAFORM_AWS_REGION_CA_CENTRAL_1 - bool "ca-central-1 - Central" + bool "ca-central-1" help - This option specifies the Canada central-1 region. - The data center is located in Montreal, Quebec. + Use the ca-central-1 region. config TERRAFORM_AWS_REGION_EU_CENTRAL_1 - bool "eu-central-1 - Frankfurt" + bool "eu-central-1" help - This option specifies the European Union central-1 region. - The data center is located in Frankfurt, Germany. + Use the eu-central-1 region. config TERRAFORM_AWS_REGION_EU_NORTH_1 - bool "eu-north-1 - Stockholm" + bool "eu-north-1" help - This option specifies the European Union north-1 region. - The data center is located in Stockholm, Sweden. + Use the eu-north-1 region. config TERRAFORM_AWS_REGION_EU_WEST_1 - bool "eu-west-1 - Ireland" + bool "eu-west-1" help - This option specifies the European Union west-1 region. - The data center is located in Dublin, Republic of Ireland. + Use the eu-west-1 region. config TERRAFORM_AWS_REGION_EU_WEST_2 - bool "eu-west-2 - London" + bool "eu-west-2" help - This option specifies the European Union west-2 region. - The data center is located in London, United Kingdom. + Use the eu-west-2 region. config TERRAFORM_AWS_REGION_EU_WEST_3 - bool "eu-west-3 - Paris" + bool "eu-west-3" help - This option specifies the European Union west-3 region. - The data center is located in Paris, France. + Use the eu-west-3 region. config TERRAFORM_AWS_REGION_SA_EAST_1 - bool "sa-east-1 - Sao Paulo" + bool "sa-east-1" help - This option specifies the South America east-1 region. - The data center is located in São Paulo, Brazil. + Use the sa-east-1 region. config TERRAFORM_AWS_REGION_US_EAST_1 - bool "us-east-1 - N. Virginia" + bool "us-east-1" help - This option specifies the United States east-1 region. - Multiple data centers are located in the US state of - Virginia. + Use the us-east-1 region. config TERRAFORM_AWS_REGION_US_EAST_2 - bool "us-east-2 - Ohio" + bool "us-east-2" help - This option specifies the United States east-2 region. - The data center is located in Columbus, Ohio, US. + Use the us-east-2 region. config TERRAFORM_AWS_REGION_US_WEST_1 - bool "us-west-1 - North California" + bool "us-west-1" help - This option specifies the United States west-1 region. - The data center is located in San Francisco, California, - US. + Use the us-west-1 region. config TERRAFORM_AWS_REGION_US_WEST_2 - bool "us-west-2 - Oregon" + bool "us-west-2" help - This option specifies the United States west-2 region. - Multiple data centers are located in the US state of - Oregon. + Use the us-west-2 region. endchoice @@ -178,502 +158,554 @@ config TERRAFORM_AWS_REGION default "us-west-1" if TERRAFORM_AWS_REGION_US_WEST_1 default "us-west-2" if TERRAFORM_AWS_REGION_US_WEST_2 + if TERRAFORM_AWS_REGION_AP_NORTHEAST_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1A config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1A bool "ap-northeast-1a" help - This option selects the ap-northeast-1a availability zone. + Use the ap-northeast-1a availability zone. config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1C bool "ap-northeast-1c" help - This option selects the ap-northeast-1c availability zone. + Use the ap-northeast-1c availability zone. config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1D bool "ap-northeast-1d" help - This option selects the ap-northeast-1d availability zone. + Use the ap-northeast-1d availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "ap-northeast-1a" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1A + default "ap-northeast-1c" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1C + default "ap-northeast-1d" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1D + endif # TERRAFORM_AWS_REGION_AP_NORTHEAST_1 if TERRAFORM_AWS_REGION_AP_NORTHEAST_2 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2A config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2A bool "ap-northeast-2a" help - This option selects the ap-northeast-2a availability zone. + Use the ap-northeast-2a availability zone. config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2B bool "ap-northeast-2b" help - This option selects the ap-northeast-2b availability zone. + Use the ap-northeast-2b availability zone. config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2C bool "ap-northeast-2c" help - This option selects the ap-northeast-2c availability zone. + Use the ap-northeast-2c availability zone. config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2D bool "ap-northeast-2d" help - This option selects the ap-northeast-2d availability zone. + Use the ap-northeast-2d availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "ap-northeast-2a" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2A + default "ap-northeast-2b" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2B + default "ap-northeast-2c" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2C + default "ap-northeast-2d" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2D + endif # TERRAFORM_AWS_REGION_AP_NORTHEAST_2 if TERRAFORM_AWS_REGION_AP_NORTHEAST_3 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3A config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3A bool "ap-northeast-3a" help - This option selects the ap-northeast-3a availability zone. + Use the ap-northeast-3a availability zone. config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3B bool "ap-northeast-3b" help - This option selects the ap-northeast-3b availability zone. + Use the ap-northeast-3b availability zone. config TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3C bool "ap-northeast-3c" help - This option selects the ap-northeast-3c availability zone. + Use the ap-northeast-3c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "ap-northeast-3a" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3A + default "ap-northeast-3b" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3B + default "ap-northeast-3c" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3C + endif # TERRAFORM_AWS_REGION_AP_NORTHEAST_3 if TERRAFORM_AWS_REGION_AP_SOUTH_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1A config TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1A bool "ap-south-1a" help - This option selects the ap-south-1a availability zone. + Use the ap-south-1a availability zone. config TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1B bool "ap-south-1b" help - This option selects the ap-south-1b availability zone. + Use the ap-south-1b availability zone. config TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1C bool "ap-south-1c" help - This option selects the ap-south-1c availability zone. + Use the ap-south-1c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "ap-south-1a" if TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1A + default "ap-south-1b" if TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1B + default "ap-south-1c" if TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1C + endif # TERRAFORM_AWS_REGION_AP_SOUTH_1 if TERRAFORM_AWS_REGION_AP_SOUTHEAST_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1A config TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1A bool "ap-southeast-1a" help - This option selects the ap-southeast-1a availability zone. + Use the ap-southeast-1a availability zone. config TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1B bool "ap-southeast-1b" help - This option selects the ap-southeast-1b availability zone. + Use the ap-southeast-1b availability zone. config TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1C bool "ap-southeast-1c" help - This option selects the ap-southeast-1c availability zone. + Use the ap-southeast-1c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "ap-southeast-1a" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1A + default "ap-southeast-1b" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1B + default "ap-southeast-1c" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1C + endif # TERRAFORM_AWS_REGION_AP_SOUTHEAST_1 if TERRAFORM_AWS_REGION_AP_SOUTHEAST_2 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2A config TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2A bool "ap-southeast-2a" help - This option selects the ap-southeast-2a availability zone. + Use the ap-southeast-2a availability zone. config TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2B bool "ap-southeast-2b" help - This option selects the ap-southeast-2b availability zone. + Use the ap-southeast-2b availability zone. config TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2C bool "ap-southeast-2c" help - This option selects the ap-southeast-2c availability zone. + Use the ap-southeast-2c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "ap-southeast-2a" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2A + default "ap-southeast-2b" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2B + default "ap-southeast-2c" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2C + endif # TERRAFORM_AWS_REGION_AP_SOUTHEAST_2 if TERRAFORM_AWS_REGION_CA_CENTRAL_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1A config TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1A bool "ca-central-1a" help - This option selects the ca-central-1a availability zone. + Use the ca-central-1a availability zone. config TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1B bool "ca-central-1b" help - This option selects the ca-central-1b availability zone. + Use the ca-central-1b availability zone. config TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1D bool "ca-central-1d" help - This option selects the ca-central-1d availability zone. + Use the ca-central-1d availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "ca-central-1a" if TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1A + default "ca-central-1b" if TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1B + default "ca-central-1d" if TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1D + endif # TERRAFORM_AWS_REGION_CA_CENTRAL_1 if TERRAFORM_AWS_REGION_EU_CENTRAL_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1A config TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1A bool "eu-central-1a" help - This option selects the eu-central-1a availability zone. + Use the eu-central-1a availability zone. config TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1B bool "eu-central-1b" help - This option selects the eu-central-1b availability zone. + Use the eu-central-1b availability zone. config TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1C bool "eu-central-1c" help - This option selects the eu-central-1c availability zone. + Use the eu-central-1c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "eu-central-1a" if TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1A + default "eu-central-1b" if TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1B + default "eu-central-1c" if TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1C + endif # TERRAFORM_AWS_REGION_EU_CENTRAL_1 if TERRAFORM_AWS_REGION_EU_NORTH_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_EU_NORTH_1A config TERRAFORM_AWS_AV_ZONE_EU_NORTH_1A bool "eu-north-1a" help - This option selects the eu-north-1a availability zone. + Use the eu-north-1a availability zone. config TERRAFORM_AWS_AV_ZONE_EU_NORTH_1B bool "eu-north-1b" help - This option selects the eu-north-1b availability zone. + Use the eu-north-1b availability zone. config TERRAFORM_AWS_AV_ZONE_EU_NORTH_1C bool "eu-north-1c" help - This option selects the eu-north-1c availability zone. + Use the eu-north-1c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "eu-north-1a" if TERRAFORM_AWS_AV_ZONE_EU_NORTH_1A + default "eu-north-1b" if TERRAFORM_AWS_AV_ZONE_EU_NORTH_1B + default "eu-north-1c" if TERRAFORM_AWS_AV_ZONE_EU_NORTH_1C + endif # TERRAFORM_AWS_REGION_EU_NORTH_1 if TERRAFORM_AWS_REGION_EU_WEST_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_EU_WEST_1A config TERRAFORM_AWS_AV_ZONE_EU_WEST_1A bool "eu-west-1a" help - This option selects the eu-west-1a availability zone. + Use the eu-west-1a availability zone. config TERRAFORM_AWS_AV_ZONE_EU_WEST_1B bool "eu-west-1b" help - This option selects the eu-west-1b availability zone. + Use the eu-west-1b availability zone. config TERRAFORM_AWS_AV_ZONE_EU_WEST_1C bool "eu-west-1c" help - This option selects the eu-west-1c availability zone. + Use the eu-west-1c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "eu-west-1a" if TERRAFORM_AWS_AV_ZONE_EU_WEST_1A + default "eu-west-1b" if TERRAFORM_AWS_AV_ZONE_EU_WEST_1B + default "eu-west-1c" if TERRAFORM_AWS_AV_ZONE_EU_WEST_1C + endif # TERRAFORM_AWS_REGION_EU_WEST_1 if TERRAFORM_AWS_REGION_EU_WEST_2 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_EU_WEST_2A config TERRAFORM_AWS_AV_ZONE_EU_WEST_2A bool "eu-west-2a" help - This option selects the eu-west-2a availability zone. + Use the eu-west-2a availability zone. config TERRAFORM_AWS_AV_ZONE_EU_WEST_2B bool "eu-west-2b" help - This option selects the eu-west-2b availability zone. + Use the eu-west-2b availability zone. config TERRAFORM_AWS_AV_ZONE_EU_WEST_2C bool "eu-west-2c" help - This option selects the eu-west-2c availability zone. + Use the eu-west-2c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "eu-west-2a" if TERRAFORM_AWS_AV_ZONE_EU_WEST_2A + default "eu-west-2b" if TERRAFORM_AWS_AV_ZONE_EU_WEST_2B + default "eu-west-2c" if TERRAFORM_AWS_AV_ZONE_EU_WEST_2C + endif # TERRAFORM_AWS_REGION_EU_WEST_2 if TERRAFORM_AWS_REGION_EU_WEST_3 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_EU_WEST_3A config TERRAFORM_AWS_AV_ZONE_EU_WEST_3A bool "eu-west-3a" help - This option selects the eu-west-3a availability zone. + Use the eu-west-3a availability zone. config TERRAFORM_AWS_AV_ZONE_EU_WEST_3B bool "eu-west-3b" help - This option selects the eu-west-3b availability zone. + Use the eu-west-3b availability zone. config TERRAFORM_AWS_AV_ZONE_EU_WEST_3C bool "eu-west-3c" help - This option selects the eu-west-3c availability zone. + Use the eu-west-3c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "eu-west-3a" if TERRAFORM_AWS_AV_ZONE_EU_WEST_3A + default "eu-west-3b" if TERRAFORM_AWS_AV_ZONE_EU_WEST_3B + default "eu-west-3c" if TERRAFORM_AWS_AV_ZONE_EU_WEST_3C + endif # TERRAFORM_AWS_REGION_EU_WEST_3 if TERRAFORM_AWS_REGION_SA_EAST_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_SA_EAST_1A config TERRAFORM_AWS_AV_ZONE_SA_EAST_1A bool "sa-east-1a" help - This option selects the sa-east-1a availability zone. + Use the sa-east-1a availability zone. config TERRAFORM_AWS_AV_ZONE_SA_EAST_1B bool "sa-east-1b" help - This option selects the sa-east-1b availability zone. + Use the sa-east-1b availability zone. config TERRAFORM_AWS_AV_ZONE_SA_EAST_1C bool "sa-east-1c" help - This option selects the sa-east-1c availability zone. + Use the sa-east-1c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "sa-east-1a" if TERRAFORM_AWS_AV_ZONE_SA_EAST_1A + default "sa-east-1b" if TERRAFORM_AWS_AV_ZONE_SA_EAST_1B + default "sa-east-1c" if TERRAFORM_AWS_AV_ZONE_SA_EAST_1C + endif # TERRAFORM_AWS_REGION_SA_EAST_1 if TERRAFORM_AWS_REGION_US_EAST_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_US_EAST_1A config TERRAFORM_AWS_AV_ZONE_US_EAST_1A bool "us-east-1a" help - This option selects the us-east-1a availability zone. + Use the us-east-1a availability zone. config TERRAFORM_AWS_AV_ZONE_US_EAST_1B bool "us-east-1b" help - This option selects the us-east-1b availability zone. + Use the us-east-1b availability zone. config TERRAFORM_AWS_AV_ZONE_US_EAST_1C bool "us-east-1c" help - This option selects the us-east-1c availability zone. + Use the us-east-1c availability zone. config TERRAFORM_AWS_AV_ZONE_US_EAST_1D bool "us-east-1d" help - This option selects the us-east-1d availability zone. + Use the us-east-1d availability zone. config TERRAFORM_AWS_AV_ZONE_US_EAST_1E bool "us-east-1e" help - This option selects the us-east-1e availability zone. + Use the us-east-1e availability zone. config TERRAFORM_AWS_AV_ZONE_US_EAST_1F bool "us-east-1f" help - This option selects the us-east-1f availability zone. + Use the us-east-1f availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "us-east-1a" if TERRAFORM_AWS_AV_ZONE_US_EAST_1A + default "us-east-1b" if TERRAFORM_AWS_AV_ZONE_US_EAST_1B + default "us-east-1c" if TERRAFORM_AWS_AV_ZONE_US_EAST_1C + default "us-east-1d" if TERRAFORM_AWS_AV_ZONE_US_EAST_1D + default "us-east-1e" if TERRAFORM_AWS_AV_ZONE_US_EAST_1E + default "us-east-1f" if TERRAFORM_AWS_AV_ZONE_US_EAST_1F + endif # TERRAFORM_AWS_REGION_US_EAST_1 if TERRAFORM_AWS_REGION_US_EAST_2 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_US_EAST_2A config TERRAFORM_AWS_AV_ZONE_US_EAST_2A bool "us-east-2a" help - This option selects the us-east-2a availability zone. + Use the us-east-2a availability zone. config TERRAFORM_AWS_AV_ZONE_US_EAST_2B bool "us-east-2b" help - This option selects the us-east-2a availability zone. + Use the us-east-2b availability zone. config TERRAFORM_AWS_AV_ZONE_US_EAST_2C bool "us-east-2c" help - This option selects the us-east-2c availability zone. + Use the us-east-2c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "us-east-2a" if TERRAFORM_AWS_AV_ZONE_US_EAST_2A + default "us-east-2b" if TERRAFORM_AWS_AV_ZONE_US_EAST_2B + default "us-east-2c" if TERRAFORM_AWS_AV_ZONE_US_EAST_2C + endif # TERRAFORM_AWS_REGION_US_EAST_2 if TERRAFORM_AWS_REGION_US_WEST_1 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_US_WEST_1B - help - This option sets the AWS availablity zone to the specified value. - If you wish to expand on this list send a patch after reading this - list: - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html - https://gist.github.com/neilstuartcraig/0ccefcf0887f29b7f240 +config TERRAFORM_AWS_AV_ZONE_US_WEST_1A + bool "us-west-1a" + help + Use the us-west-1a availability zone. -config TERRAFORM_AWS_AV_ZONE_US_WEST_1B - bool "us-west-1b" +config TERRAFORM_AWS_AV_ZONE_US_WEST_1C + bool "us-west-1c" help - This option selects the us-west-1b availability zone. + Use the us-west-1c availability zone. endchoice +config TERRAFORM_AWS_AV_ZONE + string + output yaml + default "us-west-1a" if TERRAFORM_AWS_AV_ZONE_US_WEST_1A + default "us-west-1c" if TERRAFORM_AWS_AV_ZONE_US_WEST_1C + endif # TERRAFORM_AWS_REGION_US_WEST_1 if TERRAFORM_AWS_REGION_US_WEST_2 choice prompt "AWS availability zone" - default TERRAFORM_AWS_AV_ZONE_US_WEST_2B - help - This option sets the AWS availablity zone to the specified value. - If you wish to expand on this list send a patch after reading this - list: - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html - https://gist.github.com/neilstuartcraig/0ccefcf0887f29b7f240 +config TERRAFORM_AWS_AV_ZONE_US_WEST_2A + bool "us-west-2a" + help + Use the us-west-2a availability zone. config TERRAFORM_AWS_AV_ZONE_US_WEST_2B bool "us-west-2b" help - This option selects the us-west-2b availability zone. + Use the us-west-2b availability zone. + +config TERRAFORM_AWS_AV_ZONE_US_WEST_2C + bool "us-west-2c" + help + Use the us-west-2c availability zone. config TERRAFORM_AWS_AV_ZONE_US_WEST_2D bool "us-west-2d" help - This option selects the us-west-2d availability zone. + Use the us-west-2d availability zone. endchoice -endif # TERRAFORM_AWS_REGION_US_WEST_2 - config TERRAFORM_AWS_AV_ZONE string output yaml - default "ap-northeast-1a" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1A - default "ap-northeast-1c" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1C - default "ap-northeast-1d" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_1D - default "ap-northeast-2a" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2A - default "ap-northeast-2b" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2B - default "ap-northeast-2c" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2C - default "ap-northeast-2d" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_2D - default "ap-northeast-3a" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3A - default "ap-northeast-3b" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3B - default "ap-northeast-3c" if TERRAFORM_AWS_AV_ZONE_AP_NORTHEAST_3C - default "ap-south-1a" if TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1A - default "ap-south-1b" if TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1B - default "ap-south-1c" if TERRAFORM_AWS_AV_ZONE_AP_SOUTH_1C - default "ap-southeast-1a" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1A - default "ap-southeast-1b" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1B - default "ap-southeast-1c" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_1C - default "ap-southeast-2a" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2A - default "ap-southeast-2b" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2B - default "ap-southeast-2c" if TERRAFORM_AWS_AV_ZONE_AP_SOUTHEAST_2C - default "ca-central-1a" if TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1A - default "ca-central-1b" if TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1B - default "ca-central-1d" if TERRAFORM_AWS_AV_ZONE_CA_CENTRAL_1D - default "eu-central-1a" if TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1A - default "eu-central-1b" if TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1B - default "eu-central-1c" if TERRAFORM_AWS_AV_ZONE_EU_CENTRAL_1C - default "eu-north-1a" if TERRAFORM_AWS_AV_ZONE_EU_NORTH_1A - default "eu-north-1b" if TERRAFORM_AWS_AV_ZONE_EU_NORTH_1B - default "eu-north-1c" if TERRAFORM_AWS_AV_ZONE_EU_NORTH_1C - default "eu-west-1a" if TERRAFORM_AWS_AV_ZONE_EU_WEST_1A - default "eu-west-1b" if TERRAFORM_AWS_AV_ZONE_EU_WEST_1B - default "eu-west-1c" if TERRAFORM_AWS_AV_ZONE_EU_WEST_1C - default "eu-west-2a" if TERRAFORM_AWS_AV_ZONE_EU_WEST_2A - default "eu-west-2b" if TERRAFORM_AWS_AV_ZONE_EU_WEST_2B - default "eu-west-2c" if TERRAFORM_AWS_AV_ZONE_EU_WEST_2C - default "eu-west-3a" if TERRAFORM_AWS_AV_ZONE_EU_WEST_3A - default "eu-west-3b" if TERRAFORM_AWS_AV_ZONE_EU_WEST_3B - default "eu-west-3c" if TERRAFORM_AWS_AV_ZONE_EU_WEST_3C - default "sa-east-1a" if TERRAFORM_AWS_AV_ZONE_SA_EAST_1A - default "sa-east-1b" if TERRAFORM_AWS_AV_ZONE_SA_EAST_1B - default "sa-east-1c" if TERRAFORM_AWS_AV_ZONE_SA_EAST_1C - default "us-east-1a" if TERRAFORM_AWS_AV_ZONE_US_EAST_1A - default "us-east-1b" if TERRAFORM_AWS_AV_ZONE_US_EAST_1B - default "us-east-1c" if TERRAFORM_AWS_AV_ZONE_US_EAST_1C - default "us-east-1d" if TERRAFORM_AWS_AV_ZONE_US_EAST_1D - default "us-east-1e" if TERRAFORM_AWS_AV_ZONE_US_EAST_1E - default "us-east-1f" if TERRAFORM_AWS_AV_ZONE_US_EAST_1F - default "us-east-2a" if TERRAFORM_AWS_AV_ZONE_US_EAST_2A - default "us-east-2b" if TERRAFORM_AWS_AV_ZONE_US_EAST_2B - default "us-east-2c" if TERRAFORM_AWS_AV_ZONE_US_EAST_2C - default "us-west-1b" if TERRAFORM_AWS_AV_ZONE_US_WEST_1B + default "us-west-2a" if TERRAFORM_AWS_AV_ZONE_US_WEST_2A default "us-west-2b" if TERRAFORM_AWS_AV_ZONE_US_WEST_2B + default "us-west-2c" if TERRAFORM_AWS_AV_ZONE_US_WEST_2C default "us-west-2d" if TERRAFORM_AWS_AV_ZONE_US_WEST_2D + +endif # TERRAFORM_AWS_REGION_US_WEST_2 From 5575d4811af88229163635336d73c17627882660 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Sat, 13 Sep 2025 14:54:10 -0400 Subject: [PATCH 3/6] terraform/aws: Add a script to generate the Kconfig.instance menus Enable kdevops to quickly pick up new instance families and types whenever they are introduced by AWS. boto3 reuses connections to the API endpoint, making the generation of the Kconfig menu quick. Jinja2 lets us manage a large amount of bespoke Kconfig help text painlessly. The new script reports some basic authentication issues and has a "raw" output to enable troubleshooting. This implementation is still missing information which can be retrieved via the 'pricing' API. To use: $ terraform/aws/scripts/gen_kconfig_instance > terraform/aws/kconfigs/Kconfig.instance Signed-off-by: Chuck Lever --- terraform/aws/scripts/families.j2 | 28 ++ terraform/aws/scripts/family.j2 | 45 +++ terraform/aws/scripts/gen_kconfig_instance | 417 +++++++++++++++++++++ 3 files changed, 490 insertions(+) create mode 100644 terraform/aws/scripts/families.j2 create mode 100644 terraform/aws/scripts/family.j2 create mode 100755 terraform/aws/scripts/gen_kconfig_instance diff --git a/terraform/aws/scripts/families.j2 b/terraform/aws/scripts/families.j2 new file mode 100644 index 000000000..5d390539b --- /dev/null +++ b/terraform/aws/scripts/families.j2 @@ -0,0 +1,28 @@ +choice + prompt "Instance family" + help + Instance families comprise varying combinations of + hardware platform, CPU count, memory size, storage, and + networking capacity. Select the type that provides an + appropriate mix of resources for your preferred workflows. + + Some instance types are region- and capacity-limited. + + See https://aws.amazon.com/ec2/instance-types/ for + details. + +{% for family in sorted_families %} +config TERRAFORM_AWS_INSTANCE_FAMILY_{{ family['family_name'].upper().replace('-', '_') }} + bool "{{ family['family_name'] }}" +{% if 'x86_64' in family['architectures'] %} + depends on TARGET_ARCH_X86_64 +{% endif %} +{% if 'arm64' in family['architectures'] %} + depends on TARGET_ARCH_ARM64 +{% endif %} + help + See https://aws.amazon.com/ec2/instance-types/{{ family['family_name'] }}/ for + details. + +{% endfor %} +endchoice diff --git a/terraform/aws/scripts/family.j2 b/terraform/aws/scripts/family.j2 new file mode 100644 index 000000000..5d5c25bb7 --- /dev/null +++ b/terraform/aws/scripts/family.j2 @@ -0,0 +1,45 @@ +if TERRAFORM_AWS_INSTANCE_FAMILY_{{ family_name }} + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_{{ instances[0]['instance_type'].upper().replace('-', '_').replace('.', '_') }} + help + Add storage by increasing the number of EBS volumes per + instance. + +{% for instance in instances %} +config TERRAFORM_AWS_INSTANCE_SIZE_{{ instance['instance_type'].upper().replace('-', '_').replace('.', '_') }} + bool "{{ instance['instance_type'] }}" +{% if 'x86_64' in instance['cpu_isa'] %} + depends on TARGET_ARCH_X86_64 +{% elif 'arm64' in instance['cpu_isa'] %} + depends on TARGET_ARCH_ARM64 +{% endif %} + help + vCPU count: {{ instance['vcpus'] }} + RAM: {{ instance['memory_gb'] }} GiB + Network speed: {{ instance['network_performance'] }} +{% if instance['storage'] != 'EBS-only' %} + Additional storage: {{ instance['storage'] }} +{% endif %} +{% if instance['gpu'] != 'None' %} + GPU: {{ instance['gpu'] }} +{% endif %} +{% if instance['bare_metal'] %} + Bare metal instance. +{% endif %} +{% if instance['free_tier'] %} + Free tier eligible. +{% endif %} + +{% endfor %} +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml +{% for instance in instances %} + default "{{ instance['instance_type'] }}" if TERRAFORM_AWS_INSTANCE_SIZE_{{ instance['instance_type'].upper().replace('-', '_').replace('.', '_') }} +{% endfor %} + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_{{ family_name }} diff --git a/terraform/aws/scripts/gen_kconfig_instance b/terraform/aws/scripts/gen_kconfig_instance new file mode 100755 index 000000000..8aae96d14 --- /dev/null +++ b/terraform/aws/scripts/gen_kconfig_instance @@ -0,0 +1,417 @@ +#!/usr/bin/env python3 +# ex: set filetype=python: + +""" +Retrieve instance family and type information from AWS. Use it to +construct the "instance" Kconfig menu. +""" + +import json +import sys +import argparse +import os +import pprint + +from configparser import ConfigParser +from jinja2 import Environment, FileSystemLoader + +import boto3 +from botocore.exceptions import ClientError, NoCredentialsError + + +def get_default_region(): + """ + Get the default AWS region from ~/.aws/config file. + + Returns: + str: Default region or 'us-east-1' if not found + """ + config_path = os.path.expanduser('~/.aws/config') + if os.path.exists(config_path): + try: + config = ConfigParser() + config.read(config_path) + if 'default' in config: + return config['default'].get('region', 'us-east-1') + if 'profile default' in config: + return config['profile default'].get('region', 'us-east-1') + except Exception as e: + print(f"Warning: Error reading AWS config file: {e}", file=sys.stderr) + return 'us-east-1' + + +def get_all_instance_types(region, quiet=False): + """ + Get all available instance types in the specified region. + + Args: + region (str): AWS region to query + + Returns: + list: List of dictionaries, each containing an instance type + """ + + if not quiet: + print(f"Fetching list of instance types in region {region}...", file=sys.stderr) + + try: + ec2 = boto3.client('ec2', region_name=region) + paginator = ec2.get_paginator('describe_instance_types') + + instance_types = [] + for page in paginator.paginate(): + instance_types.extend(page['InstanceTypes']) + if not quiet: + print(f"Found {len(instance_types)} instance types", file=sys.stderr) + return instance_types + + except NoCredentialsError: + print("AWS credentials error. Please configure your credentials.", file=sys.stderr) + return {} + except ClientError as e: + print(f"AWS API error: {e}", file=sys.stderr) + return {} + except Exception as e: + print(f"Error retrieving instance types: {e}", file=sys.stderr) + return {} + + +def parse_all_instance_families(instance_types, quiet=False): + """ + Get all available instance families in the specified region. + + Args: + region (str): AWS region to query + + Returns: + dict: Dictionary with family info including count of instances per family + """ + families = {} + for instance_type in instance_types: + instance_name = instance_type['InstanceType'] + family = instance_name.split('.')[0] + + if family not in families: + families[family] = { + 'family_name': family, + 'instance_count': 0, + 'has_gpu': False, + 'architectures': set() + } + + families[family]['instance_count'] += 1 + + if 'GpuInfo' in instance_type: + families[family]['has_gpu'] = True + cpu_architectures = instance_type.get('ProcessorInfo', {}).get('SupportedArchitectures', []) + families[family]['architectures'].update(cpu_architectures) + + # Convert architecture sets to sorted lists for JSON serialization + for family in families.values(): + family['architectures'] = sorted(list(family['architectures'])) + + return families + + +def get_gpu_info(instance_type): + """ + Extract GPU information from instance type data. + + Args: + instance_type (dict): Instance type data from AWS API + + Returns: + str: Formatted GPU information string + """ + if 'GpuInfo' not in instance_type: + return 'None' + + gpu_info = instance_type['GpuInfo'] + gpus = gpu_info.get('Gpus', []) + + if not gpus: + return 'GPU present (details unavailable)' + + gpu_details = [] + for gpu in gpus: + gpu_name = gpu.get('Name', 'Unknown GPU') + gpu_count = gpu.get('Count', 1) + gpu_memory = gpu.get('MemoryInfo', {}).get('SizeInMiB', 0) + + if gpu_count > 1: + detail = f"{gpu_count}x {gpu_name}" + else: + detail = gpu_name + + if gpu_memory > 0: + detail += f" ({gpu_memory // 1024}GB)" + + gpu_details.append(detail) + + return ', '.join(gpu_details) + + +def get_instance_family_info(family_name, instance_types, region='us-east-1', quiet=False): + """ + Get instance types, pricing, and hardware info for an AWS instance family. + + Args: + family_name (str): Instance family name (e.g., 'm5', 't3', 'c5') + region (str): AWS region to query (default: us-east-1) + quiet (bool): Suppress debug messages + + Returns: + list: List of dictionaries containing instance information + """ + + family_instances = [] + for instance_type in instance_types: + instance_name = instance_type['InstanceType'] + if instance_name.startswith(family_name + '.'): + family_instances.append(instance_type) + + if not family_instances: + if not quiet: + print(f"No instances found starting with '{family_name}'.", file=sys.stderr) + return [] + + if not quiet: + print(f"Found {len(family_instances)} instances in family '{family_name}'", file=sys.stderr) + + instance_info = [] + + for instance_type in family_instances: + instance_name = instance_type['InstanceType'] + + cpu_architectures = instance_type.get('ProcessorInfo', {}).get('SupportedArchitectures', ['Unknown']) + cpu_isa = ', '.join(cpu_architectures) if cpu_architectures else 'Unknown' + + gpu_info = get_gpu_info(instance_type) + + hardware_info = { + 'instance_type': instance_name, + 'vcpus': instance_type['VCpuInfo']['DefaultVCpus'], + 'memory_gb': instance_type['MemoryInfo']['SizeInMiB'] / 1024, + 'cpu_isa': cpu_isa, + 'gpu': gpu_info, + 'network_performance': instance_type.get('NetworkInfo', {}).get('NetworkPerformance', 'Not specified'), + 'storage': 'EBS-only', + 'bare_metal': instance_type['BareMetal'], + 'free_tier': instance_type['FreeTierEligible'], + } + + if 'InstanceStorageInfo' in instance_type: + storage_info = instance_type['InstanceStorageInfo'] + total_storage = storage_info.get('TotalSizeInGB', 0) + storage_type = storage_info.get('Disks', [{}])[0].get('Type', 'Unknown') + hardware_info['storage'] = f"{total_storage} GB {storage_type}" + + hardware_info['price_per_hour_usd'] = 'Not available' + instance_info.append(hardware_info) + + return sorted(instance_info, key=lambda x: x['memory_gb']) + + +def output_instance_kconfig(instance_types, region): + """Output instance menu in Kconfg format.""" + families = parse_all_instance_families(instance_types) + sorted_families = sorted(families.values(), key=lambda x: x['family_name']) + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("families.j2") + print( + template.render( + sorted_families=sorted_families, + ) + ) + print() + + template = environment.get_template("family.j2") + for family in sorted_families: + instances = get_instance_family_info( + family['family_name'], + instance_types, + region, + True + ) + if not instances: + continue + print( + template.render( + family_name=family['family_name'].upper().replace('-', '_'), + instances=instances, + ) + ) + print() + + +def output_families_kconfig(instance_types): + """Output instance families in Kconfg format.""" + families = parse_all_instance_families(instance_types) + sorted_families = sorted(families.values(), key=lambda x: x['family_name']) + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("families.j2") + print( + template.render( + sorted_families=sorted_families, + ) + ) + + +def output_families_raw(instance_types, region, quiet=False): + """Output available instance families in table format.""" + families = parse_all_instance_families(instance_types) + + if not quiet: + print(f"Available instance families in {region}:\n") + + print(f"{'Family':<10} {'Count':<6} {'GPU':<5} {'Architectures':<20}") + print("-" * 45) + + sorted_families = sorted(families.values(), key=lambda x: x['family_name']) + for family in sorted_families: + gpu_indicator = 'Yes' if family['has_gpu'] else 'No' + architectures = ', '.join(family['architectures']) + + print(f"{family['family_name']:<10} " + f"{family['instance_count']:<6} " + f"{gpu_indicator:<5} " + f"{architectures:<20}") + + if not quiet: + print(f"\nFound {len(families)} instance families", file=sys.stderr) + + +def output_family_kconfig(family_name, instances): + """Output results in kconfig format.""" + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("family.j2") + print( + template.render( + family_name=family_name.upper().replace('-', '_'), + instances=instances, + ) + ) + + +def output_family_raw(instances, quiet=False): + """Output results in table format.""" + if not quiet: + print(f"Found {len(instances)} instance types:\n") + + print(f"{'Instance Type':<15} {'vCPUs':<6} {'Memory (GB)':<12} {'CPU ISA':<10} {'GPU':<25} {'Storage':<20} {'Network':<15} {'Price/Hour':<12}") + print("-" * 130) + + for instance in instances: + print(f"{instance['instance_type']:<15} " + f"{instance['vcpus']:<6} " + f"{instance['memory_gb']:<12.1f} " + f"{instance['cpu_isa']:<10} " + f"{instance['gpu']:<25} " + f"{instance['storage']:<20} " + f"{instance['network_performance']:<15} " + f"{instance['price_per_hour_usd']:<12}") + + +def parse_arguments(): + """Parse command line arguments.""" + parser = argparse.ArgumentParser( + description='Get AWS EC2 instance family information including pricing and hardware specs', + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + python %(prog)s m5 + python %(prog)s t3 --region us-west-2 + python %(prog)s c5 --format kconfig + python %(prog)s r5 --quiet + python %(prog)s --families + python %(prog)s --families --format raw + """ + ) + parser.add_argument( + 'family_name', + nargs='?', # Make family_name optional when using --families + help='Instance family name (e.g., m5, t3, c5, r5)' + ) + + parser.add_argument( + '--families', + action='store_true', + help='List all available instance families in the region' + ) + parser.add_argument( + '--format', '-f', + choices=['raw', 'kconfig'], + default='kconfig', + help='Output format (default: kconfig)' + ) + parser.add_argument( + '--quiet', '-q', + action='store_true', + help='Suppress informational messages' + ) + parser.add_argument( + '--region', '-r', + help='AWS region (default: from ~/.aws/config or us-east-1)' + ) + return parser.parse_args() + + +def main(): + """Main function to run the program.""" + args = parse_arguments() + + if args.region: + region = args.region + else: + region = get_default_region() + + instance_types = get_all_instance_types(region, args.quiet) + if not instance_types: + sys.exit(1) + + if args.families: + if args.format == 'kconfig': + output_families_kconfig(instance_types) + else: + output_families_raw(instance_types, region, args.quiet) + return + + if args.family_name: + if not args.quiet: + print(f"Fetching information for the {args.family_name} family in {region}...", file=sys.stderr) + + instances = get_instance_family_info( + args.family_name, + instance_types, + region, + args.quiet + ) + + if not instances: + print(f"No instances found for family '{args.family_name}'.", file=sys.stderr) + print("Try running with --families to see available instance families.", file=sys.stderr) + sys.exit(1) + + if args.format == 'kconfig': + output_family_kconfig(args.family_name, instances) + else: + output_family_raw(instances, args.quiet) + return + + output_instance_kconfig(instance_types, region) + + +if __name__ == "__main__": + main() From 594ac8a4d2dba00ca66c471dbc5d4db38d07a6ed Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Sat, 20 Sep 2025 14:58:55 -0400 Subject: [PATCH 4/6] terraform/aws: Replace the instance content in Kconfig.compute The generated version has many more families. The TARGET_ARCH_* Kconfig settings controls which families and types show up in the menu. New family choices include more cost-effective types like t1, t2, and t3, as well as all of the GPU-enabled instance types. Signed-off-by: Chuck Lever --- terraform/aws/Kconfig | 1 + terraform/aws/kconfigs/Kconfig.compute | 84 - terraform/aws/kconfigs/Kconfig.instance | 13044 ++++++++++++++++ .../aws/kconfigs/instance-types/Kconfig.c7a | 28 - .../aws/kconfigs/instance-types/Kconfig.i4i | 33 - .../aws/kconfigs/instance-types/Kconfig.im4gn | 25 - .../kconfigs/instance-types/Kconfig.is4gen | 25 - .../aws/kconfigs/instance-types/Kconfig.m5 | 48 - .../aws/kconfigs/instance-types/Kconfig.m7a | 57 - 9 files changed, 13045 insertions(+), 300 deletions(-) create mode 100644 terraform/aws/kconfigs/Kconfig.instance delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.c7a delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.i4i delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.im4gn delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.is4gen delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.m5 delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.m7a diff --git a/terraform/aws/Kconfig b/terraform/aws/Kconfig index 557f3a088..f93eff8ec 100644 --- a/terraform/aws/Kconfig +++ b/terraform/aws/Kconfig @@ -4,6 +4,7 @@ menu "Resource Location" source "terraform/aws/kconfigs/Kconfig.location" endmenu menu "Compute" +source "terraform/aws/kconfigs/Kconfig.instance" source "terraform/aws/kconfigs/Kconfig.compute" endmenu menu "Storage" diff --git a/terraform/aws/kconfigs/Kconfig.compute b/terraform/aws/kconfigs/Kconfig.compute index 4b9c6efb6..326c6630b 100644 --- a/terraform/aws/kconfigs/Kconfig.compute +++ b/terraform/aws/kconfigs/Kconfig.compute @@ -1,87 +1,3 @@ -choice - prompt "AWS instance types" - help - Instance types comprise varying combinations of hardware - platform, CPU count, memory size, storage, and networking - capacity. Select the type that provides an appropriate mix - of resources for your preferred workflows. - - Some instance types are region- and capacity-limited. - - See https://aws.amazon.com/ec2/instance-types/ for - details. - -config TERRAFORM_AWS_INSTANCE_TYPE_M5 - bool "M5" - depends on TARGET_ARCH_X86_64 - help - This is a general purpose type powered by Intel Xeon® - Platinum 8175M or 8259CL processors (Skylake or Cascade - Lake). - - See https://aws.amazon.com/ec2/instance-types/m5/ for - details. - -config TERRAFORM_AWS_INSTANCE_TYPE_M7A - bool "M7a" - depends on TARGET_ARCH_X86_64 - help - This is a general purpose type powered by 4th Generation - AMD EPYC processors. - - See https://aws.amazon.com/ec2/instance-types/m7a/ for - details. - -config TERRAFORM_AWS_INSTANCE_TYPE_I4I - bool "I4i" - depends on TARGET_ARCH_X86_64 - help - This is a storage-optimized type powered by 3rd generation - Intel Xeon Scalable processors (Ice Lake) and use AWS Nitro - NVMe SSDs. - - See https://aws.amazon.com/ec2/instance-types/i4i/ for - details. - -config TERRAFORM_AWS_INSTANCE_TYPE_IS4GEN - bool "Is4gen" - depends on TARGET_ARCH_ARM64 - help - This is a Storage-optimized type powered by AWS Graviton2 - processors. - - See https://aws.amazon.com/ec2/instance-types/i4g/ for - details. - -config TERRAFORM_AWS_INSTANCE_TYPE_IM4GN - bool "Im4gn" - depends on TARGET_ARCH_ARM64 - help - This is a storage-optimized type powered by AWS Graviton2 - processors. - - See https://aws.amazon.com/ec2/instance-types/i4g/ for - details. - -config TERRAFORM_AWS_INSTANCE_TYPE_C7A - depends on TARGET_ARCH_X86_64 - bool "c7a" - help - This is a compute-optimized type powered by 4th generation - AMD EPYC processors. - - See https://aws.amazon.com/ec2/instance-types/c7a/ for - details. - -endchoice - -source "terraform/aws/kconfigs/instance-types/Kconfig.m5" -source "terraform/aws/kconfigs/instance-types/Kconfig.m7a" -source "terraform/aws/kconfigs/instance-types/Kconfig.i4i" -source "terraform/aws/kconfigs/instance-types/Kconfig.is4gen" -source "terraform/aws/kconfigs/instance-types/Kconfig.im4gn" -source "terraform/aws/kconfigs/instance-types/Kconfig.c7a" - choice prompt "Linux distribution" default TERRAFORM_AWS_DISTRO_DEBIAN diff --git a/terraform/aws/kconfigs/Kconfig.instance b/terraform/aws/kconfigs/Kconfig.instance new file mode 100644 index 000000000..ea624ebc2 --- /dev/null +++ b/terraform/aws/kconfigs/Kconfig.instance @@ -0,0 +1,13044 @@ +choice + prompt "Instance family" + help + Instance families comprise varying combinations of + hardware platform, CPU count, memory size, storage, and + networking capacity. Select the type that provides an + appropriate mix of resources for your preferred workflows. + + Some instance types are region- and capacity-limited. + + See https://aws.amazon.com/ec2/instance-types/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_A1 + bool "a1" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/a1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C1 + bool "c1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C3 + bool "c3" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c3/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C4 + bool "c4" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c4/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C5 + bool "c5" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c5/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C5A + bool "c5a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c5a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C5AD + bool "c5ad" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c5ad/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C5D + bool "c5d" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c5d/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C5N + bool "c5n" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c5n/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C6A + bool "c6a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c6a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C6G + bool "c6g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c6g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C6GD + bool "c6gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c6gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C6GN + bool "c6gn" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c6gn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C6I + bool "c6i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c6i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C6ID + bool "c6id" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c6id/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C6IN + bool "c6in" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c6in/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C7A + bool "c7a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c7a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C7G + bool "c7g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c7g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C7GD + bool "c7gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c7gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C7GN + bool "c7gn" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c7gn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C7I + bool "c7i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c7i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C7I_FLEX + bool "c7i-flex" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/c7i-flex/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C8G + bool "c8g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c8g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C8GD + bool "c8gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c8gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_C8GN + bool "c8gn" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/c8gn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_D2 + bool "d2" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/d2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_D3 + bool "d3" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/d3/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_D3EN + bool "d3en" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/d3en/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_DL1 + bool "dl1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/dl1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_F1 + bool "f1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/f1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_F2 + bool "f2" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/f2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_G4AD + bool "g4ad" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/g4ad/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_G4DN + bool "g4dn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/g4dn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_G5 + bool "g5" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/g5/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_G5G + bool "g5g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/g5g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_G6 + bool "g6" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/g6/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_G6E + bool "g6e" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/g6e/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_G6F + bool "g6f" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/g6f/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_GR6 + bool "gr6" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/gr6/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_GR6F + bool "gr6f" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/gr6f/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_H1 + bool "h1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/h1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_HPC7G + bool "hpc7g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/hpc7g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I2 + bool "i2" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/i2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I3 + bool "i3" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/i3/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I3EN + bool "i3en" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/i3en/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I4G + bool "i4g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/i4g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I4I + bool "i4i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/i4i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I7I + bool "i7i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/i7i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I7IE + bool "i7ie" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/i7ie/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I8G + bool "i8g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/i8g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_I8GE + bool "i8ge" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/i8ge/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_IM4GN + bool "im4gn" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/im4gn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_INF1 + bool "inf1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/inf1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_INF2 + bool "inf2" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/inf2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_IS4GEN + bool "is4gen" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/is4gen/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M1 + bool "m1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M2 + bool "m2" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M3 + bool "m3" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m3/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M4 + bool "m4" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m4/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M5 + bool "m5" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m5/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M5A + bool "m5a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m5a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M5AD + bool "m5ad" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m5ad/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M5D + bool "m5d" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m5d/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M5DN + bool "m5dn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m5dn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M5N + bool "m5n" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m5n/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M5ZN + bool "m5zn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m5zn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M6A + bool "m6a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m6a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M6G + bool "m6g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/m6g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M6GD + bool "m6gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/m6gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M6I + bool "m6i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m6i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M6ID + bool "m6id" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m6id/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M6IDN + bool "m6idn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m6idn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M6IN + bool "m6in" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m6in/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M7A + bool "m7a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m7a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M7G + bool "m7g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/m7g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M7GD + bool "m7gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/m7gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M7I + bool "m7i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m7i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M7I_FLEX + bool "m7i-flex" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m7i-flex/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M8G + bool "m8g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/m8g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M8GD + bool "m8gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/m8gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M8I + bool "m8i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m8i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_M8I_FLEX + bool "m8i-flex" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/m8i-flex/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_MAC_M4 + bool "mac-m4" + help + See https://aws.amazon.com/ec2/instance-types/mac-m4/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_MAC_M4PRO + bool "mac-m4pro" + help + See https://aws.amazon.com/ec2/instance-types/mac-m4pro/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_MAC1 + bool "mac1" + help + See https://aws.amazon.com/ec2/instance-types/mac1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_MAC2 + bool "mac2" + help + See https://aws.amazon.com/ec2/instance-types/mac2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M1ULTRA + bool "mac2-m1ultra" + help + See https://aws.amazon.com/ec2/instance-types/mac2-m1ultra/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M2 + bool "mac2-m2" + help + See https://aws.amazon.com/ec2/instance-types/mac2-m2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M2PRO + bool "mac2-m2pro" + help + See https://aws.amazon.com/ec2/instance-types/mac2-m2pro/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_P3 + bool "p3" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/p3/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_P3DN + bool "p3dn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/p3dn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_P4D + bool "p4d" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/p4d/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_P4DE + bool "p4de" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/p4de/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_P5 + bool "p5" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/p5/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_P5EN + bool "p5en" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/p5en/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_P6_B200 + bool "p6-b200" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/p6-b200/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R3 + bool "r3" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r3/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R4 + bool "r4" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r4/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R5 + bool "r5" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r5/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R5A + bool "r5a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r5a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R5AD + bool "r5ad" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r5ad/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R5B + bool "r5b" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r5b/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R5D + bool "r5d" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r5d/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R5DN + bool "r5dn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r5dn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R5N + bool "r5n" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r5n/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R6A + bool "r6a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r6a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R6G + bool "r6g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/r6g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R6GD + bool "r6gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/r6gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R6I + bool "r6i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r6i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R6ID + bool "r6id" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r6id/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R6IDN + bool "r6idn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r6idn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R6IN + bool "r6in" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r6in/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R7A + bool "r7a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r7a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R7G + bool "r7g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/r7g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R7GD + bool "r7gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/r7gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R7I + bool "r7i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r7i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R7IZ + bool "r7iz" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r7iz/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R8G + bool "r8g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/r8g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R8GD + bool "r8gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/r8gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R8GN + bool "r8gn" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/r8gn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R8I + bool "r8i" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r8i/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_R8I_FLEX + bool "r8i-flex" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/r8i-flex/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_T1 + bool "t1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/t1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_T2 + bool "t2" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/t2/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_T3 + bool "t3" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/t3/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_T3A + bool "t3a" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/t3a/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_T4G + bool "t4g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/t4g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_TRN1 + bool "trn1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/trn1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_TRN1N + bool "trn1n" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/trn1n/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U_3TB1 + bool "u-3tb1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u-3tb1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U_6TB1 + bool "u-6tb1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u-6tb1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U7I_12TB + bool "u7i-12tb" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u7i-12tb/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U7I_6TB + bool "u7i-6tb" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u7i-6tb/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U7I_8TB + bool "u7i-8tb" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u7i-8tb/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_16TB + bool "u7in-16tb" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u7in-16tb/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_24TB + bool "u7in-24tb" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u7in-24tb/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_32TB + bool "u7in-32tb" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/u7in-32tb/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_VT1 + bool "vt1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/vt1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_X1 + bool "x1" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/x1/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_X1E + bool "x1e" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/x1e/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_X2GD + bool "x2gd" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/x2gd/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_X2IDN + bool "x2idn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/x2idn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_X2IEDN + bool "x2iedn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/x2iedn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_X2IEZN + bool "x2iezn" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/x2iezn/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_X8G + bool "x8g" + depends on TARGET_ARCH_ARM64 + help + See https://aws.amazon.com/ec2/instance-types/x8g/ for + details. + +config TERRAFORM_AWS_INSTANCE_FAMILY_Z1D + bool "z1d" + depends on TARGET_ARCH_X86_64 + help + See https://aws.amazon.com/ec2/instance-types/z1d/ for + details. + +endchoice + +if TERRAFORM_AWS_INSTANCE_FAMILY_A1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_A1_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_A1_MEDIUM + bool "a1.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_A1_LARGE + bool "a1.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_A1_XLARGE + bool "a1.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_A1_2XLARGE + bool "a1.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_A1_METAL + bool "a1.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_A1_4XLARGE + bool "a1.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "a1.medium" if TERRAFORM_AWS_INSTANCE_SIZE_A1_MEDIUM + default "a1.large" if TERRAFORM_AWS_INSTANCE_SIZE_A1_LARGE + default "a1.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_A1_XLARGE + default "a1.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_A1_2XLARGE + default "a1.metal" if TERRAFORM_AWS_INSTANCE_SIZE_A1_METAL + default "a1.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_A1_4XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_A1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_C1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C1_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C1_MEDIUM + bool "c1.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 1.69921875 GiB + Network speed: Moderate + Additional storage: 350 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_C1_XLARGE + bool "c1.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 7.0 GiB + Network speed: High + Additional storage: 1680 GB hdd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c1.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C1_MEDIUM + default "c1.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C1_XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_C3 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C3_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C3_LARGE + bool "c3.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 3.75 GiB + Network speed: Moderate + Additional storage: 32 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C3_XLARGE + bool "c3.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 7.5 GiB + Network speed: Moderate + Additional storage: 80 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C3_2XLARGE + bool "c3.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 15.0 GiB + Network speed: High + Additional storage: 160 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C3_4XLARGE + bool "c3.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 30.0 GiB + Network speed: High + Additional storage: 320 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C3_8XLARGE + bool "c3.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 60.0 GiB + Network speed: 10 Gigabit + Additional storage: 640 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c3.large" if TERRAFORM_AWS_INSTANCE_SIZE_C3_LARGE + default "c3.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C3_XLARGE + default "c3.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C3_2XLARGE + default "c3.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C3_4XLARGE + default "c3.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C3_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C3 + +if TERRAFORM_AWS_INSTANCE_FAMILY_C4 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C4_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C4_LARGE + bool "c4.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 3.75 GiB + Network speed: Moderate + +config TERRAFORM_AWS_INSTANCE_SIZE_C4_XLARGE + bool "c4.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 7.5 GiB + Network speed: High + +config TERRAFORM_AWS_INSTANCE_SIZE_C4_2XLARGE + bool "c4.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 15.0 GiB + Network speed: High + +config TERRAFORM_AWS_INSTANCE_SIZE_C4_4XLARGE + bool "c4.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 30.0 GiB + Network speed: High + +config TERRAFORM_AWS_INSTANCE_SIZE_C4_8XLARGE + bool "c4.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 36 + RAM: 60.0 GiB + Network speed: 10 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c4.large" if TERRAFORM_AWS_INSTANCE_SIZE_C4_LARGE + default "c4.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C4_XLARGE + default "c4.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C4_2XLARGE + default "c4.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C4_4XLARGE + default "c4.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C4_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C4 + +if TERRAFORM_AWS_INSTANCE_FAMILY_C5 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C5_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_LARGE + bool "c5.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_XLARGE + bool "c5.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_2XLARGE + bool "c5.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_4XLARGE + bool "c5.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_9XLARGE + bool "c5.9xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 36 + RAM: 72.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_12XLARGE + bool "c5.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_18XLARGE + bool "c5.18xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 72 + RAM: 144.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_24XLARGE + bool "c5.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5_METAL + bool "c5.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c5.large" if TERRAFORM_AWS_INSTANCE_SIZE_C5_LARGE + default "c5.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5_XLARGE + default "c5.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5_2XLARGE + default "c5.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5_4XLARGE + default "c5.9xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5_9XLARGE + default "c5.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5_12XLARGE + default "c5.18xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5_18XLARGE + default "c5.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5_24XLARGE + default "c5.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C5_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C5 + +if TERRAFORM_AWS_INSTANCE_FAMILY_C5A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C5A_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_LARGE + bool "c5a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_XLARGE + bool "c5a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_2XLARGE + bool "c5a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_4XLARGE + bool "c5a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_8XLARGE + bool "c5a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_12XLARGE + bool "c5a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_16XLARGE + bool "c5a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 20 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5A_24XLARGE + bool "c5a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 20 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c5a.large" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_LARGE + default "c5a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_XLARGE + default "c5a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_2XLARGE + default "c5a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_4XLARGE + default "c5a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_8XLARGE + default "c5a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_12XLARGE + default "c5a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_16XLARGE + default "c5a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5A_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C5A + +if TERRAFORM_AWS_INSTANCE_FAMILY_C5AD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C5AD_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_LARGE + bool "c5ad.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_XLARGE + bool "c5ad.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_2XLARGE + bool "c5ad.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_4XLARGE + bool "c5ad.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_8XLARGE + bool "c5ad.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 10 Gigabit + Additional storage: 1200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_12XLARGE + bool "c5ad.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 12 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_16XLARGE + bool "c5ad.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 20 Gigabit + Additional storage: 2400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5AD_24XLARGE + bool "c5ad.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 20 Gigabit + Additional storage: 3800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c5ad.large" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_LARGE + default "c5ad.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_XLARGE + default "c5ad.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_2XLARGE + default "c5ad.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_4XLARGE + default "c5ad.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_8XLARGE + default "c5ad.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_12XLARGE + default "c5ad.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_16XLARGE + default "c5ad.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5AD_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C5AD + +if TERRAFORM_AWS_INSTANCE_FAMILY_C5D + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C5D_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_LARGE + bool "c5d.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 50 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_XLARGE + bool "c5d.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 100 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_2XLARGE + bool "c5d.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_4XLARGE + bool "c5d.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_9XLARGE + bool "c5d.9xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 36 + RAM: 72.0 GiB + Network speed: 12 Gigabit + Additional storage: 900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_12XLARGE + bool "c5d.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 12 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_18XLARGE + bool "c5d.18xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 72 + RAM: 144.0 GiB + Network speed: 25 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_24XLARGE + bool "c5d.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 25 Gigabit + Additional storage: 3600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C5D_METAL + bool "c5d.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 25 Gigabit + Additional storage: 3600 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c5d.large" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_LARGE + default "c5d.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_XLARGE + default "c5d.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_2XLARGE + default "c5d.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_4XLARGE + default "c5d.9xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_9XLARGE + default "c5d.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_12XLARGE + default "c5d.18xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_18XLARGE + default "c5d.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_24XLARGE + default "c5d.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C5D_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C5D + +if TERRAFORM_AWS_INSTANCE_FAMILY_C5N + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C5N_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C5N_LARGE + bool "c5n.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 5.25 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5N_XLARGE + bool "c5n.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 10.5 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5N_2XLARGE + bool "c5n.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 21.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5N_4XLARGE + bool "c5n.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 42.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5N_9XLARGE + bool "c5n.9xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 36 + RAM: 96.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5N_18XLARGE + bool "c5n.18xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 72 + RAM: 192.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C5N_METAL + bool "c5n.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 72 + RAM: 192.0 GiB + Network speed: 100 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c5n.large" if TERRAFORM_AWS_INSTANCE_SIZE_C5N_LARGE + default "c5n.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5N_XLARGE + default "c5n.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5N_2XLARGE + default "c5n.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5N_4XLARGE + default "c5n.9xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5N_9XLARGE + default "c5n.18xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C5N_18XLARGE + default "c5n.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C5N_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C5N + +if TERRAFORM_AWS_INSTANCE_FAMILY_C6A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C6A_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_LARGE + bool "c6a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_XLARGE + bool "c6a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_2XLARGE + bool "c6a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_4XLARGE + bool "c6a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_8XLARGE + bool "c6a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_12XLARGE + bool "c6a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_16XLARGE + bool "c6a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_24XLARGE + bool "c6a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_32XLARGE + bool "c6a.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_48XLARGE + bool "c6a.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6A_METAL + bool "c6a.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c6a.large" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_LARGE + default "c6a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_XLARGE + default "c6a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_2XLARGE + default "c6a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_4XLARGE + default "c6a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_8XLARGE + default "c6a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_12XLARGE + default "c6a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_16XLARGE + default "c6a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_24XLARGE + default "c6a.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_32XLARGE + default "c6a.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_48XLARGE + default "c6a.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C6A_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C6A + +if TERRAFORM_AWS_INSTANCE_FAMILY_C6G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C6G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_MEDIUM + bool "c6g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_LARGE + bool "c6g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_XLARGE + bool "c6g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_2XLARGE + bool "c6g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_4XLARGE + bool "c6g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_8XLARGE + bool "c6g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_12XLARGE + bool "c6g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 20 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_16XLARGE + bool "c6g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6G_METAL + bool "c6g.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c6g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_MEDIUM + default "c6g.large" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_LARGE + default "c6g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_XLARGE + default "c6g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_2XLARGE + default "c6g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_4XLARGE + default "c6g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_8XLARGE + default "c6g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_12XLARGE + default "c6g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_16XLARGE + default "c6g.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C6G_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C6G + +if TERRAFORM_AWS_INSTANCE_FAMILY_C6GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C6GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_MEDIUM + bool "c6gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_LARGE + bool "c6gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_XLARGE + bool "c6gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_2XLARGE + bool "c6gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_4XLARGE + bool "c6gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_8XLARGE + bool "c6gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_12XLARGE + bool "c6gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 20 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_METAL + bool "c6gd.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GD_16XLARGE + bool "c6gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c6gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_MEDIUM + default "c6gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_LARGE + default "c6gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_XLARGE + default "c6gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_2XLARGE + default "c6gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_4XLARGE + default "c6gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_8XLARGE + default "c6gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_12XLARGE + default "c6gd.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_METAL + default "c6gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GD_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C6GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_C6GN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C6GN_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_MEDIUM + bool "c6gn.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 16 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_LARGE + bool "c6gn.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_XLARGE + bool "c6gn.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_2XLARGE + bool "c6gn.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_4XLARGE + bool "c6gn.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_8XLARGE + bool "c6gn.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_12XLARGE + bool "c6gn.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6GN_16XLARGE + bool "c6gn.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c6gn.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_MEDIUM + default "c6gn.large" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_LARGE + default "c6gn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_XLARGE + default "c6gn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_2XLARGE + default "c6gn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_4XLARGE + default "c6gn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_8XLARGE + default "c6gn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_12XLARGE + default "c6gn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6GN_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C6GN + +if TERRAFORM_AWS_INSTANCE_FAMILY_C6I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C6I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_LARGE + bool "c6i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_XLARGE + bool "c6i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_2XLARGE + bool "c6i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_4XLARGE + bool "c6i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_8XLARGE + bool "c6i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_12XLARGE + bool "c6i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_16XLARGE + bool "c6i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_24XLARGE + bool "c6i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_32XLARGE + bool "c6i.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6I_METAL + bool "c6i.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c6i.large" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_LARGE + default "c6i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_XLARGE + default "c6i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_2XLARGE + default "c6i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_4XLARGE + default "c6i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_8XLARGE + default "c6i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_12XLARGE + default "c6i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_16XLARGE + default "c6i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_24XLARGE + default "c6i.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_32XLARGE + default "c6i.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C6I_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C6I + +if TERRAFORM_AWS_INSTANCE_FAMILY_C6ID + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C6ID_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_LARGE + bool "c6id.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_XLARGE + bool "c6id.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_2XLARGE + bool "c6id.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_4XLARGE + bool "c6id.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_8XLARGE + bool "c6id.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12.5 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_12XLARGE + bool "c6id.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 18.75 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_16XLARGE + bool "c6id.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_24XLARGE + bool "c6id.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 37.5 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_32XLARGE + bool "c6id.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 50 Gigabit + Additional storage: 7600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C6ID_METAL + bool "c6id.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 50 Gigabit + Additional storage: 7600 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c6id.large" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_LARGE + default "c6id.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_XLARGE + default "c6id.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_2XLARGE + default "c6id.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_4XLARGE + default "c6id.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_8XLARGE + default "c6id.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_12XLARGE + default "c6id.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_16XLARGE + default "c6id.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_24XLARGE + default "c6id.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_32XLARGE + default "c6id.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C6ID_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C6ID + +if TERRAFORM_AWS_INSTANCE_FAMILY_C6IN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C6IN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_LARGE + bool "c6in.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_XLARGE + bool "c6in.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_2XLARGE + bool "c6in.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_4XLARGE + bool "c6in.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_8XLARGE + bool "c6in.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_12XLARGE + bool "c6in.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_16XLARGE + bool "c6in.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_24XLARGE + bool "c6in.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 150 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_32XLARGE + bool "c6in.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 200 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C6IN_METAL + bool "c6in.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 200 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c6in.large" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_LARGE + default "c6in.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_XLARGE + default "c6in.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_2XLARGE + default "c6in.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_4XLARGE + default "c6in.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_8XLARGE + default "c6in.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_12XLARGE + default "c6in.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_16XLARGE + default "c6in.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_24XLARGE + default "c6in.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_32XLARGE + default "c6in.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C6IN_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C6IN + +if TERRAFORM_AWS_INSTANCE_FAMILY_C7A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C7A_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_MEDIUM + bool "c7a.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_LARGE + bool "c7a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_XLARGE + bool "c7a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_2XLARGE + bool "c7a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_4XLARGE + bool "c7a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_8XLARGE + bool "c7a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_12XLARGE + bool "c7a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_16XLARGE + bool "c7a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_24XLARGE + bool "c7a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_32XLARGE + bool "c7a.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 256.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_METAL_48XL + bool "c7a.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7A_48XLARGE + bool "c7a.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c7a.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_MEDIUM + default "c7a.large" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_LARGE + default "c7a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_XLARGE + default "c7a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_2XLARGE + default "c7a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_4XLARGE + default "c7a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_8XLARGE + default "c7a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_12XLARGE + default "c7a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_16XLARGE + default "c7a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_24XLARGE + default "c7a.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_32XLARGE + default "c7a.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_METAL_48XL + default "c7a.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C7A + +if TERRAFORM_AWS_INSTANCE_FAMILY_C7G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C7G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_MEDIUM + bool "c7g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_LARGE + bool "c7g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_XLARGE + bool "c7g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_2XLARGE + bool "c7g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_4XLARGE + bool "c7g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_8XLARGE + bool "c7g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_12XLARGE + bool "c7g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_16XLARGE + bool "c7g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7G_METAL + bool "c7g.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 30 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c7g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_MEDIUM + default "c7g.large" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_LARGE + default "c7g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_XLARGE + default "c7g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_2XLARGE + default "c7g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_4XLARGE + default "c7g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_8XLARGE + default "c7g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_12XLARGE + default "c7g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_16XLARGE + default "c7g.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C7G_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C7G + +if TERRAFORM_AWS_INSTANCE_FAMILY_C7GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C7GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_MEDIUM + bool "c7gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_LARGE + bool "c7gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_XLARGE + bool "c7gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_2XLARGE + bool "c7gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_4XLARGE + bool "c7gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_8XLARGE + bool "c7gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 15 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_12XLARGE + bool "c7gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 22.5 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_16XLARGE + bool "c7gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GD_METAL + bool "c7gd.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c7gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_MEDIUM + default "c7gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_LARGE + default "c7gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_XLARGE + default "c7gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_2XLARGE + default "c7gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_4XLARGE + default "c7gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_8XLARGE + default "c7gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_12XLARGE + default "c7gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_16XLARGE + default "c7gd.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C7GD_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C7GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_C7GN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C7GN_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_MEDIUM + bool "c7gn.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_LARGE + bool "c7gn.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_XLARGE + bool "c7gn.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_2XLARGE + bool "c7gn.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_4XLARGE + bool "c7gn.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_8XLARGE + bool "c7gn.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_12XLARGE + bool "c7gn.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 150 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_16XLARGE + bool "c7gn.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 200 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7GN_METAL + bool "c7gn.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 200 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c7gn.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_MEDIUM + default "c7gn.large" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_LARGE + default "c7gn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_XLARGE + default "c7gn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_2XLARGE + default "c7gn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_4XLARGE + default "c7gn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_8XLARGE + default "c7gn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_12XLARGE + default "c7gn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_16XLARGE + default "c7gn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_C7GN_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C7GN + +if TERRAFORM_AWS_INSTANCE_FAMILY_C7I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C7I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_LARGE + bool "c7i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_XLARGE + bool "c7i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_2XLARGE + bool "c7i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_4XLARGE + bool "c7i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_8XLARGE + bool "c7i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_12XLARGE + bool "c7i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_16XLARGE + bool "c7i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_METAL_24XL + bool "c7i.metal-24xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 37.5 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_24XLARGE + bool "c7i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_METAL_48XL + bool "c7i.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_48XLARGE + bool "c7i.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c7i.large" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_LARGE + default "c7i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_XLARGE + default "c7i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_2XLARGE + default "c7i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_4XLARGE + default "c7i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_8XLARGE + default "c7i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_12XLARGE + default "c7i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_16XLARGE + default "c7i.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_METAL_24XL + default "c7i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_24XLARGE + default "c7i.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_METAL_48XL + default "c7i.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C7I + +if TERRAFORM_AWS_INSTANCE_FAMILY_C7I_FLEX + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_LARGE + bool "c7i-flex.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_XLARGE + bool "c7i-flex.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_2XLARGE + bool "c7i-flex.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_4XLARGE + bool "c7i-flex.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_8XLARGE + bool "c7i-flex.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_12XLARGE + bool "c7i-flex.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: Up to 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_16XLARGE + bool "c7i-flex.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c7i-flex.large" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_LARGE + default "c7i-flex.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_XLARGE + default "c7i-flex.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_2XLARGE + default "c7i-flex.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_4XLARGE + default "c7i-flex.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_8XLARGE + default "c7i-flex.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_12XLARGE + default "c7i-flex.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7I_FLEX_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C7I_FLEX + +if TERRAFORM_AWS_INSTANCE_FAMILY_C8G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C8G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_MEDIUM + bool "c8g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_LARGE + bool "c8g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_XLARGE + bool "c8g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_2XLARGE + bool "c8g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_4XLARGE + bool "c8g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_8XLARGE + bool "c8g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_12XLARGE + bool "c8g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_16XLARGE + bool "c8g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_24XLARGE + bool "c8g.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_METAL_24XL + bool "c8g.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 40 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_48XLARGE + bool "c8g.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8G_METAL_48XL + bool "c8g.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c8g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_MEDIUM + default "c8g.large" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_LARGE + default "c8g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_XLARGE + default "c8g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_2XLARGE + default "c8g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_4XLARGE + default "c8g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_8XLARGE + default "c8g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_12XLARGE + default "c8g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_16XLARGE + default "c8g.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_24XLARGE + default "c8g.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_METAL_24XL + default "c8g.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_48XLARGE + default "c8g.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_C8G_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C8G + +if TERRAFORM_AWS_INSTANCE_FAMILY_C8GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C8GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_MEDIUM + bool "c8gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_LARGE + bool "c8gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_XLARGE + bool "c8gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_2XLARGE + bool "c8gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_4XLARGE + bool "c8gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_8XLARGE + bool "c8gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 15 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_12XLARGE + bool "c8gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 22.5 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_16XLARGE + bool "c8gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_24XLARGE + bool "c8gd.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 40 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_METAL_24XL + bool "c8gd.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 40 Gigabit + Additional storage: 5700 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_48XLARGE + bool "c8gd.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Additional storage: 11400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GD_METAL_48XL + bool "c8gd.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Additional storage: 11400 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c8gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_MEDIUM + default "c8gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_LARGE + default "c8gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_XLARGE + default "c8gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_2XLARGE + default "c8gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_4XLARGE + default "c8gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_8XLARGE + default "c8gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_12XLARGE + default "c8gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_16XLARGE + default "c8gd.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_24XLARGE + default "c8gd.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_METAL_24XL + default "c8gd.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_48XLARGE + default "c8gd.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_C8GD_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C8GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_C8GN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_C8GN_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_MEDIUM + bool "c8gn.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_LARGE + bool "c8gn.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_XLARGE + bool "c8gn.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_2XLARGE + bool "c8gn.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_4XLARGE + bool "c8gn.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_8XLARGE + bool "c8gn.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_12XLARGE + bool "c8gn.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 96.0 GiB + Network speed: 150 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_16XLARGE + bool "c8gn.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 200 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_METAL_24XL + bool "c8gn.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 300 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_24XLARGE + bool "c8gn.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 300 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_48XLARGE + bool "c8gn.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 600 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_C8GN_METAL_48XL + bool "c8gn.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 384.0 GiB + Network speed: 600 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "c8gn.medium" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_MEDIUM + default "c8gn.large" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_LARGE + default "c8gn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_XLARGE + default "c8gn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_2XLARGE + default "c8gn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_4XLARGE + default "c8gn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_8XLARGE + default "c8gn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_12XLARGE + default "c8gn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_16XLARGE + default "c8gn.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_METAL_24XL + default "c8gn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_24XLARGE + default "c8gn.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_48XLARGE + default "c8gn.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_C8GN_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_C8GN + +if TERRAFORM_AWS_INSTANCE_FAMILY_D2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_D2_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_D2_XLARGE + bool "d2.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 30.5 GiB + Network speed: Moderate + Additional storage: 6144 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D2_2XLARGE + bool "d2.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 61.0 GiB + Network speed: High + Additional storage: 12288 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D2_4XLARGE + bool "d2.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 122.0 GiB + Network speed: High + Additional storage: 24576 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D2_8XLARGE + bool "d2.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 36 + RAM: 244.0 GiB + Network speed: 10 Gigabit + Additional storage: 49152 GB hdd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "d2.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D2_XLARGE + default "d2.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D2_2XLARGE + default "d2.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D2_4XLARGE + default "d2.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D2_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_D2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_D3 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_D3_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_D3_XLARGE + bool "d3.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 5940 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3_2XLARGE + bool "d3.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 11880 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3_4XLARGE + bool "d3.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 23760 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3_8XLARGE + bool "d3.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 47520 GB hdd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "d3.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3_XLARGE + default "d3.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3_2XLARGE + default "d3.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3_4XLARGE + default "d3.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_D3 + +if TERRAFORM_AWS_INSTANCE_FAMILY_D3EN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_D3EN_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_D3EN_XLARGE + bool "d3en.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 27960 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3EN_2XLARGE + bool "d3en.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 55920 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3EN_4XLARGE + bool "d3en.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: 25 Gigabit + Additional storage: 111840 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3EN_6XLARGE + bool "d3en.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 96.0 GiB + Network speed: 40 Gigabit + Additional storage: 167760 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3EN_8XLARGE + bool "d3en.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 50 Gigabit + Additional storage: 223680 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_D3EN_12XLARGE + bool "d3en.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 75 Gigabit + Additional storage: 335520 GB hdd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "d3en.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3EN_XLARGE + default "d3en.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3EN_2XLARGE + default "d3en.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3EN_4XLARGE + default "d3en.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3EN_6XLARGE + default "d3en.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3EN_8XLARGE + default "d3en.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_D3EN_12XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_D3EN + +if TERRAFORM_AWS_INSTANCE_FAMILY_DL1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_DL1_24XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_DL1_24XLARGE + bool "dl1.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 4x 100 Gigabit + Additional storage: 4000 GB ssd + GPU: 8x Gaudi HL-205 (32GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "dl1.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_DL1_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_DL1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_F1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_F1_2XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_F1_2XLARGE + bool "f1.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 122.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 470 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_F1_4XLARGE + bool "f1.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 244.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 940 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_F1_16XLARGE + bool "f1.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 976.0 GiB + Network speed: 25 Gigabit + Additional storage: 3760 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "f1.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_F1_2XLARGE + default "f1.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_F1_4XLARGE + default "f1.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_F1_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_F1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_F2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_F2_6XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_F2_6XLARGE + bool "f2.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 256.0 GiB + Network speed: 12.5 Gigabit + Additional storage: 940 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_F2_12XLARGE + bool "f2.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 512.0 GiB + Network speed: 25 Gigabit + Additional storage: 1880 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_F2_48XLARGE + bool "f2.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 2048.0 GiB + Network speed: 100 Gigabit + Additional storage: 7520 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "f2.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_F2_6XLARGE + default "f2.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_F2_12XLARGE + default "f2.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_F2_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_F2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_G4AD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_G4AD_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_G4AD_XLARGE + bool "g4ad.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 150 GB ssd + GPU: Radeon Pro V520 (8GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4AD_2XLARGE + bool "g4ad.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 300 GB ssd + GPU: Radeon Pro V520 (8GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4AD_4XLARGE + bool "g4ad.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 600 GB ssd + GPU: Radeon Pro V520 (8GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4AD_8XLARGE + bool "g4ad.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 15 Gigabit + Additional storage: 1200 GB ssd + GPU: 2x Radeon Pro V520 (8GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4AD_16XLARGE + bool "g4ad.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 2400 GB ssd + GPU: 4x Radeon Pro V520 (8GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "g4ad.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4AD_XLARGE + default "g4ad.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4AD_2XLARGE + default "g4ad.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4AD_4XLARGE + default "g4ad.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4AD_8XLARGE + default "g4ad.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4AD_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_G4AD + +if TERRAFORM_AWS_INSTANCE_FAMILY_G4DN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_G4DN_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_G4DN_XLARGE + bool "g4dn.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 125 GB ssd + GPU: T4 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4DN_2XLARGE + bool "g4dn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 225 GB ssd + GPU: T4 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4DN_4XLARGE + bool "g4dn.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 225 GB ssd + GPU: T4 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4DN_8XLARGE + bool "g4dn.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 50 Gigabit + Additional storage: 900 GB ssd + GPU: T4 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4DN_12XLARGE + bool "g4dn.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 50 Gigabit + Additional storage: 900 GB ssd + GPU: 4x T4 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4DN_16XLARGE + bool "g4dn.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 50 Gigabit + Additional storage: 900 GB ssd + GPU: T4 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G4DN_METAL + bool "g4dn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 100 Gigabit + Additional storage: 1800 GB ssd + GPU: 8x T4 (16GB) + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "g4dn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4DN_XLARGE + default "g4dn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4DN_2XLARGE + default "g4dn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4DN_4XLARGE + default "g4dn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4DN_8XLARGE + default "g4dn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4DN_12XLARGE + default "g4dn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G4DN_16XLARGE + default "g4dn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_G4DN_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_G4DN + +if TERRAFORM_AWS_INSTANCE_FAMILY_G5 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_G5_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_XLARGE + bool "g5.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 250 GB ssd + GPU: A10G (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_2XLARGE + bool "g5.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 450 GB ssd + GPU: A10G (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_4XLARGE + bool "g5.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 600 GB ssd + GPU: A10G (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_8XLARGE + bool "g5.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 25 Gigabit + Additional storage: 900 GB ssd + GPU: A10G (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_12XLARGE + bool "g5.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 40 Gigabit + Additional storage: 3800 GB ssd + GPU: 4x A10G (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_16XLARGE + bool "g5.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 1900 GB ssd + GPU: A10G (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_24XLARGE + bool "g5.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Additional storage: 3800 GB ssd + GPU: 4x A10G (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5_48XLARGE + bool "g5.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Additional storage: 7600 GB ssd + GPU: 8x A10G (22GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "g5.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_XLARGE + default "g5.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_2XLARGE + default "g5.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_4XLARGE + default "g5.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_8XLARGE + default "g5.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_12XLARGE + default "g5.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_16XLARGE + default "g5.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_24XLARGE + default "g5.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_G5 + +if TERRAFORM_AWS_INSTANCE_FAMILY_G5G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_G5G_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_G5G_XLARGE + bool "g5g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + GPU: T4g (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5G_2XLARGE + bool "g5g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + GPU: T4g (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5G_4XLARGE + bool "g5g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + GPU: T4g (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5G_8XLARGE + bool "g5g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 64.0 GiB + Network speed: 12 Gigabit + GPU: T4g (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5G_16XLARGE + bool "g5g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + GPU: 2x T4g (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G5G_METAL + bool "g5g.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 25 Gigabit + GPU: 2x T4g (16GB) + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "g5g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5G_XLARGE + default "g5g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5G_2XLARGE + default "g5g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5G_4XLARGE + default "g5g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5G_8XLARGE + default "g5g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G5G_16XLARGE + default "g5g.metal" if TERRAFORM_AWS_INSTANCE_SIZE_G5G_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_G5G + +if TERRAFORM_AWS_INSTANCE_FAMILY_G6 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_G6_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_XLARGE + bool "g6.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 250 GB ssd + GPU: L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_2XLARGE + bool "g6.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 450 GB ssd + GPU: L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_4XLARGE + bool "g6.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 600 GB ssd + GPU: L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_8XLARGE + bool "g6.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 25 Gigabit + Additional storage: 900 GB ssd + GPU: L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_12XLARGE + bool "g6.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 40 Gigabit + Additional storage: 3760 GB ssd + GPU: 4x L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_16XLARGE + bool "g6.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 1880 GB ssd + GPU: L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_24XLARGE + bool "g6.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Additional storage: 3760 GB ssd + GPU: 4x L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6_48XLARGE + bool "g6.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Additional storage: 7520 GB ssd + GPU: 8x L4 (22GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "g6.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_XLARGE + default "g6.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_2XLARGE + default "g6.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_4XLARGE + default "g6.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_8XLARGE + default "g6.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_12XLARGE + default "g6.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_16XLARGE + default "g6.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_24XLARGE + default "g6.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_G6 + +if TERRAFORM_AWS_INSTANCE_FAMILY_G6E + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_G6E_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_XLARGE + bool "g6e.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 20 Gigabit + Additional storage: 250 GB ssd + GPU: L40S (44GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_2XLARGE + bool "g6e.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 20 Gigabit + Additional storage: 450 GB ssd + GPU: L40S (44GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_4XLARGE + bool "g6e.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: 20 Gigabit + Additional storage: 600 GB ssd + GPU: L40S (44GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_8XLARGE + bool "g6e.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 900 GB ssd + GPU: L40S (44GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_12XLARGE + bool "g6e.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + GPU: 4x L40S (44GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_16XLARGE + bool "g6e.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 35 Gigabit + Additional storage: 1900 GB ssd + GPU: L40S (44GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_24XLARGE + bool "g6e.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 200 Gigabit + Additional storage: 3800 GB ssd + GPU: 4x L40S (44GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6E_48XLARGE + bool "g6e.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 400 Gigabit + Additional storage: 7600 GB ssd + GPU: 8x L40S (44GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "g6e.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_XLARGE + default "g6e.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_2XLARGE + default "g6e.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_4XLARGE + default "g6e.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_8XLARGE + default "g6e.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_12XLARGE + default "g6e.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_16XLARGE + default "g6e.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_24XLARGE + default "g6e.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6E_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_G6E + +if TERRAFORM_AWS_INSTANCE_FAMILY_G6F + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_G6F_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_G6F_LARGE + bool "g6f.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 100 GB ssd + GPU: L4 (2GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6F_XLARGE + bool "g6f.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 100 GB ssd + GPU: L4 (2GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6F_2XLARGE + bool "g6f.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 200 GB ssd + GPU: L4 (5GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_G6F_4XLARGE + bool "g6f.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 450 GB ssd + GPU: L4 (11GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "g6f.large" if TERRAFORM_AWS_INSTANCE_SIZE_G6F_LARGE + default "g6f.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6F_XLARGE + default "g6f.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6F_2XLARGE + default "g6f.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_G6F_4XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_G6F + +if TERRAFORM_AWS_INSTANCE_FAMILY_GR6 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_GR6_4XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_GR6_4XLARGE + bool "gr6.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 600 GB ssd + GPU: L4 (22GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_GR6_8XLARGE + bool "gr6.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 900 GB ssd + GPU: L4 (22GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "gr6.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_GR6_4XLARGE + default "gr6.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_GR6_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_GR6 + +if TERRAFORM_AWS_INSTANCE_FAMILY_GR6F + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_GR6F_4XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_GR6F_4XLARGE + bool "gr6f.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 450 GB ssd + GPU: L4 (11GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "gr6f.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_GR6F_4XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_GR6F + +if TERRAFORM_AWS_INSTANCE_FAMILY_H1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_H1_2XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_H1_2XLARGE + bool "h1.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 2000 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_H1_4XLARGE + bool "h1.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 4000 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_H1_8XLARGE + bool "h1.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 10 Gigabit + Additional storage: 8000 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_H1_16XLARGE + bool "h1.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 16000 GB hdd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "h1.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_H1_2XLARGE + default "h1.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_H1_4XLARGE + default "h1.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_H1_8XLARGE + default "h1.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_H1_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_H1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_HPC7G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_HPC7G_4XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_HPC7G_4XLARGE + bool "hpc7g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: 200 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_HPC7G_8XLARGE + bool "hpc7g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 200 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_HPC7G_16XLARGE + bool "hpc7g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 128.0 GiB + Network speed: 200 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "hpc7g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_HPC7G_4XLARGE + default "hpc7g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_HPC7G_8XLARGE + default "hpc7g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_HPC7G_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_HPC7G + +if TERRAFORM_AWS_INSTANCE_FAMILY_I2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I2_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I2_XLARGE + bool "i2.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 30.5 GiB + Network speed: Moderate + Additional storage: 800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I2_2XLARGE + bool "i2.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 61.0 GiB + Network speed: High + Additional storage: 1600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I2_4XLARGE + bool "i2.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 122.0 GiB + Network speed: High + Additional storage: 3200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I2_8XLARGE + bool "i2.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 244.0 GiB + Network speed: 10 Gigabit + Additional storage: 6400 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i2.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I2_XLARGE + default "i2.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I2_2XLARGE + default "i2.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I2_4XLARGE + default "i2.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I2_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_I3 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I3_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I3_LARGE + bool "i3.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 15.25 GiB + Network speed: Up to 10 Gigabit + Additional storage: 475 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3_XLARGE + bool "i3.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 30.5 GiB + Network speed: Up to 10 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3_2XLARGE + bool "i3.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 61.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3_4XLARGE + bool "i3.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 122.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3_8XLARGE + bool "i3.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 244.0 GiB + Network speed: 10 Gigabit + Additional storage: 7600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3_16XLARGE + bool "i3.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 488.0 GiB + Network speed: 25 Gigabit + Additional storage: 15200 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i3.large" if TERRAFORM_AWS_INSTANCE_SIZE_I3_LARGE + default "i3.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3_XLARGE + default "i3.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3_2XLARGE + default "i3.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3_4XLARGE + default "i3.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3_8XLARGE + default "i3.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I3 + +if TERRAFORM_AWS_INSTANCE_FAMILY_I3EN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I3EN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_LARGE + bool "i3en.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 1250 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_XLARGE + bool "i3en.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 2500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_2XLARGE + bool "i3en.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 5000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_3XLARGE + bool "i3en.3xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 12 + RAM: 96.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_6XLARGE + bool "i3en.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 192.0 GiB + Network speed: 25 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_12XLARGE + bool "i3en.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Additional storage: 30000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_24XLARGE + bool "i3en.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Additional storage: 60000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I3EN_METAL + bool "i3en.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Additional storage: 60000 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i3en.large" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_LARGE + default "i3en.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_XLARGE + default "i3en.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_2XLARGE + default "i3en.3xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_3XLARGE + default "i3en.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_6XLARGE + default "i3en.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_12XLARGE + default "i3en.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_24XLARGE + default "i3en.metal" if TERRAFORM_AWS_INSTANCE_SIZE_I3EN_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I3EN + +if TERRAFORM_AWS_INSTANCE_FAMILY_I4G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I4G_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I4G_LARGE + bool "i4g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 468 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4G_XLARGE + bool "i4g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 937 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4G_2XLARGE + bool "i4g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12 Gigabit + Additional storage: 1875 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4G_4XLARGE + bool "i4g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 3750 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4G_8XLARGE + bool "i4g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 18.75 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4G_16XLARGE + bool "i4g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 37.5 Gigabit + Additional storage: 15000 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i4g.large" if TERRAFORM_AWS_INSTANCE_SIZE_I4G_LARGE + default "i4g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4G_XLARGE + default "i4g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4G_2XLARGE + default "i4g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4G_4XLARGE + default "i4g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4G_8XLARGE + default "i4g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4G_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I4G + +if TERRAFORM_AWS_INSTANCE_FAMILY_I4I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I4I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_LARGE + bool "i4i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 468 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_XLARGE + bool "i4i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 937 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_2XLARGE + bool "i4i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12 Gigabit + Additional storage: 1875 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_4XLARGE + bool "i4i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 3750 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_8XLARGE + bool "i4i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 18.75 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_12XLARGE + bool "i4i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 28.12 Gigabit + Additional storage: 11250 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_16XLARGE + bool "i4i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 37.5 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_24XLARGE + bool "i4i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 56.25 Gigabit + Additional storage: 22500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_METAL + bool "i4i.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 75 Gigabit + Additional storage: 30000 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I4I_32XLARGE + bool "i4i.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 75 Gigabit + Additional storage: 30000 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i4i.large" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_LARGE + default "i4i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_XLARGE + default "i4i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_2XLARGE + default "i4i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_4XLARGE + default "i4i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_8XLARGE + default "i4i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_12XLARGE + default "i4i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_16XLARGE + default "i4i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_24XLARGE + default "i4i.metal" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_METAL + default "i4i.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I4I + +if TERRAFORM_AWS_INSTANCE_FAMILY_I7I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I7I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_LARGE + bool "i7i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 468 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_XLARGE + bool "i7i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 937 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_2XLARGE + bool "i7i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12 Gigabit + Additional storage: 1875 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_4XLARGE + bool "i7i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 3750 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_8XLARGE + bool "i7i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_12XLARGE + bool "i7i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: Up to 28 Gigabit + Additional storage: 11250 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_16XLARGE + bool "i7i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: Up to 37.5 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_METAL_24XL + bool "i7i.metal-24xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: Up to 56.25 Gigabit + Additional storage: 22500 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_24XLARGE + bool "i7i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: Up to 56.25 Gigabit + Additional storage: 22500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_METAL_48XL + bool "i7i.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: Up to 100 Gigabit + Additional storage: 45000 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I7I_48XLARGE + bool "i7i.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: Up to 100 Gigabit + Additional storage: 45000 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i7i.large" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_LARGE + default "i7i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_XLARGE + default "i7i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_2XLARGE + default "i7i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_4XLARGE + default "i7i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_8XLARGE + default "i7i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_12XLARGE + default "i7i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_16XLARGE + default "i7i.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_METAL_24XL + default "i7i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_24XLARGE + default "i7i.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_METAL_48XL + default "i7i.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7I_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I7I + +if TERRAFORM_AWS_INSTANCE_FAMILY_I7IE + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I7IE_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_LARGE + bool "i7ie.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 1250 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_XLARGE + bool "i7ie.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 2500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_2XLARGE + bool "i7ie.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 5000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_3XLARGE + bool "i7ie.3xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 12 + RAM: 96.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_6XLARGE + bool "i7ie.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 192.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_12XLARGE + bool "i7ie.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: Up to 50 Gigabit + Additional storage: 30000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_18XLARGE + bool "i7ie.18xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 72 + RAM: 576.0 GiB + Network speed: Up to 75 Gigabit + Additional storage: 45000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_24XLARGE + bool "i7ie.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: Up to 100 Gigabit + Additional storage: 60000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_METAL_24XL + bool "i7ie.metal-24xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: Up to 100 Gigabit + Additional storage: 60000 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_METAL_48XL + bool "i7ie.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 100 Gigabit + Additional storage: 120000 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I7IE_48XLARGE + bool "i7ie.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 100 Gigabit + Additional storage: 120000 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i7ie.large" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_LARGE + default "i7ie.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_XLARGE + default "i7ie.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_2XLARGE + default "i7ie.3xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_3XLARGE + default "i7ie.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_6XLARGE + default "i7ie.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_12XLARGE + default "i7ie.18xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_18XLARGE + default "i7ie.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_24XLARGE + default "i7ie.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_METAL_24XL + default "i7ie.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_METAL_48XL + default "i7ie.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I7IE_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I7IE + +if TERRAFORM_AWS_INSTANCE_FAMILY_I8G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I8G_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_LARGE + bool "i8g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 468 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_XLARGE + bool "i8g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 937 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_2XLARGE + bool "i8g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12 Gigabit + Additional storage: 1875 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_4XLARGE + bool "i8g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 3750 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_8XLARGE + bool "i8g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_12XLARGE + bool "i8g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: Up to 28.12 Gigabit + Additional storage: 11250 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_16XLARGE + bool "i8g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: Up to 37.5 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_METAL_24XL + bool "i8g.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: Up to 56.25 Gigabit + Additional storage: 22500 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_24XLARGE + bool "i8g.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: Up to 56.25 Gigabit + Additional storage: 22500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8G_48XLARGE + bool "i8g.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: Up to 100 Gigabit + Additional storage: 45000 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i8g.large" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_LARGE + default "i8g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_XLARGE + default "i8g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_2XLARGE + default "i8g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_4XLARGE + default "i8g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_8XLARGE + default "i8g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_12XLARGE + default "i8g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_16XLARGE + default "i8g.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_METAL_24XL + default "i8g.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_24XLARGE + default "i8g.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8G_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I8G + +if TERRAFORM_AWS_INSTANCE_FAMILY_I8GE + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_I8GE_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_LARGE + bool "i8ge.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 1250 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_XLARGE + bool "i8ge.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 2500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_2XLARGE + bool "i8ge.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 5000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_3XLARGE + bool "i8ge.3xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 12 + RAM: 96.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_6XLARGE + bool "i8ge.6xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 24 + RAM: 192.0 GiB + Network speed: 37.5 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_12XLARGE + bool "i8ge.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 75 Gigabit + Additional storage: 30000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_18XLARGE + bool "i8ge.18xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 72 + RAM: 576.0 GiB + Network speed: 112.5 Gigabit + Additional storage: 45000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_24XLARGE + bool "i8ge.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 150 Gigabit + Additional storage: 60000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_METAL_24XL + bool "i8ge.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 150 Gigabit + Additional storage: 60000 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_48XLARGE + bool "i8ge.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 300 Gigabit + Additional storage: 120000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_I8GE_METAL_48XL + bool "i8ge.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 300 Gigabit + Additional storage: 120000 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "i8ge.large" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_LARGE + default "i8ge.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_XLARGE + default "i8ge.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_2XLARGE + default "i8ge.3xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_3XLARGE + default "i8ge.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_6XLARGE + default "i8ge.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_12XLARGE + default "i8ge.18xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_18XLARGE + default "i8ge.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_24XLARGE + default "i8ge.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_METAL_24XL + default "i8ge.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_48XLARGE + default "i8ge.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_I8GE_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_I8GE + +if TERRAFORM_AWS_INSTANCE_FAMILY_IM4GN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_LARGE + bool "im4gn.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 937 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_XLARGE + bool "im4gn.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 1875 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_2XLARGE + bool "im4gn.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 3750 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_4XLARGE + bool "im4gn.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: 25 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_8XLARGE + bool "im4gn.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 50 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_16XLARGE + bool "im4gn.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 100 Gigabit + Additional storage: 30000 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "im4gn.large" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_LARGE + default "im4gn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_XLARGE + default "im4gn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_2XLARGE + default "im4gn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_4XLARGE + default "im4gn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_8XLARGE + default "im4gn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_IM4GN + +if TERRAFORM_AWS_INSTANCE_FAMILY_INF1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_INF1_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_INF1_XLARGE + bool "inf1.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_INF1_2XLARGE + bool "inf1.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_INF1_6XLARGE + bool "inf1.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 48.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_INF1_24XLARGE + bool "inf1.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "inf1.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF1_XLARGE + default "inf1.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF1_2XLARGE + default "inf1.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF1_6XLARGE + default "inf1.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF1_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_INF1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_INF2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_INF2_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_INF2_XLARGE + bool "inf2.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_INF2_8XLARGE + bool "inf2.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_INF2_24XLARGE + bool "inf2.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_INF2_48XLARGE + bool "inf2.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "inf2.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF2_XLARGE + default "inf2.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF2_8XLARGE + default "inf2.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF2_24XLARGE + default "inf2.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_INF2_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_INF2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_IS4GEN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_MEDIUM + bool "is4gen.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 6.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 937 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_LARGE + bool "is4gen.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 12.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 1875 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_XLARGE + bool "is4gen.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 24.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 3750 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_2XLARGE + bool "is4gen.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 48.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 7500 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_4XLARGE + bool "is4gen.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 96.0 GiB + Network speed: 25 Gigabit + Additional storage: 15000 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_8XLARGE + bool "is4gen.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 192.0 GiB + Network speed: 50 Gigabit + Additional storage: 30000 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "is4gen.medium" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_MEDIUM + default "is4gen.large" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_LARGE + default "is4gen.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_XLARGE + default "is4gen.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_2XLARGE + default "is4gen.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_4XLARGE + default "is4gen.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_IS4GEN + +if TERRAFORM_AWS_INSTANCE_FAMILY_M1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M1_SMALL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M1_SMALL + bool "m1.small" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 1.69921875 GiB + Network speed: Low + Additional storage: 160 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_M1_MEDIUM + bool "m1.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 3.69921875 GiB + Network speed: Moderate + Additional storage: 410 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_M1_LARGE + bool "m1.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 7.5 GiB + Network speed: Moderate + Additional storage: 840 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_M1_XLARGE + bool "m1.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 15.0 GiB + Network speed: High + Additional storage: 1680 GB hdd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m1.small" if TERRAFORM_AWS_INSTANCE_SIZE_M1_SMALL + default "m1.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M1_MEDIUM + default "m1.large" if TERRAFORM_AWS_INSTANCE_SIZE_M1_LARGE + default "m1.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M1_XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_M2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M2_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M2_XLARGE + bool "m2.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 17.099609375 GiB + Network speed: Moderate + Additional storage: 420 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_M2_2XLARGE + bool "m2.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 34.19921875 GiB + Network speed: Moderate + Additional storage: 850 GB hdd + +config TERRAFORM_AWS_INSTANCE_SIZE_M2_4XLARGE + bool "m2.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 68.3994140625 GiB + Network speed: High + Additional storage: 1680 GB hdd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m2.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M2_XLARGE + default "m2.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M2_2XLARGE + default "m2.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M2_4XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_M3 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M3_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M3_MEDIUM + bool "m3.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 3.75 GiB + Network speed: Moderate + Additional storage: 4 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M3_LARGE + bool "m3.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 7.5 GiB + Network speed: Moderate + Additional storage: 32 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M3_XLARGE + bool "m3.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 15.0 GiB + Network speed: High + Additional storage: 80 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M3_2XLARGE + bool "m3.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 30.0 GiB + Network speed: High + Additional storage: 160 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m3.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M3_MEDIUM + default "m3.large" if TERRAFORM_AWS_INSTANCE_SIZE_M3_LARGE + default "m3.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M3_XLARGE + default "m3.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M3_2XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M3 + +if TERRAFORM_AWS_INSTANCE_FAMILY_M4 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M4_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M4_LARGE + bool "m4.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Moderate + +config TERRAFORM_AWS_INSTANCE_SIZE_M4_XLARGE + bool "m4.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: High + +config TERRAFORM_AWS_INSTANCE_SIZE_M4_2XLARGE + bool "m4.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: High + +config TERRAFORM_AWS_INSTANCE_SIZE_M4_4XLARGE + bool "m4.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: High + +config TERRAFORM_AWS_INSTANCE_SIZE_M4_10XLARGE + bool "m4.10xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 40 + RAM: 160.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M4_16XLARGE + bool "m4.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m4.large" if TERRAFORM_AWS_INSTANCE_SIZE_M4_LARGE + default "m4.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M4_XLARGE + default "m4.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M4_2XLARGE + default "m4.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M4_4XLARGE + default "m4.10xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M4_10XLARGE + default "m4.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M4_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M4 + +if TERRAFORM_AWS_INSTANCE_FAMILY_M5 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M5_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_LARGE + bool "m5.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_XLARGE + bool "m5.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_2XLARGE + bool "m5.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_4XLARGE + bool "m5.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_8XLARGE + bool "m5.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_12XLARGE + bool "m5.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_16XLARGE + bool "m5.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 20 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_24XLARGE + bool "m5.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5_METAL + bool "m5.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m5.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5_LARGE + default "m5.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5_XLARGE + default "m5.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5_2XLARGE + default "m5.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5_4XLARGE + default "m5.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5_8XLARGE + default "m5.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5_12XLARGE + default "m5.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5_16XLARGE + default "m5.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5_24XLARGE + default "m5.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M5_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M5 + +if TERRAFORM_AWS_INSTANCE_FAMILY_M5A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M5A_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_LARGE + bool "m5a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_XLARGE + bool "m5a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_2XLARGE + bool "m5a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_4XLARGE + bool "m5a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_8XLARGE + bool "m5a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_12XLARGE + bool "m5a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_16XLARGE + bool "m5a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5A_24XLARGE + bool "m5a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 20 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m5a.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_LARGE + default "m5a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_XLARGE + default "m5a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_2XLARGE + default "m5a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_4XLARGE + default "m5a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_8XLARGE + default "m5a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_12XLARGE + default "m5a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_16XLARGE + default "m5a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5A_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M5A + +if TERRAFORM_AWS_INSTANCE_FAMILY_M5AD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M5AD_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_LARGE + bool "m5ad.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_XLARGE + bool "m5ad.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_2XLARGE + bool "m5ad.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_4XLARGE + bool "m5ad.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_8XLARGE + bool "m5ad.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 1200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_12XLARGE + bool "m5ad.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 10 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_16XLARGE + bool "m5ad.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 12 Gigabit + Additional storage: 2400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_24XLARGE + bool "m5ad.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 20 Gigabit + Additional storage: 3600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m5ad.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_LARGE + default "m5ad.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_XLARGE + default "m5ad.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_2XLARGE + default "m5ad.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_4XLARGE + default "m5ad.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_8XLARGE + default "m5ad.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_12XLARGE + default "m5ad.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_16XLARGE + default "m5ad.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M5AD + +if TERRAFORM_AWS_INSTANCE_FAMILY_M5D + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M5D_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_LARGE + bool "m5d.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_XLARGE + bool "m5d.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_2XLARGE + bool "m5d.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_4XLARGE + bool "m5d.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_8XLARGE + bool "m5d.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 10 Gigabit + Additional storage: 1200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_12XLARGE + bool "m5d.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 12 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_16XLARGE + bool "m5d.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 20 Gigabit + Additional storage: 2400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_METAL + bool "m5d.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 25 Gigabit + Additional storage: 3600 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5D_24XLARGE + bool "m5d.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 25 Gigabit + Additional storage: 3600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m5d.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_LARGE + default "m5d.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_XLARGE + default "m5d.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_2XLARGE + default "m5d.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_4XLARGE + default "m5d.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_8XLARGE + default "m5d.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_12XLARGE + default "m5d.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_16XLARGE + default "m5d.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_METAL + default "m5d.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5D_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M5D + +if TERRAFORM_AWS_INSTANCE_FAMILY_M5DN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M5DN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_LARGE + bool "m5dn.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_XLARGE + bool "m5dn.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_2XLARGE + bool "m5dn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_4XLARGE + bool "m5dn.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_8XLARGE + bool "m5dn.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 25 Gigabit + Additional storage: 1200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_12XLARGE + bool "m5dn.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 50 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_16XLARGE + bool "m5dn.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 75 Gigabit + Additional storage: 2400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_METAL + bool "m5dn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 100 Gigabit + Additional storage: 3600 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5DN_24XLARGE + bool "m5dn.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 100 Gigabit + Additional storage: 3600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m5dn.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_LARGE + default "m5dn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_XLARGE + default "m5dn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_2XLARGE + default "m5dn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_4XLARGE + default "m5dn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_8XLARGE + default "m5dn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_12XLARGE + default "m5dn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_16XLARGE + default "m5dn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_METAL + default "m5dn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5DN_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M5DN + +if TERRAFORM_AWS_INSTANCE_FAMILY_M5N + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M5N_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_LARGE + bool "m5n.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_XLARGE + bool "m5n.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_2XLARGE + bool "m5n.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_4XLARGE + bool "m5n.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_8XLARGE + bool "m5n.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_12XLARGE + bool "m5n.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_16XLARGE + bool "m5n.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_METAL + bool "m5n.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 100 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5N_24XLARGE + bool "m5n.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m5n.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_LARGE + default "m5n.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_XLARGE + default "m5n.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_2XLARGE + default "m5n.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_4XLARGE + default "m5n.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_8XLARGE + default "m5n.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_12XLARGE + default "m5n.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_16XLARGE + default "m5n.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_METAL + default "m5n.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5N_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M5N + +if TERRAFORM_AWS_INSTANCE_FAMILY_M5ZN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_LARGE + bool "m5zn.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_XLARGE + bool "m5zn.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_2XLARGE + bool "m5zn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_3XLARGE + bool "m5zn.3xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 12 + RAM: 48.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_6XLARGE + bool "m5zn.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 96.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_METAL + bool "m5zn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 100 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_12XLARGE + bool "m5zn.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m5zn.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_LARGE + default "m5zn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_XLARGE + default "m5zn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_2XLARGE + default "m5zn.3xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_3XLARGE + default "m5zn.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_6XLARGE + default "m5zn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_METAL + default "m5zn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5ZN_12XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M5ZN + +if TERRAFORM_AWS_INSTANCE_FAMILY_M6A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M6A_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_LARGE + bool "m6a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_XLARGE + bool "m6a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_2XLARGE + bool "m6a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_4XLARGE + bool "m6a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_8XLARGE + bool "m6a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_12XLARGE + bool "m6a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_16XLARGE + bool "m6a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_24XLARGE + bool "m6a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_32XLARGE + bool "m6a.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_METAL + bool "m6a.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6A_48XLARGE + bool "m6a.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m6a.large" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_LARGE + default "m6a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_XLARGE + default "m6a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_2XLARGE + default "m6a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_4XLARGE + default "m6a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_8XLARGE + default "m6a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_12XLARGE + default "m6a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_16XLARGE + default "m6a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_24XLARGE + default "m6a.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_32XLARGE + default "m6a.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_METAL + default "m6a.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6A_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M6A + +if TERRAFORM_AWS_INSTANCE_FAMILY_M6G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M6G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_MEDIUM + bool "m6g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_LARGE + bool "m6g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_XLARGE + bool "m6g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_2XLARGE + bool "m6g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_4XLARGE + bool "m6g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_8XLARGE + bool "m6g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_12XLARGE + bool "m6g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 20 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_METAL + bool "m6g.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6G_16XLARGE + bool "m6g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m6g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_MEDIUM + default "m6g.large" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_LARGE + default "m6g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_XLARGE + default "m6g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_2XLARGE + default "m6g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_4XLARGE + default "m6g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_8XLARGE + default "m6g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_12XLARGE + default "m6g.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_METAL + default "m6g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6G_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M6G + +if TERRAFORM_AWS_INSTANCE_FAMILY_M6GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M6GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_MEDIUM + bool "m6gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 4.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_LARGE + bool "m6gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_XLARGE + bool "m6gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_2XLARGE + bool "m6gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_4XLARGE + bool "m6gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_8XLARGE + bool "m6gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 12 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_12XLARGE + bool "m6gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 20 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_METAL + bool "m6gd.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6GD_16XLARGE + bool "m6gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m6gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_MEDIUM + default "m6gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_LARGE + default "m6gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_XLARGE + default "m6gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_2XLARGE + default "m6gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_4XLARGE + default "m6gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_8XLARGE + default "m6gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_12XLARGE + default "m6gd.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_METAL + default "m6gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6GD_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M6GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_M6I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M6I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_LARGE + bool "m6i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_XLARGE + bool "m6i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_2XLARGE + bool "m6i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_4XLARGE + bool "m6i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_8XLARGE + bool "m6i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_12XLARGE + bool "m6i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_16XLARGE + bool "m6i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_24XLARGE + bool "m6i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_METAL + bool "m6i.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6I_32XLARGE + bool "m6i.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m6i.large" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_LARGE + default "m6i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_XLARGE + default "m6i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_2XLARGE + default "m6i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_4XLARGE + default "m6i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_8XLARGE + default "m6i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_12XLARGE + default "m6i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_16XLARGE + default "m6i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_24XLARGE + default "m6i.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_METAL + default "m6i.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6I_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M6I + +if TERRAFORM_AWS_INSTANCE_FAMILY_M6ID + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M6ID_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_LARGE + bool "m6id.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_XLARGE + bool "m6id.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_2XLARGE + bool "m6id.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_4XLARGE + bool "m6id.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_8XLARGE + bool "m6id.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 12.5 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_12XLARGE + bool "m6id.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 18.75 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_16XLARGE + bool "m6id.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_24XLARGE + bool "m6id.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 37.5 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_32XLARGE + bool "m6id.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 50 Gigabit + Additional storage: 7600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6ID_METAL + bool "m6id.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 50 Gigabit + Additional storage: 7600 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m6id.large" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_LARGE + default "m6id.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_XLARGE + default "m6id.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_2XLARGE + default "m6id.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_4XLARGE + default "m6id.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_8XLARGE + default "m6id.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_12XLARGE + default "m6id.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_16XLARGE + default "m6id.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_24XLARGE + default "m6id.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_32XLARGE + default "m6id.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M6ID_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M6ID + +if TERRAFORM_AWS_INSTANCE_FAMILY_M6IDN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_LARGE + bool "m6idn.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_XLARGE + bool "m6idn.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 30 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_2XLARGE + bool "m6idn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 40 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_4XLARGE + bool "m6idn.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 50 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_8XLARGE + bool "m6idn.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 50 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_12XLARGE + bool "m6idn.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 75 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_16XLARGE + bool "m6idn.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_24XLARGE + bool "m6idn.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 150 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_32XLARGE + bool "m6idn.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 200 Gigabit + Additional storage: 7600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_METAL + bool "m6idn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 200 Gigabit + Additional storage: 7600 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m6idn.large" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_LARGE + default "m6idn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_XLARGE + default "m6idn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_2XLARGE + default "m6idn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_4XLARGE + default "m6idn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_8XLARGE + default "m6idn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_12XLARGE + default "m6idn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_16XLARGE + default "m6idn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_24XLARGE + default "m6idn.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_32XLARGE + default "m6idn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M6IDN_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M6IDN + +if TERRAFORM_AWS_INSTANCE_FAMILY_M6IN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M6IN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_LARGE + bool "m6in.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_XLARGE + bool "m6in.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_2XLARGE + bool "m6in.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_4XLARGE + bool "m6in.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_8XLARGE + bool "m6in.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_12XLARGE + bool "m6in.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_16XLARGE + bool "m6in.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_24XLARGE + bool "m6in.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 150 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_32XLARGE + bool "m6in.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 200 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M6IN_METAL + bool "m6in.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 200 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m6in.large" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_LARGE + default "m6in.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_XLARGE + default "m6in.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_2XLARGE + default "m6in.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_4XLARGE + default "m6in.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_8XLARGE + default "m6in.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_12XLARGE + default "m6in.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_16XLARGE + default "m6in.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_24XLARGE + default "m6in.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_32XLARGE + default "m6in.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M6IN_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M6IN + +if TERRAFORM_AWS_INSTANCE_FAMILY_M7A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M7A_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_MEDIUM + bool "m7a.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_LARGE + bool "m7a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_XLARGE + bool "m7a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_2XLARGE + bool "m7a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_4XLARGE + bool "m7a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_8XLARGE + bool "m7a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_12XLARGE + bool "m7a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_16XLARGE + bool "m7a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_24XLARGE + bool "m7a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_32XLARGE + bool "m7a.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_48XLARGE + bool "m7a.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7A_METAL_48XL + bool "m7a.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m7a.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_MEDIUM + default "m7a.large" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_LARGE + default "m7a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_XLARGE + default "m7a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_2XLARGE + default "m7a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_4XLARGE + default "m7a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_8XLARGE + default "m7a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_12XLARGE + default "m7a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_16XLARGE + default "m7a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_24XLARGE + default "m7a.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_32XLARGE + default "m7a.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_48XLARGE + default "m7a.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M7A + +if TERRAFORM_AWS_INSTANCE_FAMILY_M7G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M7G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_MEDIUM + bool "m7g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_LARGE + bool "m7g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_XLARGE + bool "m7g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_2XLARGE + bool "m7g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_4XLARGE + bool "m7g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_8XLARGE + bool "m7g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_12XLARGE + bool "m7g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_16XLARGE + bool "m7g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7G_METAL + bool "m7g.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 30 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m7g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_MEDIUM + default "m7g.large" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_LARGE + default "m7g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_XLARGE + default "m7g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_2XLARGE + default "m7g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_4XLARGE + default "m7g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_8XLARGE + default "m7g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_12XLARGE + default "m7g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_16XLARGE + default "m7g.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M7G_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M7G + +if TERRAFORM_AWS_INSTANCE_FAMILY_M7GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M7GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_MEDIUM + bool "m7gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_LARGE + bool "m7gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_XLARGE + bool "m7gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_2XLARGE + bool "m7gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_4XLARGE + bool "m7gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_8XLARGE + bool "m7gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 15 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_12XLARGE + bool "m7gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 22.5 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_16XLARGE + bool "m7gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M7GD_METAL + bool "m7gd.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m7gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_MEDIUM + default "m7gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_LARGE + default "m7gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_XLARGE + default "m7gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_2XLARGE + default "m7gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_4XLARGE + default "m7gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_8XLARGE + default "m7gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_12XLARGE + default "m7gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_16XLARGE + default "m7gd.metal" if TERRAFORM_AWS_INSTANCE_SIZE_M7GD_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M7GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_M7I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M7I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_LARGE + bool "m7i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_XLARGE + bool "m7i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_2XLARGE + bool "m7i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_4XLARGE + bool "m7i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_8XLARGE + bool "m7i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_12XLARGE + bool "m7i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_16XLARGE + bool "m7i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_METAL_24XL + bool "m7i.metal-24xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 37.5 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_24XLARGE + bool "m7i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_48XLARGE + bool "m7i.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_METAL_48XL + bool "m7i.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m7i.large" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_LARGE + default "m7i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_XLARGE + default "m7i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_2XLARGE + default "m7i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_4XLARGE + default "m7i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_8XLARGE + default "m7i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_12XLARGE + default "m7i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_16XLARGE + default "m7i.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_METAL_24XL + default "m7i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_24XLARGE + default "m7i.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_48XLARGE + default "m7i.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M7I + +if TERRAFORM_AWS_INSTANCE_FAMILY_M7I_FLEX + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_LARGE + bool "m7i-flex.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_XLARGE + bool "m7i-flex.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_2XLARGE + bool "m7i-flex.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_4XLARGE + bool "m7i-flex.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_8XLARGE + bool "m7i-flex.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_12XLARGE + bool "m7i-flex.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: Up to 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_16XLARGE + bool "m7i-flex.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: Up to 25 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m7i-flex.large" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_LARGE + default "m7i-flex.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_XLARGE + default "m7i-flex.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_2XLARGE + default "m7i-flex.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_4XLARGE + default "m7i-flex.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_8XLARGE + default "m7i-flex.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_12XLARGE + default "m7i-flex.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7I_FLEX_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M7I_FLEX + +if TERRAFORM_AWS_INSTANCE_FAMILY_M8G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M8G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_MEDIUM + bool "m8g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_LARGE + bool "m8g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_XLARGE + bool "m8g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_2XLARGE + bool "m8g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_4XLARGE + bool "m8g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_8XLARGE + bool "m8g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_12XLARGE + bool "m8g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_16XLARGE + bool "m8g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_24XLARGE + bool "m8g.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_METAL_24XL + bool "m8g.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 40 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_METAL_48XL + bool "m8g.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8G_48XLARGE + bool "m8g.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m8g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_MEDIUM + default "m8g.large" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_LARGE + default "m8g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_XLARGE + default "m8g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_2XLARGE + default "m8g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_4XLARGE + default "m8g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_8XLARGE + default "m8g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_12XLARGE + default "m8g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_16XLARGE + default "m8g.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_24XLARGE + default "m8g.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_METAL_24XL + default "m8g.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_METAL_48XL + default "m8g.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8G_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M8G + +if TERRAFORM_AWS_INSTANCE_FAMILY_M8GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M8GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_MEDIUM + bool "m8gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 4.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_LARGE + bool "m8gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_XLARGE + bool "m8gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_2XLARGE + bool "m8gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_4XLARGE + bool "m8gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_8XLARGE + bool "m8gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 15 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_12XLARGE + bool "m8gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 22.5 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_16XLARGE + bool "m8gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_24XLARGE + bool "m8gd.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 40 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_METAL_24XL + bool "m8gd.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 40 Gigabit + Additional storage: 5700 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_METAL_48XL + bool "m8gd.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + Additional storage: 11400 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8GD_48XLARGE + bool "m8gd.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 50 Gigabit + Additional storage: 11400 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m8gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_MEDIUM + default "m8gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_LARGE + default "m8gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_XLARGE + default "m8gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_2XLARGE + default "m8gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_4XLARGE + default "m8gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_8XLARGE + default "m8gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_12XLARGE + default "m8gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_16XLARGE + default "m8gd.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_24XLARGE + default "m8gd.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_METAL_24XL + default "m8gd.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_METAL_48XL + default "m8gd.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8GD_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M8GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_M8I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M8I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_LARGE + bool "m8i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_XLARGE + bool "m8i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_2XLARGE + bool "m8i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_4XLARGE + bool "m8i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_8XLARGE + bool "m8i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_12XLARGE + bool "m8i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_16XLARGE + bool "m8i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_24XLARGE + bool "m8i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 384.0 GiB + Network speed: 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_32XLARGE + bool "m8i.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_48XLARGE + bool "m8i.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_METAL_48XL + bool "m8i.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 768.0 GiB + Network speed: 75 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_METAL_96XL + bool "m8i.metal-96xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 384 + RAM: 1536.0 GiB + Network speed: 100 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_96XLARGE + bool "m8i.96xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 384 + RAM: 1536.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m8i.large" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_LARGE + default "m8i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_XLARGE + default "m8i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_2XLARGE + default "m8i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_4XLARGE + default "m8i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_8XLARGE + default "m8i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_12XLARGE + default "m8i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_16XLARGE + default "m8i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_24XLARGE + default "m8i.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_32XLARGE + default "m8i.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_48XLARGE + default "m8i.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_METAL_48XL + default "m8i.metal-96xl" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_METAL_96XL + default "m8i.96xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_96XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M8I + +if TERRAFORM_AWS_INSTANCE_FAMILY_M8I_FLEX + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_LARGE + bool "m8i-flex.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_XLARGE + bool "m8i-flex.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_2XLARGE + bool "m8i-flex.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_4XLARGE + bool "m8i-flex.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_8XLARGE + bool "m8i-flex.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_12XLARGE + bool "m8i-flex.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 192.0 GiB + Network speed: Up to 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_16XLARGE + bool "m8i-flex.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 256.0 GiB + Network speed: Up to 30 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "m8i-flex.large" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_LARGE + default "m8i-flex.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_XLARGE + default "m8i-flex.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_2XLARGE + default "m8i-flex.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_4XLARGE + default "m8i-flex.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_8XLARGE + default "m8i-flex.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_12XLARGE + default "m8i-flex.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M8I_FLEX_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_M8I_FLEX + +if TERRAFORM_AWS_INSTANCE_FAMILY_MAC_M4 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_MAC_M4_METAL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_MAC_M4_METAL + bool "mac-m4.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 10 + RAM: 24.0 GiB + Network speed: 10 Gigabit + Additional storage: 1900 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "mac-m4.metal" if TERRAFORM_AWS_INSTANCE_SIZE_MAC_M4_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_MAC_M4 + +if TERRAFORM_AWS_INSTANCE_FAMILY_MAC_M4PRO + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_MAC_M4PRO_METAL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_MAC_M4PRO_METAL + bool "mac-m4pro.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 14 + RAM: 48.0 GiB + Network speed: 10 Gigabit + Additional storage: 1900 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "mac-m4pro.metal" if TERRAFORM_AWS_INSTANCE_SIZE_MAC_M4PRO_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_MAC_M4PRO + +if TERRAFORM_AWS_INSTANCE_FAMILY_MAC1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_MAC1_METAL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_MAC1_METAL + bool "mac1.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 12 + RAM: 32.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "mac1.metal" if TERRAFORM_AWS_INSTANCE_SIZE_MAC1_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_MAC1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_MAC2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_MAC2_METAL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_MAC2_METAL + bool "mac2.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 16.0 GiB + Network speed: 10 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "mac2.metal" if TERRAFORM_AWS_INSTANCE_SIZE_MAC2_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_MAC2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M1ULTRA + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M1ULTRA_METAL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M1ULTRA_METAL + bool "mac2-m1ultra.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 20 + RAM: 128.0 GiB + Network speed: 10 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "mac2-m1ultra.metal" if TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M1ULTRA_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M1ULTRA + +if TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M2_METAL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M2_METAL + bool "mac2-m2.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 24.0 GiB + Network speed: 10 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "mac2-m2.metal" if TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M2_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M2PRO + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M2PRO_METAL + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M2PRO_METAL + bool "mac2-m2pro.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 12 + RAM: 32.0 GiB + Network speed: 10 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "mac2-m2pro.metal" if TERRAFORM_AWS_INSTANCE_SIZE_MAC2_M2PRO_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_MAC2_M2PRO + +if TERRAFORM_AWS_INSTANCE_FAMILY_P3 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_P3_2XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_P3_2XLARGE + bool "p3.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 61.0 GiB + Network speed: Up to 10 Gigabit + GPU: V100 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_P3_8XLARGE + bool "p3.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 244.0 GiB + Network speed: 10 Gigabit + GPU: 4x V100 (16GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_P3_16XLARGE + bool "p3.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 488.0 GiB + Network speed: 25 Gigabit + GPU: 8x V100 (16GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "p3.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P3_2XLARGE + default "p3.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P3_8XLARGE + default "p3.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P3_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_P3 + +if TERRAFORM_AWS_INSTANCE_FAMILY_P3DN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_P3DN_24XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_P3DN_24XLARGE + bool "p3dn.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Additional storage: 1800 GB ssd + GPU: 8x V100 (32GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "p3dn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P3DN_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_P3DN + +if TERRAFORM_AWS_INSTANCE_FAMILY_P4D + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_P4D_24XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_P4D_24XLARGE + bool "p4d.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 1152.0 GiB + Network speed: 4x 100 Gigabit + Additional storage: 8000 GB ssd + GPU: 8x A100 (40GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "p4d.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P4D_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_P4D + +if TERRAFORM_AWS_INSTANCE_FAMILY_P4DE + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_P4DE_24XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_P4DE_24XLARGE + bool "p4de.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 1152.0 GiB + Network speed: 4x 100 Gigabit + Additional storage: 8000 GB ssd + GPU: 8x A100 (80GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "p4de.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P4DE_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_P4DE + +if TERRAFORM_AWS_INSTANCE_FAMILY_P5 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_P5_4XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_P5_4XLARGE + bool "p5.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 256.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + GPU: H100 (80GB) + +config TERRAFORM_AWS_INSTANCE_SIZE_P5_48XLARGE + bool "p5.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 2048.0 GiB + Network speed: 3200 Gigabit + Additional storage: 30400 GB ssd + GPU: 8x H100 (80GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "p5.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P5_4XLARGE + default "p5.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P5_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_P5 + +if TERRAFORM_AWS_INSTANCE_FAMILY_P5EN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_P5EN_48XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_P5EN_48XLARGE + bool "p5en.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 2048.0 GiB + Network speed: 3200 Gigabit + Additional storage: 30400 GB ssd + GPU: 8x H200 (141GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "p5en.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P5EN_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_P5EN + +if TERRAFORM_AWS_INSTANCE_FAMILY_P6_B200 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_P6_B200_48XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_P6_B200_48XLARGE + bool "p6-b200.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 2048.0 GiB + Network speed: 3200 Gigabit + Additional storage: 30400 GB ssd + GPU: 8x B200 (179GB) + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "p6-b200.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_P6_B200_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_P6_B200 + +if TERRAFORM_AWS_INSTANCE_FAMILY_R3 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R3_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R3_LARGE + bool "r3.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 15.0 GiB + Network speed: Moderate + Additional storage: 32 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R3_XLARGE + bool "r3.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 30.5 GiB + Network speed: Moderate + Additional storage: 80 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R3_2XLARGE + bool "r3.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 61.0 GiB + Network speed: High + Additional storage: 160 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R3_4XLARGE + bool "r3.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 122.0 GiB + Network speed: High + Additional storage: 320 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R3_8XLARGE + bool "r3.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 244.0 GiB + Network speed: 10 Gigabit + Additional storage: 640 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r3.large" if TERRAFORM_AWS_INSTANCE_SIZE_R3_LARGE + default "r3.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R3_XLARGE + default "r3.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R3_2XLARGE + default "r3.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R3_4XLARGE + default "r3.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R3_8XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R3 + +if TERRAFORM_AWS_INSTANCE_FAMILY_R4 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R4_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R4_LARGE + bool "r4.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 15.25 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R4_XLARGE + bool "r4.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 30.5 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R4_2XLARGE + bool "r4.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 61.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R4_4XLARGE + bool "r4.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 122.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R4_8XLARGE + bool "r4.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 244.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R4_16XLARGE + bool "r4.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 488.0 GiB + Network speed: 25 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r4.large" if TERRAFORM_AWS_INSTANCE_SIZE_R4_LARGE + default "r4.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R4_XLARGE + default "r4.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R4_2XLARGE + default "r4.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R4_4XLARGE + default "r4.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R4_8XLARGE + default "r4.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R4_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R4 + +if TERRAFORM_AWS_INSTANCE_FAMILY_R5 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R5_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_LARGE + bool "r5.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_XLARGE + bool "r5.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_2XLARGE + bool "r5.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_4XLARGE + bool "r5.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_8XLARGE + bool "r5.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_12XLARGE + bool "r5.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_16XLARGE + bool "r5.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 20 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_24XLARGE + bool "r5.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5_METAL + bool "r5.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r5.large" if TERRAFORM_AWS_INSTANCE_SIZE_R5_LARGE + default "r5.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5_XLARGE + default "r5.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5_2XLARGE + default "r5.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5_4XLARGE + default "r5.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5_8XLARGE + default "r5.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5_12XLARGE + default "r5.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5_16XLARGE + default "r5.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5_24XLARGE + default "r5.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R5_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R5 + +if TERRAFORM_AWS_INSTANCE_FAMILY_R5A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R5A_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_LARGE + bool "r5a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_XLARGE + bool "r5a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_2XLARGE + bool "r5a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_4XLARGE + bool "r5a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_8XLARGE + bool "r5a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_12XLARGE + bool "r5a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_16XLARGE + bool "r5a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5A_24XLARGE + bool "r5a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 20 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r5a.large" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_LARGE + default "r5a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_XLARGE + default "r5a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_2XLARGE + default "r5a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_4XLARGE + default "r5a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_8XLARGE + default "r5a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_12XLARGE + default "r5a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_16XLARGE + default "r5a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5A_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R5A + +if TERRAFORM_AWS_INSTANCE_FAMILY_R5AD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R5AD_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_LARGE + bool "r5ad.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_XLARGE + bool "r5ad.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_2XLARGE + bool "r5ad.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_4XLARGE + bool "r5ad.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_8XLARGE + bool "r5ad.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 1200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_12XLARGE + bool "r5ad.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 10 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_16XLARGE + bool "r5ad.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 12 Gigabit + Additional storage: 2400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5AD_24XLARGE + bool "r5ad.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 20 Gigabit + Additional storage: 3600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r5ad.large" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_LARGE + default "r5ad.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_XLARGE + default "r5ad.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_2XLARGE + default "r5ad.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_4XLARGE + default "r5ad.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_8XLARGE + default "r5ad.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_12XLARGE + default "r5ad.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_16XLARGE + default "r5ad.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5AD_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R5AD + +if TERRAFORM_AWS_INSTANCE_FAMILY_R5B + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R5B_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_LARGE + bool "r5b.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_XLARGE + bool "r5b.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_2XLARGE + bool "r5b.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_4XLARGE + bool "r5b.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_8XLARGE + bool "r5b.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_12XLARGE + bool "r5b.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_16XLARGE + bool "r5b.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 20 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_METAL + bool "r5b.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5B_24XLARGE + bool "r5b.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 25 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r5b.large" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_LARGE + default "r5b.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_XLARGE + default "r5b.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_2XLARGE + default "r5b.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_4XLARGE + default "r5b.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_8XLARGE + default "r5b.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_12XLARGE + default "r5b.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_16XLARGE + default "r5b.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_METAL + default "r5b.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5B_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R5B + +if TERRAFORM_AWS_INSTANCE_FAMILY_R5D + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R5D_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_LARGE + bool "r5d.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_XLARGE + bool "r5d.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_2XLARGE + bool "r5d.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_4XLARGE + bool "r5d.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_8XLARGE + bool "r5d.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 10 Gigabit + Additional storage: 1200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_12XLARGE + bool "r5d.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 12 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_16XLARGE + bool "r5d.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 20 Gigabit + Additional storage: 2400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_24XLARGE + bool "r5d.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 25 Gigabit + Additional storage: 3600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5D_METAL + bool "r5d.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 25 Gigabit + Additional storage: 3600 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r5d.large" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_LARGE + default "r5d.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_XLARGE + default "r5d.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_2XLARGE + default "r5d.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_4XLARGE + default "r5d.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_8XLARGE + default "r5d.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_12XLARGE + default "r5d.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_16XLARGE + default "r5d.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_24XLARGE + default "r5d.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R5D_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R5D + +if TERRAFORM_AWS_INSTANCE_FAMILY_R5DN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R5DN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_LARGE + bool "r5dn.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_XLARGE + bool "r5dn.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_2XLARGE + bool "r5dn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_4XLARGE + bool "r5dn.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_8XLARGE + bool "r5dn.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 25 Gigabit + Additional storage: 1200 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_12XLARGE + bool "r5dn.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 50 Gigabit + Additional storage: 1800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_16XLARGE + bool "r5dn.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 75 Gigabit + Additional storage: 2400 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_METAL + bool "r5dn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Additional storage: 3600 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5DN_24XLARGE + bool "r5dn.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Additional storage: 3600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r5dn.large" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_LARGE + default "r5dn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_XLARGE + default "r5dn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_2XLARGE + default "r5dn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_4XLARGE + default "r5dn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_8XLARGE + default "r5dn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_12XLARGE + default "r5dn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_16XLARGE + default "r5dn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_METAL + default "r5dn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5DN_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R5DN + +if TERRAFORM_AWS_INSTANCE_FAMILY_R5N + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R5N_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_LARGE + bool "r5n.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_XLARGE + bool "r5n.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_2XLARGE + bool "r5n.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_4XLARGE + bool "r5n.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_8XLARGE + bool "r5n.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_12XLARGE + bool "r5n.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_16XLARGE + bool "r5n.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_24XLARGE + bool "r5n.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R5N_METAL + bool "r5n.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 100 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r5n.large" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_LARGE + default "r5n.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_XLARGE + default "r5n.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_2XLARGE + default "r5n.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_4XLARGE + default "r5n.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_8XLARGE + default "r5n.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_12XLARGE + default "r5n.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_16XLARGE + default "r5n.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_24XLARGE + default "r5n.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R5N_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R5N + +if TERRAFORM_AWS_INSTANCE_FAMILY_R6A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R6A_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_LARGE + bool "r6a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_XLARGE + bool "r6a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_2XLARGE + bool "r6a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_4XLARGE + bool "r6a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_8XLARGE + bool "r6a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_12XLARGE + bool "r6a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_16XLARGE + bool "r6a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_24XLARGE + bool "r6a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_32XLARGE + bool "r6a.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_METAL + bool "r6a.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6A_48XLARGE + bool "r6a.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r6a.large" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_LARGE + default "r6a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_XLARGE + default "r6a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_2XLARGE + default "r6a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_4XLARGE + default "r6a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_8XLARGE + default "r6a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_12XLARGE + default "r6a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_16XLARGE + default "r6a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_24XLARGE + default "r6a.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_32XLARGE + default "r6a.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_METAL + default "r6a.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6A_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R6A + +if TERRAFORM_AWS_INSTANCE_FAMILY_R6G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R6G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_MEDIUM + bool "r6g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_LARGE + bool "r6g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_XLARGE + bool "r6g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_2XLARGE + bool "r6g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_4XLARGE + bool "r6g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_8XLARGE + bool "r6g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_12XLARGE + bool "r6g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 20 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_16XLARGE + bool "r6g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6G_METAL + bool "r6g.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r6g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_MEDIUM + default "r6g.large" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_LARGE + default "r6g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_XLARGE + default "r6g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_2XLARGE + default "r6g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_4XLARGE + default "r6g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_8XLARGE + default "r6g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_12XLARGE + default "r6g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_16XLARGE + default "r6g.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R6G_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R6G + +if TERRAFORM_AWS_INSTANCE_FAMILY_R6GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R6GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_MEDIUM + bool "r6gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_LARGE + bool "r6gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_XLARGE + bool "r6gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_2XLARGE + bool "r6gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_4XLARGE + bool "r6gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_8XLARGE + bool "r6gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_12XLARGE + bool "r6gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 20 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_METAL + bool "r6gd.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6GD_16XLARGE + bool "r6gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r6gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_MEDIUM + default "r6gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_LARGE + default "r6gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_XLARGE + default "r6gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_2XLARGE + default "r6gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_4XLARGE + default "r6gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_8XLARGE + default "r6gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_12XLARGE + default "r6gd.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_METAL + default "r6gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6GD_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R6GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_R6I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R6I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_LARGE + bool "r6i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_XLARGE + bool "r6i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_2XLARGE + bool "r6i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_4XLARGE + bool "r6i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_8XLARGE + bool "r6i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_12XLARGE + bool "r6i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_16XLARGE + bool "r6i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_24XLARGE + bool "r6i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_METAL + bool "r6i.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6I_32XLARGE + bool "r6i.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r6i.large" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_LARGE + default "r6i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_XLARGE + default "r6i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_2XLARGE + default "r6i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_4XLARGE + default "r6i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_8XLARGE + default "r6i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_12XLARGE + default "r6i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_16XLARGE + default "r6i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_24XLARGE + default "r6i.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_METAL + default "r6i.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6I_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R6I + +if TERRAFORM_AWS_INSTANCE_FAMILY_R6ID + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R6ID_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_LARGE + bool "r6id.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_XLARGE + bool "r6id.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_2XLARGE + bool "r6id.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_4XLARGE + bool "r6id.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_8XLARGE + bool "r6id.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12.5 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_12XLARGE + bool "r6id.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 18.75 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_16XLARGE + bool "r6id.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_24XLARGE + bool "r6id.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 37.5 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_32XLARGE + bool "r6id.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + Additional storage: 7600 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6ID_METAL + bool "r6id.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + Additional storage: 7600 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r6id.large" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_LARGE + default "r6id.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_XLARGE + default "r6id.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_2XLARGE + default "r6id.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_4XLARGE + default "r6id.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_8XLARGE + default "r6id.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_12XLARGE + default "r6id.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_16XLARGE + default "r6id.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_24XLARGE + default "r6id.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_32XLARGE + default "r6id.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R6ID_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R6ID + +if TERRAFORM_AWS_INSTANCE_FAMILY_R6IDN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_LARGE + bool "r6idn.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_XLARGE + bool "r6idn.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 30 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_2XLARGE + bool "r6idn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 40 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_4XLARGE + bool "r6idn.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 50 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_8XLARGE + bool "r6idn.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 50 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_12XLARGE + bool "r6idn.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 75 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_16XLARGE + bool "r6idn.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_24XLARGE + bool "r6idn.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 150 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_METAL + bool "r6idn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 200 Gigabit + Additional storage: 7600 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_32XLARGE + bool "r6idn.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 200 Gigabit + Additional storage: 7600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r6idn.large" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_LARGE + default "r6idn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_XLARGE + default "r6idn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_2XLARGE + default "r6idn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_4XLARGE + default "r6idn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_8XLARGE + default "r6idn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_12XLARGE + default "r6idn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_16XLARGE + default "r6idn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_24XLARGE + default "r6idn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_METAL + default "r6idn.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IDN_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R6IDN + +if TERRAFORM_AWS_INSTANCE_FAMILY_R6IN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R6IN_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_LARGE + bool "r6in.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_XLARGE + bool "r6in.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_2XLARGE + bool "r6in.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_4XLARGE + bool "r6in.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_8XLARGE + bool "r6in.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_12XLARGE + bool "r6in.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_16XLARGE + bool "r6in.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_24XLARGE + bool "r6in.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 150 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_METAL + bool "r6in.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 200 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R6IN_32XLARGE + bool "r6in.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 200 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r6in.large" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_LARGE + default "r6in.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_XLARGE + default "r6in.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_2XLARGE + default "r6in.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_4XLARGE + default "r6in.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_8XLARGE + default "r6in.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_12XLARGE + default "r6in.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_16XLARGE + default "r6in.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_24XLARGE + default "r6in.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_METAL + default "r6in.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R6IN_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R6IN + +if TERRAFORM_AWS_INSTANCE_FAMILY_R7A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R7A_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_MEDIUM + bool "r7a.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_LARGE + bool "r7a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_XLARGE + bool "r7a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_2XLARGE + bool "r7a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_4XLARGE + bool "r7a.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_8XLARGE + bool "r7a.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_12XLARGE + bool "r7a.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_16XLARGE + bool "r7a.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_24XLARGE + bool "r7a.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_32XLARGE + bool "r7a.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_METAL_48XL + bool "r7a.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7A_48XLARGE + bool "r7a.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r7a.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_MEDIUM + default "r7a.large" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_LARGE + default "r7a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_XLARGE + default "r7a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_2XLARGE + default "r7a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_4XLARGE + default "r7a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_8XLARGE + default "r7a.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_12XLARGE + default "r7a.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_16XLARGE + default "r7a.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_24XLARGE + default "r7a.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_32XLARGE + default "r7a.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_METAL_48XL + default "r7a.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7A_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R7A + +if TERRAFORM_AWS_INSTANCE_FAMILY_R7G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R7G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_MEDIUM + bool "r7g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_LARGE + bool "r7g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_XLARGE + bool "r7g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_2XLARGE + bool "r7g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_4XLARGE + bool "r7g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_8XLARGE + bool "r7g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_12XLARGE + bool "r7g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_METAL + bool "r7g.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 30 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7G_16XLARGE + bool "r7g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 30 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r7g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_MEDIUM + default "r7g.large" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_LARGE + default "r7g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_XLARGE + default "r7g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_2XLARGE + default "r7g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_4XLARGE + default "r7g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_8XLARGE + default "r7g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_12XLARGE + default "r7g.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_METAL + default "r7g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7G_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R7G + +if TERRAFORM_AWS_INSTANCE_FAMILY_R7GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R7GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_MEDIUM + bool "r7gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_LARGE + bool "r7gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_XLARGE + bool "r7gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_2XLARGE + bool "r7gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_4XLARGE + bool "r7gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_8XLARGE + bool "r7gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 15 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_12XLARGE + bool "r7gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 22.5 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_16XLARGE + bool "r7gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R7GD_METAL + bool "r7gd.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r7gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_MEDIUM + default "r7gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_LARGE + default "r7gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_XLARGE + default "r7gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_2XLARGE + default "r7gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_4XLARGE + default "r7gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_8XLARGE + default "r7gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_12XLARGE + default "r7gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_16XLARGE + default "r7gd.metal" if TERRAFORM_AWS_INSTANCE_SIZE_R7GD_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R7GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_R7I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R7I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_LARGE + bool "r7i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_XLARGE + bool "r7i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_2XLARGE + bool "r7i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_4XLARGE + bool "r7i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_8XLARGE + bool "r7i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_12XLARGE + bool "r7i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 18.75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_16XLARGE + bool "r7i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_METAL_24XL + bool "r7i.metal-24xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 37.5 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_24XLARGE + bool "r7i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 37.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_METAL_48XL + bool "r7i.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7I_48XLARGE + bool "r7i.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r7i.large" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_LARGE + default "r7i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_XLARGE + default "r7i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_2XLARGE + default "r7i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_4XLARGE + default "r7i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_8XLARGE + default "r7i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_12XLARGE + default "r7i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_16XLARGE + default "r7i.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_METAL_24XL + default "r7i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_24XLARGE + default "r7i.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_METAL_48XL + default "r7i.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7I_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R7I + +if TERRAFORM_AWS_INSTANCE_FAMILY_R7IZ + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_LARGE + bool "r7iz.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_XLARGE + bool "r7iz.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_2XLARGE + bool "r7iz.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_4XLARGE + bool "r7iz.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_8XLARGE + bool "r7iz.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_12XLARGE + bool "r7iz.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_16XLARGE + bool "r7iz.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_METAL_16XL + bool "r7iz.metal-16xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 25 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_32XLARGE + bool "r7iz.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_METAL_32XL + bool "r7iz.metal-32xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r7iz.large" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_LARGE + default "r7iz.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_XLARGE + default "r7iz.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_2XLARGE + default "r7iz.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_4XLARGE + default "r7iz.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_8XLARGE + default "r7iz.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_12XLARGE + default "r7iz.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_16XLARGE + default "r7iz.metal-16xl" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_METAL_16XL + default "r7iz.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_32XLARGE + default "r7iz.metal-32xl" if TERRAFORM_AWS_INSTANCE_SIZE_R7IZ_METAL_32XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R7IZ + +if TERRAFORM_AWS_INSTANCE_FAMILY_R8G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R8G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_MEDIUM + bool "r8g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_LARGE + bool "r8g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_XLARGE + bool "r8g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_2XLARGE + bool "r8g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_4XLARGE + bool "r8g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_8XLARGE + bool "r8g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_12XLARGE + bool "r8g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_16XLARGE + bool "r8g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_METAL_24XL + bool "r8g.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 40 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_24XLARGE + bool "r8g.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_48XLARGE + bool "r8g.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8G_METAL_48XL + bool "r8g.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r8g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_MEDIUM + default "r8g.large" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_LARGE + default "r8g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_XLARGE + default "r8g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_2XLARGE + default "r8g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_4XLARGE + default "r8g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_8XLARGE + default "r8g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_12XLARGE + default "r8g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_16XLARGE + default "r8g.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_METAL_24XL + default "r8g.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_24XLARGE + default "r8g.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_48XLARGE + default "r8g.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8G_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R8G + +if TERRAFORM_AWS_INSTANCE_FAMILY_R8GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R8GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_MEDIUM + bool "r8gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_LARGE + bool "r8gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_XLARGE + bool "r8gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_2XLARGE + bool "r8gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_4XLARGE + bool "r8gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_8XLARGE + bool "r8gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 15 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_12XLARGE + bool "r8gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 22.5 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_16XLARGE + bool "r8gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 30 Gigabit + Additional storage: 3800 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_METAL_24XL + bool "r8gd.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 40 Gigabit + Additional storage: 5700 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_24XLARGE + bool "r8gd.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 40 Gigabit + Additional storage: 5700 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_METAL_48XL + bool "r8gd.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + Additional storage: 11400 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GD_48XLARGE + bool "r8gd.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 50 Gigabit + Additional storage: 11400 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r8gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_MEDIUM + default "r8gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_LARGE + default "r8gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_XLARGE + default "r8gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_2XLARGE + default "r8gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_4XLARGE + default "r8gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_8XLARGE + default "r8gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_12XLARGE + default "r8gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_16XLARGE + default "r8gd.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_METAL_24XL + default "r8gd.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_24XLARGE + default "r8gd.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_METAL_48XL + default "r8gd.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GD_48XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R8GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_R8GN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R8GN_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_MEDIUM + bool "r8gn.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 8.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_LARGE + bool "r8gn.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_XLARGE + bool "r8gn.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_2XLARGE + bool "r8gn.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_4XLARGE + bool "r8gn.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_8XLARGE + bool "r8gn.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_12XLARGE + bool "r8gn.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 150 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_16XLARGE + bool "r8gn.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 200 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_24XLARGE + bool "r8gn.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 300 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_METAL_24XL + bool "r8gn.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 300 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_48XLARGE + bool "r8gn.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 600 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8GN_METAL_48XL + bool "r8gn.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 600 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r8gn.medium" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_MEDIUM + default "r8gn.large" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_LARGE + default "r8gn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_XLARGE + default "r8gn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_2XLARGE + default "r8gn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_4XLARGE + default "r8gn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_8XLARGE + default "r8gn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_12XLARGE + default "r8gn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_16XLARGE + default "r8gn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_24XLARGE + default "r8gn.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_METAL_24XL + default "r8gn.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_48XLARGE + default "r8gn.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8GN_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R8GN + +if TERRAFORM_AWS_INSTANCE_FAMILY_R8I + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R8I_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_LARGE + bool "r8i.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_XLARGE + bool "r8i.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_2XLARGE + bool "r8i.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_4XLARGE + bool "r8i.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_8XLARGE + bool "r8i.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_12XLARGE + bool "r8i.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_16XLARGE + bool "r8i.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_24XLARGE + bool "r8i.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 768.0 GiB + Network speed: 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_32XLARGE + bool "r8i.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_48XLARGE + bool "r8i.48xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_METAL_48XL + bool "r8i.metal-48xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 192 + RAM: 1536.0 GiB + Network speed: 75 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_96XLARGE + bool "r8i.96xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 384 + RAM: 3072.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_METAL_96XL + bool "r8i.metal-96xl" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 384 + RAM: 3072.0 GiB + Network speed: 100 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r8i.large" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_LARGE + default "r8i.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_XLARGE + default "r8i.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_2XLARGE + default "r8i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_4XLARGE + default "r8i.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_8XLARGE + default "r8i.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_12XLARGE + default "r8i.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_16XLARGE + default "r8i.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_24XLARGE + default "r8i.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_32XLARGE + default "r8i.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_48XLARGE + default "r8i.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_METAL_48XL + default "r8i.96xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_96XLARGE + default "r8i.metal-96xl" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_METAL_96XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R8I + +if TERRAFORM_AWS_INSTANCE_FAMILY_R8I_FLEX + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_LARGE + bool "r8i-flex.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_XLARGE + bool "r8i-flex.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_2XLARGE + bool "r8i-flex.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_4XLARGE + bool "r8i-flex.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_8XLARGE + bool "r8i-flex.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 256.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_12XLARGE + bool "r8i-flex.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: Up to 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_16XLARGE + bool "r8i-flex.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 512.0 GiB + Network speed: Up to 30 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "r8i-flex.large" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_LARGE + default "r8i-flex.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_XLARGE + default "r8i-flex.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_2XLARGE + default "r8i-flex.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_4XLARGE + default "r8i-flex.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_8XLARGE + default "r8i-flex.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_12XLARGE + default "r8i-flex.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_R8I_FLEX_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_R8I_FLEX + +if TERRAFORM_AWS_INSTANCE_FAMILY_T1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_T1_MICRO + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_T1_MICRO + bool "t1.micro" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 0.6123046875 GiB + Network speed: Very Low + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "t1.micro" if TERRAFORM_AWS_INSTANCE_SIZE_T1_MICRO + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_T1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_T2 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_T2_NANO + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_T2_NANO + bool "t2.nano" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 0.5 GiB + Network speed: Low to Moderate + +config TERRAFORM_AWS_INSTANCE_SIZE_T2_MICRO + bool "t2.micro" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 1.0 GiB + Network speed: Low to Moderate + Free tier eligible. + +config TERRAFORM_AWS_INSTANCE_SIZE_T2_SMALL + bool "t2.small" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 1 + RAM: 2.0 GiB + Network speed: Low to Moderate + +config TERRAFORM_AWS_INSTANCE_SIZE_T2_MEDIUM + bool "t2.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Low to Moderate + +config TERRAFORM_AWS_INSTANCE_SIZE_T2_LARGE + bool "t2.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Low to Moderate + +config TERRAFORM_AWS_INSTANCE_SIZE_T2_XLARGE + bool "t2.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Moderate + +config TERRAFORM_AWS_INSTANCE_SIZE_T2_2XLARGE + bool "t2.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Moderate + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "t2.nano" if TERRAFORM_AWS_INSTANCE_SIZE_T2_NANO + default "t2.micro" if TERRAFORM_AWS_INSTANCE_SIZE_T2_MICRO + default "t2.small" if TERRAFORM_AWS_INSTANCE_SIZE_T2_SMALL + default "t2.medium" if TERRAFORM_AWS_INSTANCE_SIZE_T2_MEDIUM + default "t2.large" if TERRAFORM_AWS_INSTANCE_SIZE_T2_LARGE + default "t2.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T2_XLARGE + default "t2.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T2_2XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_T2 + +if TERRAFORM_AWS_INSTANCE_FAMILY_T3 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_T3_NANO + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_T3_NANO + bool "t3.nano" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 0.5 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3_MICRO + bool "t3.micro" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 1.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3_SMALL + bool "t3.small" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 2.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3_MEDIUM + bool "t3.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3_LARGE + bool "t3.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3_XLARGE + bool "t3.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3_2XLARGE + bool "t3.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 5 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "t3.nano" if TERRAFORM_AWS_INSTANCE_SIZE_T3_NANO + default "t3.micro" if TERRAFORM_AWS_INSTANCE_SIZE_T3_MICRO + default "t3.small" if TERRAFORM_AWS_INSTANCE_SIZE_T3_SMALL + default "t3.medium" if TERRAFORM_AWS_INSTANCE_SIZE_T3_MEDIUM + default "t3.large" if TERRAFORM_AWS_INSTANCE_SIZE_T3_LARGE + default "t3.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T3_XLARGE + default "t3.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T3_2XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_T3 + +if TERRAFORM_AWS_INSTANCE_FAMILY_T3A + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_T3A_NANO + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_T3A_NANO + bool "t3a.nano" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 0.5 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3A_MICRO + bool "t3a.micro" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 1.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3A_SMALL + bool "t3a.small" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 2.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3A_MEDIUM + bool "t3a.medium" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3A_LARGE + bool "t3a.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3A_XLARGE + bool "t3a.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T3A_2XLARGE + bool "t3a.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 5 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "t3a.nano" if TERRAFORM_AWS_INSTANCE_SIZE_T3A_NANO + default "t3a.micro" if TERRAFORM_AWS_INSTANCE_SIZE_T3A_MICRO + default "t3a.small" if TERRAFORM_AWS_INSTANCE_SIZE_T3A_SMALL + default "t3a.medium" if TERRAFORM_AWS_INSTANCE_SIZE_T3A_MEDIUM + default "t3a.large" if TERRAFORM_AWS_INSTANCE_SIZE_T3A_LARGE + default "t3a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T3A_XLARGE + default "t3a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T3A_2XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_T3A + +if TERRAFORM_AWS_INSTANCE_FAMILY_T4G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_T4G_NANO + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_T4G_NANO + bool "t4g.nano" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 0.5 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T4G_MICRO + bool "t4g.micro" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 1.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T4G_SMALL + bool "t4g.small" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 2.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T4G_MEDIUM + bool "t4g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 4.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T4G_LARGE + bool "t4g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 8.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T4G_XLARGE + bool "t4g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 16.0 GiB + Network speed: Up to 5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_T4G_2XLARGE + bool "t4g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 5 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "t4g.nano" if TERRAFORM_AWS_INSTANCE_SIZE_T4G_NANO + default "t4g.micro" if TERRAFORM_AWS_INSTANCE_SIZE_T4G_MICRO + default "t4g.small" if TERRAFORM_AWS_INSTANCE_SIZE_T4G_SMALL + default "t4g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_T4G_MEDIUM + default "t4g.large" if TERRAFORM_AWS_INSTANCE_SIZE_T4G_LARGE + default "t4g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T4G_XLARGE + default "t4g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_T4G_2XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_T4G + +if TERRAFORM_AWS_INSTANCE_FAMILY_TRN1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_TRN1_2XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_TRN1_2XLARGE + bool "trn1.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + Additional storage: 474 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_TRN1_32XLARGE + bool "trn1.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 8x 100 Gigabit + Additional storage: 7600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "trn1.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_TRN1_2XLARGE + default "trn1.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_TRN1_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_TRN1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_TRN1N + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_TRN1N_32XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_TRN1N_32XLARGE + bool "trn1n.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 512.0 GiB + Network speed: 16x 100 Gigabit + Additional storage: 7600 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "trn1n.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_TRN1N_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_TRN1N + +if TERRAFORM_AWS_INSTANCE_FAMILY_U_3TB1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U_3TB1_56XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U_3TB1_56XLARGE + bool "u-3tb1.56xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 224 + RAM: 3072.0 GiB + Network speed: 50 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u-3tb1.56xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U_3TB1_56XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U_3TB1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_U_6TB1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U_6TB1_56XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U_6TB1_56XLARGE + bool "u-6tb1.56xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 224 + RAM: 6144.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_U_6TB1_112XLARGE + bool "u-6tb1.112xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 448 + RAM: 6144.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u-6tb1.56xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U_6TB1_56XLARGE + default "u-6tb1.112xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U_6TB1_112XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U_6TB1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_U7I_12TB + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U7I_12TB_224XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U7I_12TB_224XLARGE + bool "u7i-12tb.224xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 896 + RAM: 12288.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u7i-12tb.224xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U7I_12TB_224XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U7I_12TB + +if TERRAFORM_AWS_INSTANCE_FAMILY_U7I_6TB + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U7I_6TB_112XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U7I_6TB_112XLARGE + bool "u7i-6tb.112xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 448 + RAM: 6144.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u7i-6tb.112xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U7I_6TB_112XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U7I_6TB + +if TERRAFORM_AWS_INSTANCE_FAMILY_U7I_8TB + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U7I_8TB_112XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U7I_8TB_112XLARGE + bool "u7i-8tb.112xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 448 + RAM: 8192.0 GiB + Network speed: 100 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u7i-8tb.112xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U7I_8TB_112XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U7I_8TB + +if TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_16TB + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U7IN_16TB_224XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U7IN_16TB_224XLARGE + bool "u7in-16tb.224xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 896 + RAM: 16384.0 GiB + Network speed: 200 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u7in-16tb.224xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U7IN_16TB_224XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_16TB + +if TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_24TB + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U7IN_24TB_224XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U7IN_24TB_224XLARGE + bool "u7in-24tb.224xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 896 + RAM: 24576.0 GiB + Network speed: 200 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u7in-24tb.224xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U7IN_24TB_224XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_24TB + +if TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_32TB + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_U7IN_32TB_224XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_U7IN_32TB_224XLARGE + bool "u7in-32tb.224xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 896 + RAM: 32768.0 GiB + Network speed: 200 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "u7in-32tb.224xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_U7IN_32TB_224XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_U7IN_32TB + +if TERRAFORM_AWS_INSTANCE_FAMILY_VT1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_VT1_3XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_VT1_3XLARGE + bool "vt1.3xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 12 + RAM: 24.0 GiB + Network speed: 3.12 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_VT1_6XLARGE + bool "vt1.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 48.0 GiB + Network speed: 6.25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_VT1_24XLARGE + bool "vt1.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 192.0 GiB + Network speed: 25 Gigabit + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "vt1.3xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_VT1_3XLARGE + default "vt1.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_VT1_6XLARGE + default "vt1.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_VT1_24XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_VT1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_X1 + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_X1_16XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X1_16XLARGE + bool "x1.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 976.0 GiB + Network speed: 10 Gigabit + Additional storage: 1920 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X1_32XLARGE + bool "x1.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 1952.0 GiB + Network speed: 25 Gigabit + Additional storage: 3840 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "x1.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1_16XLARGE + default "x1.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_X1 + +if TERRAFORM_AWS_INSTANCE_FAMILY_X1E + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_X1E_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X1E_XLARGE + bool "x1e.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 122.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 120 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X1E_2XLARGE + bool "x1e.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 244.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 240 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X1E_4XLARGE + bool "x1e.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 488.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 480 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X1E_8XLARGE + bool "x1e.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 976.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 960 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X1E_16XLARGE + bool "x1e.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 1952.0 GiB + Network speed: 10 Gigabit + Additional storage: 1920 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X1E_32XLARGE + bool "x1e.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 3904.0 GiB + Network speed: 25 Gigabit + Additional storage: 3840 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "x1e.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1E_XLARGE + default "x1e.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1E_2XLARGE + default "x1e.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1E_4XLARGE + default "x1e.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1E_8XLARGE + default "x1e.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1E_16XLARGE + default "x1e.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X1E_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_X1E + +if TERRAFORM_AWS_INSTANCE_FAMILY_X2GD + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_X2GD_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_MEDIUM + bool "x2gd.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 59 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_LARGE + bool "x2gd.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_XLARGE + bool "x2gd.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_2XLARGE + bool "x2gd.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 128.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 475 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_4XLARGE + bool "x2gd.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 256.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_8XLARGE + bool "x2gd.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 512.0 GiB + Network speed: 12 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_12XLARGE + bool "x2gd.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 768.0 GiB + Network speed: 20 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_METAL + bool "x2gd.metal" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 1024.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X2GD_16XLARGE + bool "x2gd.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 1024.0 GiB + Network speed: 25 Gigabit + Additional storage: 3800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "x2gd.medium" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_MEDIUM + default "x2gd.large" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_LARGE + default "x2gd.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_XLARGE + default "x2gd.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_2XLARGE + default "x2gd.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_4XLARGE + default "x2gd.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_8XLARGE + default "x2gd.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_12XLARGE + default "x2gd.metal" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_METAL + default "x2gd.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2GD_16XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_X2GD + +if TERRAFORM_AWS_INSTANCE_FAMILY_X2IDN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_16XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_16XLARGE + bool "x2idn.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 1024.0 GiB + Network speed: 50 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_24XLARGE + bool "x2idn.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 1536.0 GiB + Network speed: 75 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_METAL + bool "x2idn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 2048.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_32XLARGE + bool "x2idn.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 2048.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "x2idn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_16XLARGE + default "x2idn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_24XLARGE + default "x2idn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_METAL + default "x2idn.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IDN_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_X2IDN + +if TERRAFORM_AWS_INSTANCE_FAMILY_X2IEDN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_XLARGE + bool "x2iedn.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 128.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 118 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_2XLARGE + bool "x2iedn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 256.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 237 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_4XLARGE + bool "x2iedn.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 512.0 GiB + Network speed: Up to 25 Gigabit + Additional storage: 475 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_8XLARGE + bool "x2iedn.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 1024.0 GiB + Network speed: 25 Gigabit + Additional storage: 950 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_16XLARGE + bool "x2iedn.16xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 64 + RAM: 2048.0 GiB + Network speed: 50 Gigabit + Additional storage: 1900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_24XLARGE + bool "x2iedn.24xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 96 + RAM: 3072.0 GiB + Network speed: 75 Gigabit + Additional storage: 2850 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_METAL + bool "x2iedn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 4096.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_32XLARGE + bool "x2iedn.32xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 128 + RAM: 4096.0 GiB + Network speed: 100 Gigabit + Additional storage: 3800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "x2iedn.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_XLARGE + default "x2iedn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_2XLARGE + default "x2iedn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_4XLARGE + default "x2iedn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_8XLARGE + default "x2iedn.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_16XLARGE + default "x2iedn.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_24XLARGE + default "x2iedn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_METAL + default "x2iedn.32xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEDN_32XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_X2IEDN + +if TERRAFORM_AWS_INSTANCE_FAMILY_X2IEZN + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_2XLARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_2XLARGE + bool "x2iezn.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 256.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_4XLARGE + bool "x2iezn.4xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 16 + RAM: 512.0 GiB + Network speed: Up to 25 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_6XLARGE + bool "x2iezn.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 768.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_8XLARGE + bool "x2iezn.8xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 32 + RAM: 1024.0 GiB + Network speed: 75 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_12XLARGE + bool "x2iezn.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 1536.0 GiB + Network speed: 100 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_METAL + bool "x2iezn.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 1536.0 GiB + Network speed: 100 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "x2iezn.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_2XLARGE + default "x2iezn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_4XLARGE + default "x2iezn.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_6XLARGE + default "x2iezn.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_8XLARGE + default "x2iezn.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_12XLARGE + default "x2iezn.metal" if TERRAFORM_AWS_INSTANCE_SIZE_X2IEZN_METAL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_X2IEZN + +if TERRAFORM_AWS_INSTANCE_FAMILY_X8G + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_X8G_MEDIUM + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_MEDIUM + bool "x8g.medium" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 1 + RAM: 16.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_LARGE + bool "x8g.large" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 2 + RAM: 32.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_XLARGE + bool "x8g.xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 4 + RAM: 64.0 GiB + Network speed: Up to 12.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_2XLARGE + bool "x8g.2xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 8 + RAM: 128.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_4XLARGE + bool "x8g.4xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 16 + RAM: 256.0 GiB + Network speed: Up to 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_8XLARGE + bool "x8g.8xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 32 + RAM: 512.0 GiB + Network speed: 15 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_12XLARGE + bool "x8g.12xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 48 + RAM: 768.0 GiB + Network speed: 22.5 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_16XLARGE + bool "x8g.16xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 64 + RAM: 1024.0 GiB + Network speed: 30 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_24XLARGE + bool "x8g.24xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 1536.0 GiB + Network speed: 40 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_METAL_24XL + bool "x8g.metal-24xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 96 + RAM: 1536.0 GiB + Network speed: 40 Gigabit + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_48XLARGE + bool "x8g.48xlarge" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 3072.0 GiB + Network speed: 50 Gigabit + +config TERRAFORM_AWS_INSTANCE_SIZE_X8G_METAL_48XL + bool "x8g.metal-48xl" + depends on TARGET_ARCH_ARM64 + help + vCPU count: 192 + RAM: 3072.0 GiB + Network speed: 50 Gigabit + Bare metal instance. + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "x8g.medium" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_MEDIUM + default "x8g.large" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_LARGE + default "x8g.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_XLARGE + default "x8g.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_2XLARGE + default "x8g.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_4XLARGE + default "x8g.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_8XLARGE + default "x8g.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_12XLARGE + default "x8g.16xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_16XLARGE + default "x8g.24xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_24XLARGE + default "x8g.metal-24xl" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_METAL_24XL + default "x8g.48xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_48XLARGE + default "x8g.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_X8G_METAL_48XL + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_X8G + +if TERRAFORM_AWS_INSTANCE_FAMILY_Z1D + +choice + prompt "Instance type" + default TERRAFORM_AWS_INSTANCE_SIZE_Z1D_LARGE + help + Add storage by increasing the number of EBS volumes per + instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_Z1D_LARGE + bool "z1d.large" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 2 + RAM: 16.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 75 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_Z1D_XLARGE + bool "z1d.xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 4 + RAM: 32.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 150 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_Z1D_2XLARGE + bool "z1d.2xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 8 + RAM: 64.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 300 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_Z1D_3XLARGE + bool "z1d.3xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 12 + RAM: 96.0 GiB + Network speed: Up to 10 Gigabit + Additional storage: 450 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_Z1D_6XLARGE + bool "z1d.6xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 24 + RAM: 192.0 GiB + Network speed: 12 Gigabit + Additional storage: 900 GB ssd + +config TERRAFORM_AWS_INSTANCE_SIZE_Z1D_METAL + bool "z1d.metal" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 25 Gigabit + Additional storage: 1800 GB ssd + Bare metal instance. + +config TERRAFORM_AWS_INSTANCE_SIZE_Z1D_12XLARGE + bool "z1d.12xlarge" + depends on TARGET_ARCH_X86_64 + help + vCPU count: 48 + RAM: 384.0 GiB + Network speed: 25 Gigabit + Additional storage: 1800 GB ssd + +endchoice + +config TERRAFORM_AWS_INSTANCE_TYPE + string + output yaml + default "z1d.large" if TERRAFORM_AWS_INSTANCE_SIZE_Z1D_LARGE + default "z1d.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_Z1D_XLARGE + default "z1d.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_Z1D_2XLARGE + default "z1d.3xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_Z1D_3XLARGE + default "z1d.6xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_Z1D_6XLARGE + default "z1d.metal" if TERRAFORM_AWS_INSTANCE_SIZE_Z1D_METAL + default "z1d.12xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_Z1D_12XLARGE + +endif # TERRAFORM_AWS_INSTANCE_FAMILY_Z1D + diff --git a/terraform/aws/kconfigs/instance-types/Kconfig.c7a b/terraform/aws/kconfigs/instance-types/Kconfig.c7a deleted file mode 100644 index 147999d9f..000000000 --- a/terraform/aws/kconfigs/instance-types/Kconfig.c7a +++ /dev/null @@ -1,28 +0,0 @@ -if TERRAFORM_AWS_INSTANCE_TYPE_C7A - -choice - prompt "AWS instance size" - default TERRAFORM_AWS_INSTANCE_SIZE_C7A_8XLARGE - help - Add storage by increasing the number of EBS volumes per - instance. - -config TERRAFORM_AWS_INSTANCE_SIZE_C7A_8XLARGE - bool "c7a.8xlarge" - help - 32 core, 64 GiB RAM, EBS drives. - -config TERRAFORM_AWS_INSTANCE_SIZE_C7A_METAL_48XL - bool "c7a.metal-48xl" - help - 192 core, 384 GiB RAM, EBS drive. - -endchoice - -config TERRAFORM_AWS_INSTANCE_TYPE - string - output yaml - default "c7a.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_8XLARGE - default "c7a.metal-48xl" if TERRAFORM_AWS_INSTANCE_SIZE_C7A_METAL_48XL - -endif # TERRAFORM_AWS_INSTANCE_TYPE_C7A diff --git a/terraform/aws/kconfigs/instance-types/Kconfig.i4i b/terraform/aws/kconfigs/instance-types/Kconfig.i4i deleted file mode 100644 index 3f7b22188..000000000 --- a/terraform/aws/kconfigs/instance-types/Kconfig.i4i +++ /dev/null @@ -1,33 +0,0 @@ -if TERRAFORM_AWS_INSTANCE_TYPE_I4I - -choice - prompt "AWS instance type" - default TERRAFORM_AWS_INSTANCE_SIZE_I4I_4XLARGE - -config TERRAFORM_AWS_INSTANCE_SIZE_I4I_LARGE - bool "i4i.large" - help - 16 GiB RAM, 2 vcpus, 1 x 468 AWS Nitro SSD, 10 Gbps Net, 10 Gbps EBS. - -config TERRAFORM_AWS_INSTANCE_SIZE_I4I_4XLARGE - bool "i4i.4xlarge" - help - 128 GiB RAM, 16 vcpus, 1 x 3,750 AWS Nitro SSD, 25 Gbps Net, - 10 Gbps EBS. - -config TERRAFORM_AWS_INSTANCE_SIZE_I4I_METAL - bool "i4i.metal" - help - 1024 GiB RAM, 128 real cpus?, 8 x 3,750 AWS Nitro SSD, - 75 Gbps Net, 40 Gbps EBS. The bees' knees I guess. - -endchoice - -config TERRAFORM_AWS_INSTANCE_TYPE - string - output yaml - default "i4i.large" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_LARGE - default "i4i.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_4XLARGE - default "i4i.metal" if TERRAFORM_AWS_INSTANCE_SIZE_I4I_METAL - -endif # TERRAFORM_AWS_INSTANCE_TYPE_I4I diff --git a/terraform/aws/kconfigs/instance-types/Kconfig.im4gn b/terraform/aws/kconfigs/instance-types/Kconfig.im4gn deleted file mode 100644 index e224bdcae..000000000 --- a/terraform/aws/kconfigs/instance-types/Kconfig.im4gn +++ /dev/null @@ -1,25 +0,0 @@ -if TERRAFORM_AWS_INSTANCE_TYPE_IM4GN - -choice - prompt "AWS instance size" - default TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_LARGE - -config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_LARGE - bool "im4gn.large" - help - 8 GiB RAM, 2vCPUs, 1 x 937 GiB NVMe SSD, 25 Gbps Net, 9.5 Gbps EBS. - -config TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_4XLARGE - bool "im4gn.4xlarge" - help - 64 GiB RAM, 16 vcpus, 1 x 7500 NVMe SSD, 25 Gbps Net, 9.5 Gbps EBS. - -endchoice - -config TERRAFORM_AWS_INSTANCE_TYPE - string - output yaml - default "im4gn.large" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_LARGE - default "im4gn.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IM4GN_4XLARGE - -endif # TERRAFORM_AWS_INSTANCE_TYPE_IM4GN diff --git a/terraform/aws/kconfigs/instance-types/Kconfig.is4gen b/terraform/aws/kconfigs/instance-types/Kconfig.is4gen deleted file mode 100644 index 4fdca17b1..000000000 --- a/terraform/aws/kconfigs/instance-types/Kconfig.is4gen +++ /dev/null @@ -1,25 +0,0 @@ -if TERRAFORM_AWS_INSTANCE_TYPE_IS4GEN - -choice - prompt "AWS instance size" - default TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_MEDIUM - -config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_MEDIUM - bool "is4gen.medium" - help - 6 GiB RAM, 1vCPU, 1 x 937 GiB NVMe SSD, 25 Gbps Net, 9.6 Gbps EBS. - -config TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_8XLARGE - bool "is4gen.8xlarge" - help - 192 GiB RAM, 32 vCPUs, 4 x 7500 NVMe SSD, 50 Gbps Net, 19 Gbps EBS. - -endchoice - -config TERRAFORM_AWS_INSTANCE_TYPE - string - output yaml - default "is4gen.medium" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_MEDIUM - default "is4gen.8xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_IS4GEN_8XLARGE - -endif # TERRAFORM_AWS_INSTANCE_TYPE_IS4GEN diff --git a/terraform/aws/kconfigs/instance-types/Kconfig.m5 b/terraform/aws/kconfigs/instance-types/Kconfig.m5 deleted file mode 100644 index 534a20e75..000000000 --- a/terraform/aws/kconfigs/instance-types/Kconfig.m5 +++ /dev/null @@ -1,48 +0,0 @@ -if TERRAFORM_AWS_INSTANCE_TYPE_M5 - -choice - prompt "AWS instance type" - default TERRAFORM_AWS_INSTANCE_SIZE_M5AD_4XLARGE - help - Add storage by increasing the number of EBS volumes per - instance. - -config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_LARGE - bool "m5ad.large" - depends on TARGET_ARCH_X86_64 - help - 8 GiB RAM, 2 AMD vcpus, 1 10 GiB main drive, up to 10 Gbps - network speed, and one 75 GiB NVMe drive. - -config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_XLARGE - bool "m5ad.xlarge" - depends on TARGET_ARCH_X86_64 - help - 16 GiB RAM, 4 AMD vcpus, 1 10 GiB main drive, up to 10 Gbps - network speed, and one 150 GiB NVMe drive. - -config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_2XLARGE - bool "m5ad.2xlarge" - depends on TARGET_ARCH_X86_64 - help - 32 GiB RAM, 8 AMD vcpus, 1 10 GiB main drive, up to 10 Gbps - network speed, and one 300 GiB NVMe drive. - -config TERRAFORM_AWS_INSTANCE_SIZE_M5AD_4XLARGE - bool "m5ad.4xlarge" - depends on TARGET_ARCH_X86_64 - help - 64 GiB RAM, 16 AMD vcpus, 1 10 GiB main drive, up to 10 Gbps - and two 300 GiB NVMe drives. - -endchoice - -config TERRAFORM_AWS_INSTANCE_TYPE - string - output yaml - default "m5ad.large" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_LARGE - default "m5ad.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_XLARGE - default "m5ad.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_2XLARGE - default "m5ad.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M5AD_4XLARGE - -endif # TERRAFORM_AWS_INSTANCE_TYPE_M5 diff --git a/terraform/aws/kconfigs/instance-types/Kconfig.m7a b/terraform/aws/kconfigs/instance-types/Kconfig.m7a deleted file mode 100644 index fd7bd6f4e..000000000 --- a/terraform/aws/kconfigs/instance-types/Kconfig.m7a +++ /dev/null @@ -1,57 +0,0 @@ -if TERRAFORM_AWS_INSTANCE_TYPE_M7A - -choice - prompt "AWS instance type" - default TERRAFORM_AWS_INSTANCE_SIZE_M7A_XLARGE - help - Add storage by increasing the number of EBS volumes per - instance. - -config TERRAFORM_AWS_INSTANCE_SIZE_M7A_MEDIUM - bool "m7a.medium" - depends on TARGET_ARCH_X86_64 - help - 4 GiB RAM, 1 AMD Ryzen vcpu, 1 10 GiB main drive, and up to - 12.5 Gbs network speed. - -config TERRAFORM_AWS_INSTANCE_SIZE_M7A_LARGE - bool "m7a.large" - depends on TARGET_ARCH_X86_64 - help - 8 GiB RAM, 2 AMD Ryzen vcpus, 1 10 GiB main drive, and up to - 12.5 Gbs network speed. - -config TERRAFORM_AWS_INSTANCE_SIZE_M7A_XLARGE - bool "m7a.xlarge" - depends on TARGET_ARCH_X86_64 - help - 16 GiB RAM, 4 AMD Ryzen vcpus, 1 10 GiB main drive, and up to - 12.5 Gbs network speed. - -config TERRAFORM_AWS_INSTANCE_SIZE_M7A_2XLARGE - bool "m7a.2xlarge" - depends on TARGET_ARCH_X86_64 - help - 32 GiB RAM, 8 AMD Ryzen vcpus, 1 10 GiB main drive, and up to - 12.5 Gbs network speed. - -config TERRAFORM_AWS_INSTANCE_SIZE_M7A_4XLARGE - bool "m7a.4xlarge" - depends on TARGET_ARCH_X86_64 - help - 64 GiB RAM, 16 AMD Ryzen vcpus, 1 10 GiB main drive, and up to - 12.5 Gbs network speed. - -endchoice - -config TERRAFORM_AWS_INSTANCE_TYPE - string - output yaml - default "m7a.medium" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_MEDIUM - default "m7a.large" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_LARGE - default "m7a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_XLARGE - default "m7a.xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_XLARGE - default "m7a.2xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_2XLARGE - default "m7a.4xlarge" if TERRAFORM_AWS_INSTANCE_SIZE_M7A_4XLARGE - -endif # TERRAFORM_AWS_INSTANCE_TYPE_M7A From 1d8ec6422d47df8e0321fcc5b28792bd23f1d9c0 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Sat, 13 Sep 2025 16:28:57 -0400 Subject: [PATCH 5/6] terraform/aws: Add a script to generate the Kconfig.ami menu Enable kdevops to quickly pick up new Linux distributions whenever they are introduced by AWS or in the marketplace. boto3 reuses connections to the API endpoint, making the generation of the Kconfig menu quick. Jinja2 lets us manage a large amount of bespoke Kconfig help text painlessly. The new script reports some basic authentication issues and has a "raw" output to enable troubleshooting. To use: $ terraform/aws/scripts/gen_kconfig_ami > terraform/aws/kconfigs/Kconfig.ami Signed-off-by: Chuck Lever --- .../templates/aws/terraform.tfvars.j2 | 1 + terraform/aws/kconfigs/Kconfig.compute | 6 + terraform/aws/main.tf | 11 +- terraform/aws/scripts/distro.j2 | 28 + terraform/aws/scripts/gen_kconfig_ami | 693 ++++++++++++++++++ terraform/aws/scripts/owners.j2 | 58 ++ terraform/aws/vars.tf | 5 + 7 files changed, 801 insertions(+), 1 deletion(-) create mode 100644 terraform/aws/scripts/distro.j2 create mode 100755 terraform/aws/scripts/gen_kconfig_ami create mode 100644 terraform/aws/scripts/owners.j2 diff --git a/playbooks/roles/gen_tfvars/templates/aws/terraform.tfvars.j2 b/playbooks/roles/gen_tfvars/templates/aws/terraform.tfvars.j2 index d880254ba..4b20667f0 100644 --- a/playbooks/roles/gen_tfvars/templates/aws/terraform.tfvars.j2 +++ b/playbooks/roles/gen_tfvars/templates/aws/terraform.tfvars.j2 @@ -3,6 +3,7 @@ aws_region = "{{ terraform_aws_region }}" aws_availability_zone = "{{ terraform_aws_av_zone }}" aws_name_search = "{{ terraform_aws_ns }}" aws_ami_owner = "{{ terraform_aws_ami_owner }}" +aws_ami_arch = "{{ terraform_aws_ami_arch }}" aws_instance_type = "{{ terraform_aws_instance_type }}" aws_ebs_volumes_per_instance = "{{ terraform_aws_ebs_volumes_per_instance }}" aws_ebs_volume_size = {{ terraform_aws_ebs_volume_size }} diff --git a/terraform/aws/kconfigs/Kconfig.compute b/terraform/aws/kconfigs/Kconfig.compute index 326c6630b..bcfcb71c3 100644 --- a/terraform/aws/kconfigs/Kconfig.compute +++ b/terraform/aws/kconfigs/Kconfig.compute @@ -26,6 +26,12 @@ config TERRAFORM_AWS_DISTRO_CUSTOM endchoice +config TERRAFORM_AWS_AMI_ARCH + string + output yaml + default "x86_64" if TARGET_ARCH_X86_64 + default "arm64" if TARGET_ARCH_ARM64 + source "terraform/aws/kconfigs/distros/Kconfig.amazon" source "terraform/aws/kconfigs/distros/Kconfig.debian" source "terraform/aws/kconfigs/distros/Kconfig.fedora" diff --git a/terraform/aws/main.tf b/terraform/aws/main.tf index 82a936c77..ac6c6846f 100644 --- a/terraform/aws/main.tf +++ b/terraform/aws/main.tf @@ -1,14 +1,23 @@ data "aws_ami" "kdevops_ami" { most_recent = true + owners = [var.aws_ami_owner] + + filter { + name = "architecture" + values = [var.aws_ami_arch] + } filter { name = "name" values = [var.aws_name_search] } + filter { + name = "state" + values = ["available"] + } filter { name = "virtualization-type" values = ["hvm"] } - owners = [var.aws_ami_owner] } resource "aws_vpc" "kdevops_vpc" { diff --git a/terraform/aws/scripts/distro.j2 b/terraform/aws/scripts/distro.j2 new file mode 100644 index 000000000..4f68f0b54 --- /dev/null +++ b/terraform/aws/scripts/distro.j2 @@ -0,0 +1,28 @@ +if TERRAFORM_AWS_DISTRO_{{ owner_name }} + +choice + prompt "Release" + help + Choose a specific release from the {{ owner_description }} + distribution. + +{% for name, info in discovered %} +config TERRAFORM_AWS_AMI_{{ name.upper().replace(' ', '_').replace('.', '_') }} + bool "{{ name }}" + +{% endfor %} +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "{{ owner_id }}" + +config TERRAFORM_AWS_NS + string + output yaml +{% for name, info in discovered %} + default "{{ info['terraform_filter'] }}" if TERRAFORM_AWS_AMI_{{ name.upper().replace(' ', '_').replace('.', '_') }} +{% endfor %} + +endif # TERRAFORM_AWS_DISTRO_{{ owner_name }} diff --git a/terraform/aws/scripts/gen_kconfig_ami b/terraform/aws/scripts/gen_kconfig_ami new file mode 100755 index 000000000..3cf623a89 --- /dev/null +++ b/terraform/aws/scripts/gen_kconfig_ami @@ -0,0 +1,693 @@ +#!/usr/bin/env python3 +# ex: set filetype=python: + +""" +Retrieve AMI owner and instance information from AWS. Use it to +construct the "compute" Kconfig menu. +""" + +import sys +import argparse +import os +import re + +from collections import defaultdict +from configparser import ConfigParser +from jinja2 import Environment, FileSystemLoader + +import boto3 +from botocore.exceptions import ClientError, NoCredentialsError + + +def get_default_region(): + """ + Get the default AWS region from ~/.aws/config file. + + Returns: + str: Default region or 'us-east-1' if not found + """ + config_path = os.path.expanduser('~/.aws/config') + if os.path.exists(config_path): + try: + config = ConfigParser() + config.read(config_path) + if 'default' in config: + return config['default'].get('region', 'us-east-1') + if 'profile default' in config: + return config['profile default'].get('region', 'us-east-1') + except Exception as e: + print(f"Warning: Error reading AWS config file: {e}", file=sys.stderr) + return 'us-east-1' + + +def get_known_ami_owners(): + """ + Get dictionary of trusted AMI owners that publish Linux images. + + Please maintain this dictionary sorted alphabetically by key. + + Returns: + dict: Dictionary of owner information + """ + return { + 'almalinux': { + 'owner_id': '764336703387', + 'owner_name': 'AlmaLinux', + 'description': 'AlmaLinux', + 'search_patterns': [ + r'AlmaLinux.*', + ] + }, + 'amazon': { + 'owner_id': '137112412989', + 'owner_name': 'Amazon', + 'description': 'Amazon Linux', + 'search_patterns': [ + r'al2023-ami-.*', # Amazon Linux 2023 + r'amzn2-ami-.*', # Amazon Linux 2 + r'amzn-ami-.*', # Amazon Linux 1 + ] + }, + 'centos': { + 'owner_id': '125523088429', + 'owner_name': 'CentOS', + 'description': 'CentOS Linux (Legacy)', + 'search_patterns': [ + r'CentOS.*', + ] + }, + 'debian': { + 'owner_id': '136693071363', + 'owner_name': 'Debian', + 'description': 'Debian GNU/Linux', + 'search_patterns': [ + r'debian-.*', + ] + }, + 'fedora': { + 'owner_id': '125523088429', + 'owner_name': 'Fedora', + 'description': 'Fedora Linux Cloud', + 'search_patterns': [ + r'Fedora-Cloud-.*', + r'Fedora-.*', + ] + }, + 'oracle': { + 'owner_id': '131827586825', + 'owner_name': 'Oracle', + 'description': 'Oracle Linux', + 'search_patterns': [ + r'OL.*-.*', + ] + }, + 'redhat': { + 'owner_id': '309956199498', + 'owner_name': 'RedHat', + 'description': 'Red Hat Enterprise Linux', + 'search_patterns': [ + r'RHEL-.*', + ] + }, + 'rocky': { + 'owner_id': '792107900819', + 'owner_name': 'Rocky Linux', + 'description': 'Rocky Linux', + 'search_patterns': [ + r'Rocky-.*', + ] + }, + 'suse': { + 'owner_id': '013907871322', + 'owner_name': 'SUSE', + 'description': 'Suse Linux Enterprise Server', + 'search_patterns': [ + r'suse-sles-.*', + r'suse-sle-.*', + ] + }, + 'ubuntu': { + 'owner_id': '099720109477', + 'owner_name': 'Canonical', + 'description': 'Ubuntu', + 'search_patterns': [ + r'ubuntu/images/.*ubuntu-.*', + ] + }, + } + + +def discover_ami_patterns(owner_id, owner_name, search_patterns, region='us-east-1', quiet=False): + """ + Dynamically discover AMI patterns by scanning available AMIs for an owner. + + Args: + owner_id (str): AWS owner account ID + owner_name (str): Human readable owner name + search_patterns (list): Regex patterns to filter AMI names + region (str): AWS region to query + quiet (bool): Suppress debug messages + + Returns: + dict: Dictionary of discovered AMI patterns and examples + """ + try: + if not quiet: + print(f"Discovering AMI patterns for {owner_name} in {region}...", file=sys.stderr) + + ec2 = boto3.client('ec2', region_name=region) + + # Get all AMIs from this owner + all_amis = [] + paginator = ec2.get_paginator('describe_images') + + for page in paginator.paginate( + Owners=[owner_id], + Filters=[ + {'Name': 'state', 'Values': ['available']}, + {'Name': 'image-type', 'Values': ['machine']}, + ] + ): + all_amis.extend(page['Images']) + + if not quiet: + print(f"Found {len(all_amis)} total AMIs for {owner_name}", file=sys.stderr) + + # Filter AMIs by search patterns + matching_amis = [] + for ami in all_amis: + ami_name = ami.get('Name', '') + for pattern in search_patterns: + if re.match(pattern, ami_name, re.IGNORECASE): + matching_amis.append(ami) + break + + if not quiet: + print(f"Found {len(matching_amis)} matching AMIs after pattern filtering", file=sys.stderr) + + # Group AMIs by detected patterns + pattern_groups = defaultdict(list) + + for ami in matching_amis: + ami_name = ami.get('Name', '') + group_key = classify_ami_name(ami_name, owner_name) + + ami_info = { + 'ami_id': ami['ImageId'], + 'name': ami_name, + 'description': ami.get('Description', ''), + 'creation_date': ami['CreationDate'], + 'architecture': ami.get('Architecture', 'Unknown'), + 'virtualization_type': ami.get('VirtualizationType', 'Unknown'), + 'root_device_type': ami.get('RootDeviceType', 'Unknown'), + 'platform_details': ami.get('PlatformDetails', 'Unknown'), + } + + pattern_groups[group_key].append(ami_info) + + # Sort each group by creation date (newest first) and generate patterns + discovered_patterns = {} + for group_key, amis in pattern_groups.items(): + # Sort by creation date, newest first + sorted_amis = sorted(amis, key=lambda x: x['creation_date'], reverse=True) + + # Generate Terraform-compatible filter pattern + terraform_pattern = generate_terraform_pattern(group_key, sorted_amis[:5]) # Use top 5 for pattern analysis + + discovered_patterns[group_key] = { + 'display_name': group_key, + 'ami_count': len(sorted_amis), + 'latest_ami': sorted_amis[0] if sorted_amis else None, + 'sample_amis': sorted_amis[:3], # Show 3 most recent + 'terraform_filter': terraform_pattern, + 'terraform_example': generate_terraform_example(group_key, terraform_pattern, owner_id) + } + + return discovered_patterns + + except NoCredentialsError: + print("Error: AWS credentials not found. Please configure your credentials.", file=sys.stderr) + return {} + except ClientError as e: + print(f"AWS API Error: {e}", file=sys.stderr) + return {} + except Exception as e: + print(f"Unexpected error: {e}", file=sys.stderr) + return {} + + +def classify_ami_name(ami_name, owner_name): + """ + Classify an AMI name into a logical group for pattern generation. + + Args: + ami_name (str): AMI name + owner_name (str): Owner name for context + + Returns: + str: Classification key + """ + ami_lower = ami_name.lower() + + if 'al2023' in ami_lower: + return 'Amazon Linux 2023' + elif 'amzn2' in ami_lower: + return 'Amazon Linux 2' + elif 'amzn-ami' in ami_lower: + return 'Amazon Linux 1' + + elif 'ubuntu' in ami_lower: + if 'noble' in ami_lower or '24.04' in ami_lower: + return 'Ubuntu 24.04 LTS' + elif 'jammy' in ami_lower or '22.04' in ami_lower: + return 'Ubuntu 22.04 LTS' + elif 'focal' in ami_lower or '20.04' in ami_lower: + return 'Ubuntu 20.04 LTS' + elif 'bionic' in ami_lower or '18.04' in ami_lower: + return 'Ubuntu 18.04 LTS' + else: + version_match = re.search(r'(\d+\.\d+)', ami_name) + if version_match: + return f'Ubuntu {version_match.group(1)}' + return 'Ubuntu (Other)' + + elif 'rhel' in ami_lower: + if re.search(r'rhel-?10', ami_lower): + return 'RHEL 10' + elif re.search(r'rhel-?9', ami_lower): + return 'RHEL 9' + elif re.search(r'rhel-?8', ami_lower): + return 'RHEL 8' + elif re.search(r'rhel-?7', ami_lower): + return 'RHEL 7' + else: + version_match = re.search(r'rhel-?(\d+)', ami_lower) + if version_match: + return f'RHEL {version_match.group(1)}' + return 'RHEL (Other)' + + elif 'rocky' in ami_lower: + version_match = re.search(r'rocky-(\d+)', ami_lower) + if version_match: + return f'Rocky Linux {version_match.group(1)}' + return 'Rocky Linux' + + elif 'almalinux' in ami_lower: + version_match = re.search(r'(\d+)', ami_name) + if version_match: + return f'AlmaLinux {version_match.group(1)}' + return 'AlmaLinux' + + elif 'debian' in ami_lower: + if re.search(r'debian-?12', ami_lower) or 'bookworm' in ami_lower: + return 'Debian 12' + elif re.search(r'debian-?11', ami_lower) or 'bullseye' in ami_lower: + return 'Debian 11' + elif re.search(r'debian-?10', ami_lower) or 'buster' in ami_lower: + return 'Debian 10' + else: + version_match = re.search(r'debian-?(\d+)', ami_lower) + if version_match: + return f'Debian {version_match.group(1)}' + return 'Debian (Other)' + + elif 'suse' in ami_lower or 'sles' in ami_lower: + version_match = re.search(r'(\d+)', ami_name) + if version_match: + return f'SUSE Linux Enterprise {version_match.group(1)}' + return 'SUSE Linux Enterprise' + + elif 'centos' in ami_lower: + version_match = re.search(r'(\d+)', ami_name) + if version_match: + return f'CentOS {version_match.group(1)}' + return 'CentOS' + + elif 'fedora' in ami_lower: + version_match = re.search(r'fedora-.*?(\d+)', ami_lower) + if version_match: + return f'Fedora {version_match.group(1)}' + return 'Fedora' + + elif ami_lower.startswith('ol'): + version_match = re.search(r'ol(\d+)', ami_lower) + if version_match: + return f'Oracle Linux {version_match.group(1)}' + return 'Oracle Linux' + + # Default: use the owner name + return f'{owner_name} (Other)' + + +def generate_terraform_pattern(group_key, sample_amis): + """ + Generate a Terraform-compatible filter pattern from sample AMIs. + + Args: + group_key (str): Classification key + sample_amis (list): List of sample AMI info + + Returns: + str: Terraform filter pattern + """ + if not sample_amis: + return "" + + # Analyze common patterns in AMI names + names = [ami['name'] for ami in sample_amis] + + # Find the longest common prefix and suffix patterns + if len(names) == 1: + # Single AMI - create a pattern that matches similar names + name = names[0] + # Replace specific dates/versions with wildcards + pattern = re.sub(r'\d{4}-\d{2}-\d{2}', '*', name) # Replace dates + pattern = re.sub(r'-\d+\.\d+\.\d+', '-*', pattern) # Replace version numbers + pattern = re.sub(r'_\d+\.\d+\.\d+', '_*', pattern) # Replace version numbers with underscores + return pattern + + # Multiple AMIs - find common pattern + common_parts = [] + min_len = min(len(name) for name in names) + + # Find common prefix + prefix_len = 0 + for i in range(min_len): + chars = set(name[i] for name in names) + if len(chars) == 1: + prefix_len = i + 1 + else: + break + + if prefix_len > 0: + prefix = names[0][:prefix_len] + return f"{prefix}*" + + # If no common prefix, try to extract the base pattern + first_name = names[0] + # Replace numbers and dates with wildcards + pattern = re.sub(r'\d{8}', '*', first_name) # Replace 8-digit dates + pattern = re.sub(r'\d{4}-\d{2}-\d{2}', '*', pattern) # Replace ISO dates + pattern = re.sub(r'-\d+\.\d+\.\d+', '-*', pattern) # Replace version numbers + pattern = re.sub(r'_\d+\.\d+\.\d+', '_*', pattern) # Replace version numbers with underscores + + return pattern + + +def generate_terraform_example(group_key, filter_pattern, owner_id): + """ + Generate a complete Terraform example. + + Args: + group_key (str): Classification key + filter_pattern (str): Filter pattern + owner_id (str): AWS owner account ID + + Returns: + str: Complete Terraform data source example + """ + # Create a safe resource name + resource_name = re.sub(r'[^a-zA-Z0-9_]', '_', group_key.lower()) + resource_name = re.sub(r'_+', '_', resource_name) # Remove multiple underscores + resource_name = resource_name.strip('_') # Remove leading/trailing underscores + + if not filter_pattern: + filter_pattern = "*" + + terraform_code = f'''data "aws_ami" "{resource_name}" {{ + most_recent = true + owners = ["{owner_id}"] + filter {{ + name = "name" + values = ["{filter_pattern}"] + }} + filter {{ + name = "architecture" + values = ["x86_64"] + }} + filter {{ + name = "virtualization-type" + values = ["hvm"] + }} + filter {{ + name = "state" + values = ["available"] + }} +}}''' + + return terraform_code + + +def get_owner_ami_info(owners, owner_key, region='us-east-1', quiet=False): + """ + Get comprehensive AMI information for a specific owner. + + Args: + owner_key (str): Owner key (e.g., 'amazon', 'ubuntu') + region (str): AWS region to query + quiet (bool): Suppress debug messages + + Returns: + dict: Owner information with discovered AMI patterns + """ + if owner_key not in owners: + return None + + owner_info = owners[owner_key].copy() + + discovered_patterns = discover_ami_patterns( + owner_info['owner_id'], + owner_info['owner_name'], + owner_info['search_patterns'], + region, + quiet + ) + + owner_info['discovered_patterns'] = discovered_patterns + owner_info['total_pattern_count'] = len(discovered_patterns) + + return owner_info + + +def output_ami_menu_kconfig(owners, region): + """Output the ami menu in kconfig format.""" + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("owners.j2") + print( + template.render( + sorted_keys=owners.keys(), + owners=owners, + ) + ) + template = environment.get_template("distro.j2") + for owner_key in owners.keys(): + owner_info = get_owner_ami_info(owners, owner_key, region, True) + print() + print( + template.render( + owner_name=owner_info['owner_name'].upper().replace(' ', '_'), + owner_id=owner_info['owner_id'], + owner_description=owner_info['description'], + discovered=sorted(owner_info['discovered_patterns'].items()), + ) + ) + + +def output_owners_kconfig(owners): + """Output results in kconfig format.""" + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("owners.j2") + print( + template.render( + sorted_keys=owners.keys(), + owners=owners, + ) + ) + + +def output_owners_raw(owners, quiet=False): + """Output AMI owners in table format.""" + if not quiet: + print(f"Known Linux AMI owners ({len(owners)}):\n") + + print(f"{'Owner Key':<12} {'Owner Name':<15} {'Owner ID':<15} {'Description':<30}") + print("-" * 75) + + for owner_key in owners.keys(): + owner = owners[owner_key] + print(f"{owner_key:<12} " + f"{owner['owner_name']:<15} " + f"{owner['owner_id']:<15} " + f"{owner['description']:<30}") + + +def output_owner_kconfig(owner_info): + """Output owner AMI information in kconfig format.""" + environment = Environment( + loader=FileSystemLoader(sys.path[0]), + trim_blocks=True, + lstrip_blocks=True, + ) + template = environment.get_template("distro.j2") + print( + template.render( + owner_name=owner_info['owner_name'].upper().replace(' ', '_'), + owner_id=owner_info['owner_id'], + owner_description=owner_info['description'], + discovered=sorted(owner_info['discovered_patterns'].items()), + ) + ) + + +def output_owner_raw(owner_info, quiet=False): + """Output owner AMI information in table format.""" + if not quiet: + print(f"AMI Information for {owner_info['owner_name']} (Owner ID: {owner_info['owner_id']})") + print(f"Description: {owner_info['description']}") + print(f"Found {owner_info['total_pattern_count']} AMI pattern groups\n") + + if not owner_info['discovered_patterns']: + print("No AMI patterns discovered for this owner in the specified region.") + return + + for pattern_name, pattern_info in sorted(owner_info['discovered_patterns'].items()): + print(f"Pattern: {pattern_name}") + print(f" AMI Count: {pattern_info['ami_count']}") + print(f" Filter Pattern: {pattern_info['terraform_filter']}") + + if pattern_info['latest_ami']: + latest = pattern_info['latest_ami'] + print(f" Latest AMI: {latest['ami_id']} ({latest['creation_date'][:10]})") + print(f" Architecture: {latest['architecture']}") + + if pattern_info['sample_amis']: + print(f" Sample AMIs:") + for ami in pattern_info['sample_amis']: + print(f" {ami['ami_id']} - {ami['name'][:60]}{'...' if len(ami['name']) > 60 else ''}") + print(f" Created: {ami['creation_date'][:10]} | Arch: {ami['architecture']} | Virt: {ami['virtualization_type']}") + + print() + + +def output_owner_terraform(owner_info): + """Output owner information as Terraform examples.""" + print(f"# Terraform aws_ami data source examples for {owner_info['owner_name']}") + print(f"# Owner ID: {owner_info['owner_id']}") + print(f"# {owner_info['description']}") + print(f"# Found {owner_info['total_pattern_count']} AMI pattern groups") + print() + + for pattern_name, pattern_info in sorted(owner_info['discovered_patterns'].items()): + print(f"# {pattern_name} ({pattern_info['ami_count']} AMIs available)") + if pattern_info['latest_ami']: + print(f"# Latest: {pattern_info['latest_ami']['ami_id']} ({pattern_info['latest_ami']['creation_date'][:10]})") + print(pattern_info['terraform_example']) + print() + + +def parse_arguments(): + """Parse command line arguments.""" + parser = argparse.ArgumentParser( + description='Get AWS AMI owner information and Terraform filter examples', + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + python %(prog)s --owners + python %(prog)s amazon + python %(prog)s ubuntu --format raw + python %(prog)s redhat --region eu-west-1 + """ + ) + + parser.add_argument( + 'owner_key', + nargs='?', # Make owner_key optional when using --owners + help='AMI owner key (e.g., amazon, ubuntu, redhat, debian, suse, centos, rocky, almalinux)' + ) + + parser.add_argument( + '--format', '-f', + choices=['kconfig', 'raw', 'terraform'], + default='kconfig', + help='Output format (default: kconfig)' + ) + parser.add_argument( + '--owners', + action='store_true', + help='List all known AMI owners' + ) + parser.add_argument( + '--quiet', '-q', + action='store_true', + help='Suppress informational messages' + ) + parser.add_argument( + '--region', '-r', + help='AWS region (default: from ~/.aws/config or us-east-1)' + ) + return parser.parse_args() + + +def main(): + """Main function to run the program.""" + args = parse_arguments() + + owners = get_known_ami_owners() + + if args.owners: + if args.format == 'kconfig': + output_owners_kconfig(owners) + elif args.format == 'terraform': + print("'--format terraform' is not valid with '--owners'") + sys.exit(1) + else: + output_owners_raw(owners, args.quiet) + return + + if args.region: + region = args.region + else: + region = get_default_region() + + if args.owner_key: + if args.owner_key not in owners: + print(f"Error: Unknown owner key '{args.owner_key}'", file=sys.stderr) + print(f"Available owners: {', '.join(owners.keys())}", file=sys.stderr) + sys.exit(1) + + if not args.quiet: + print(f"Discovering AMI patterns for {args.owner_key} in {region}...", file=sys.stderr) + print(f"This may take a moment as we scan available AMIs...", file=sys.stderr) + + owner_info = get_owner_ami_info(owners, args.owner_key, region, args.quiet) + + if not owner_info: + print(f"Could not retrieve AMI information for owner '{args.owner_key}'.", file=sys.stderr) + sys.exit(1) + + if not owner_info.get('discovered_patterns'): + print(f"No AMI patterns discovered for owner '{args.owner_key}' in region {region}.", file=sys.stderr) + print("This may be because the owner has no AMIs in this region or the search patterns need adjustment.", file=sys.stderr) + sys.exit(1) + + if args.format == 'kconfig': + output_owner_kconfig(owner_info) + elif args.format == 'terraform': + output_owner_terraform(owner_info) + else: + output_owner_raw(owner_info, args.quiet) + return + + output_ami_menu_kconfig(owners, region) + + +if __name__ == "__main__": + main() diff --git a/terraform/aws/scripts/owners.j2 b/terraform/aws/scripts/owners.j2 new file mode 100644 index 000000000..717f040f3 --- /dev/null +++ b/terraform/aws/scripts/owners.j2 @@ -0,0 +1,58 @@ +choice + prompt "Linux distribution" + default TERRAFORM_AWS_DISTRO_DEBIAN + help + Select a popular Linux distribution to install on your + instances, or use the "Custom AMI image" selection to + choose an image that is off the beaten path. + +{% for owner_key in sorted_keys %} +config TERRAFORM_AWS_DISTRO_{{ owner_key.upper() }} + bool "{{ owners[owner_key]['description'] }}" + +{% endfor %} +config TERRAFORM_AWS_DISTRO_CUSTOM + bool "Custom AMI image" + +endchoice + +config TERRAFORM_AWS_AMI_ARCH + string + output yaml + default "x86_64" if TARGET_ARCH_X86_64 + default "arm64" if TARGET_ARCH_ARM64 + +if TERRAFORM_AWS_DISTRO_CUSTOM + +config TERRAFORM_AWS_AMI_OWNER + string "AWS AMI owner or owner alias" + output yaml + help + The owner is a string of digits that represents a + collection of published images to search, such as + "137112412989". Sometimes the publisher also provides + an alias, which is a human-readable name of that + collection, such as "aws-marketplace". + +config TERRAFORM_AWS_NS + string "AWS AMI name search expression" + output yaml + help + This option sets a custom aws image search expression to + use. Using this filter glob lets us get the latest AMI for + your preferred OS release. + + To get filter values you can first setup aws cli: + + https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration + + Get your image ami id. For debian 9 amd64 on the us-west-1, + this is ami-0adbaf2e0ce044437. You can then run: + + aws ec2 describe-images --image-ids ami-0adbaf2e0ce044437 | grep Name + + For details: + + https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html + +endif # TERRAFORM_AWS_DISTRO_CUSTOM diff --git a/terraform/aws/vars.tf b/terraform/aws/vars.tf index 0c7f8b641..e5466c9aa 100644 --- a/terraform/aws/vars.tf +++ b/terraform/aws/vars.tf @@ -1,3 +1,8 @@ +variable "aws_ami_arch" { + description = "An AWS AMI image instruction set architecture" + type = string +} + variable "aws_ami_owner" { description = "An AWS AMI image owner or owner alias" type = string From e2707d92cfd6b61c60e47b0b0ca242fe2904781c Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Sat, 20 Sep 2025 15:41:31 -0400 Subject: [PATCH 6/6] terraform/aws: Replace the AMI content in Kconfig.compute The generated menu has more choices of Linux distributions and releases. Signed-off-by: Chuck Lever --- terraform/aws/Kconfig | 2 +- terraform/aws/kconfigs/Kconfig.ami | 449 ++++++++++++++++++ terraform/aws/kconfigs/Kconfig.compute | 40 -- terraform/aws/kconfigs/distros/Kconfig.amazon | 44 -- terraform/aws/kconfigs/distros/Kconfig.custom | 35 -- terraform/aws/kconfigs/distros/Kconfig.debian | 51 -- terraform/aws/kconfigs/distros/Kconfig.fedora | 60 --- terraform/aws/kconfigs/distros/Kconfig.rhel | 56 --- terraform/aws/kconfigs/distros/Kconfig.sles | 52 -- 9 files changed, 450 insertions(+), 339 deletions(-) create mode 100644 terraform/aws/kconfigs/Kconfig.ami delete mode 100644 terraform/aws/kconfigs/Kconfig.compute delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.amazon delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.custom delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.debian delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.fedora delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.rhel delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.sles diff --git a/terraform/aws/Kconfig b/terraform/aws/Kconfig index f93eff8ec..41b44b5c9 100644 --- a/terraform/aws/Kconfig +++ b/terraform/aws/Kconfig @@ -5,7 +5,7 @@ source "terraform/aws/kconfigs/Kconfig.location" endmenu menu "Compute" source "terraform/aws/kconfigs/Kconfig.instance" -source "terraform/aws/kconfigs/Kconfig.compute" +source "terraform/aws/kconfigs/Kconfig.ami" endmenu menu "Storage" source "terraform/aws/kconfigs/Kconfig.storage" diff --git a/terraform/aws/kconfigs/Kconfig.ami b/terraform/aws/kconfigs/Kconfig.ami new file mode 100644 index 000000000..a0021c555 --- /dev/null +++ b/terraform/aws/kconfigs/Kconfig.ami @@ -0,0 +1,449 @@ +choice + prompt "Linux distribution" + default TERRAFORM_AWS_DISTRO_DEBIAN + help + Select a popular Linux distribution to install on your + instances, or use the "Custom AMI image" selection to + choose an image that is off the beaten path. + +config TERRAFORM_AWS_DISTRO_ALMALINUX + bool "AlmaLinux" + +config TERRAFORM_AWS_DISTRO_AMAZON + bool "Amazon Linux" + +config TERRAFORM_AWS_DISTRO_CENTOS + bool "CentOS Linux (Legacy)" + +config TERRAFORM_AWS_DISTRO_DEBIAN + bool "Debian GNU/Linux" + +config TERRAFORM_AWS_DISTRO_FEDORA + bool "Fedora Linux Cloud" + +config TERRAFORM_AWS_DISTRO_ORACLE + bool "Oracle Linux" + +config TERRAFORM_AWS_DISTRO_REDHAT + bool "Red Hat Enterprise Linux" + +config TERRAFORM_AWS_DISTRO_ROCKY + bool "Rocky Linux" + +config TERRAFORM_AWS_DISTRO_SUSE + bool "Suse Linux Enterprise Server" + +config TERRAFORM_AWS_DISTRO_UBUNTU + bool "Ubuntu" + +config TERRAFORM_AWS_DISTRO_CUSTOM + bool "Custom AMI image" + +endchoice + +config TERRAFORM_AWS_AMI_ARCH + string + output yaml + default "x86_64" if TARGET_ARCH_X86_64 + default "arm64" if TARGET_ARCH_ARM64 + +if TERRAFORM_AWS_DISTRO_CUSTOM + +config TERRAFORM_AWS_AMI_OWNER + string "AWS AMI owner or owner alias" + output yaml + help + The owner is a string of digits that represents a + collection of published images to search, such as + "137112412989". Sometimes the publisher also provides + an alias, which is a human-readable name of that + collection, such as "aws-marketplace". + +config TERRAFORM_AWS_NS + string "AWS AMI name search expression" + output yaml + help + This option sets a custom aws image search expression to + use. Using this filter glob lets us get the latest AMI for + your preferred OS release. + + To get filter values you can first setup aws cli: + + https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration + + Get your image ami id. For debian 9 amd64 on the us-west-1, + this is ami-0adbaf2e0ce044437. You can then run: + + aws ec2 describe-images --image-ids ami-0adbaf2e0ce044437 | grep Name + + For details: + + https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html + +endif # TERRAFORM_AWS_DISTRO_CUSTOM + +if TERRAFORM_AWS_DISTRO_ALMALINUX + +choice + prompt "Release" + help + Choose a specific release from the AlmaLinux + distribution. + +config TERRAFORM_AWS_AMI_ALMALINUX_10 + bool "AlmaLinux 10" + +config TERRAFORM_AWS_AMI_ALMALINUX_8 + bool "AlmaLinux 8" + +config TERRAFORM_AWS_AMI_ALMALINUX_9 + bool "AlmaLinux 9" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "764336703387" + +config TERRAFORM_AWS_NS + string + output yaml + default "AlmaLinux OS *" if TERRAFORM_AWS_AMI_ALMALINUX_10 + default "AlmaLinux OS 8.*" if TERRAFORM_AWS_AMI_ALMALINUX_8 + default "almalinux9-x86_64-community-vmware-bundle" if TERRAFORM_AWS_AMI_ALMALINUX_9 + +endif # TERRAFORM_AWS_DISTRO_ALMALINUX + +if TERRAFORM_AWS_DISTRO_AMAZON + +choice + prompt "Release" + help + Choose a specific release from the Amazon Linux + distribution. + +config TERRAFORM_AWS_AMI_AMAZON_LINUX_2 + bool "Amazon Linux 2" + +config TERRAFORM_AWS_AMI_AMAZON_LINUX_2023 + bool "Amazon Linux 2023" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "137112412989" + +config TERRAFORM_AWS_NS + string + output yaml + default "amzn2-ami-*" if TERRAFORM_AWS_AMI_AMAZON_LINUX_2 + default "al2023-ami-*" if TERRAFORM_AWS_AMI_AMAZON_LINUX_2023 + +endif # TERRAFORM_AWS_DISTRO_AMAZON + +if TERRAFORM_AWS_DISTRO_CENTOS + +choice + prompt "Release" + help + Choose a specific release from the CentOS Linux (Legacy) + distribution. + +config TERRAFORM_AWS_AMI_CENTOS_10 + bool "CentOS 10" + +config TERRAFORM_AWS_AMI_CENTOS_9 + bool "CentOS 9" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "125523088429" + +config TERRAFORM_AWS_NS + string + output yaml + default "CentOS Stream 10 *" if TERRAFORM_AWS_AMI_CENTOS_10 + default "CentOS Stream 9 *" if TERRAFORM_AWS_AMI_CENTOS_9 + +endif # TERRAFORM_AWS_DISTRO_CENTOS + +if TERRAFORM_AWS_DISTRO_DEBIAN + +choice + prompt "Release" + help + Choose a specific release from the Debian GNU/Linux + distribution. + +config TERRAFORM_AWS_AMI_DEBIAN_10 + bool "Debian 10" + +config TERRAFORM_AWS_AMI_DEBIAN_11 + bool "Debian 11" + +config TERRAFORM_AWS_AMI_DEBIAN_12 + bool "Debian 12" + +config TERRAFORM_AWS_AMI_DEBIAN_13 + bool "Debian 13" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "136693071363" + +config TERRAFORM_AWS_NS + string + output yaml + default "debian-10-*" if TERRAFORM_AWS_AMI_DEBIAN_10 + default "debian-11-*" if TERRAFORM_AWS_AMI_DEBIAN_11 + default "debian-12-*" if TERRAFORM_AWS_AMI_DEBIAN_12 + default "debian-13-a*" if TERRAFORM_AWS_AMI_DEBIAN_13 + +endif # TERRAFORM_AWS_DISTRO_DEBIAN + +if TERRAFORM_AWS_DISTRO_FEDORA + +choice + prompt "Release" + help + Choose a specific release from the Fedora Linux Cloud + distribution. + +config TERRAFORM_AWS_AMI_FEDORA_2 + bool "Fedora 2" + +config TERRAFORM_AWS_AMI_FEDORA_38 + bool "Fedora 38" + +config TERRAFORM_AWS_AMI_FEDORA_39 + bool "Fedora 39" + +config TERRAFORM_AWS_AMI_FEDORA_40 + bool "Fedora 40" + +config TERRAFORM_AWS_AMI_FEDORA_41 + bool "Fedora 41" + +config TERRAFORM_AWS_AMI_FEDORA_42 + bool "Fedora 42" + +config TERRAFORM_AWS_AMI_FEDORA_43 + bool "Fedora 43" + +config TERRAFORM_AWS_AMI_FEDORA_44 + bool "Fedora 44" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "125523088429" + +config TERRAFORM_AWS_NS + string + output yaml + default "Fedora-Cloud-Base-AmazonEC2.*" if TERRAFORM_AWS_AMI_FEDORA_2 + default "fedora-coreos-38.202310*" if TERRAFORM_AWS_AMI_FEDORA_38 + default "fedora-coreos-39.20240*" if TERRAFORM_AWS_AMI_FEDORA_39 + default "fedora-coreos-40.202410*" if TERRAFORM_AWS_AMI_FEDORA_40 + default "fedora-coreos-41.20250*" if TERRAFORM_AWS_AMI_FEDORA_41 + default "fedora-coreos-42.202509*" if TERRAFORM_AWS_AMI_FEDORA_42 + default "fedora-coreos-43.20250917.1*" if TERRAFORM_AWS_AMI_FEDORA_43 + default "fedora-coreos-44.202509*" if TERRAFORM_AWS_AMI_FEDORA_44 + +endif # TERRAFORM_AWS_DISTRO_FEDORA + +if TERRAFORM_AWS_DISTRO_ORACLE + +choice + prompt "Release" + help + Choose a specific release from the Oracle Linux + distribution. + +config TERRAFORM_AWS_AMI_ORACLE_LINUX_8 + bool "Oracle Linux 8" + +config TERRAFORM_AWS_AMI_ORACLE_LINUX_9 + bool "Oracle Linux 9" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "131827586825" + +config TERRAFORM_AWS_NS + string + output yaml + default "OL8.9-*" if TERRAFORM_AWS_AMI_ORACLE_LINUX_8 + default "OL9.3-*" if TERRAFORM_AWS_AMI_ORACLE_LINUX_9 + +endif # TERRAFORM_AWS_DISTRO_ORACLE + +if TERRAFORM_AWS_DISTRO_REDHAT + +choice + prompt "Release" + help + Choose a specific release from the Red Hat Enterprise Linux + distribution. + +config TERRAFORM_AWS_AMI_RHEL_10 + bool "RHEL 10" + +config TERRAFORM_AWS_AMI_RHEL_7 + bool "RHEL 7" + +config TERRAFORM_AWS_AMI_RHEL_8 + bool "RHEL 8" + +config TERRAFORM_AWS_AMI_RHEL_9 + bool "RHEL 9" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "309956199498" + +config TERRAFORM_AWS_NS + string + output yaml + default "RHEL-10.0.0_HVM*" if TERRAFORM_AWS_AMI_RHEL_10 + default "RHEL-7.9_HVM-20240930-x86_64-0-Hourly2-GP3" if TERRAFORM_AWS_AMI_RHEL_7 + default "RHEL-8.10.0_HVM-20250*" if TERRAFORM_AWS_AMI_RHEL_8 + default "RHEL-9.*" if TERRAFORM_AWS_AMI_RHEL_9 + +endif # TERRAFORM_AWS_DISTRO_REDHAT + +if TERRAFORM_AWS_DISTRO_ROCKY_LINUX + +choice + prompt "Release" + help + Choose a specific release from the Rocky Linux + distribution. + +config TERRAFORM_AWS_AMI_ROCKY_LINUX_10 + bool "Rocky Linux 10" + +config TERRAFORM_AWS_AMI_ROCKY_LINUX_8 + bool "Rocky Linux 8" + +config TERRAFORM_AWS_AMI_ROCKY_LINUX_9 + bool "Rocky Linux 9" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "792107900819" + +config TERRAFORM_AWS_NS + string + output yaml + default "Rocky-10-EC2-*" if TERRAFORM_AWS_AMI_ROCKY_LINUX_10 + default "Rocky-8-EC2-*" if TERRAFORM_AWS_AMI_ROCKY_LINUX_8 + default "Rocky-9-EC2-*" if TERRAFORM_AWS_AMI_ROCKY_LINUX_9 + +endif # TERRAFORM_AWS_DISTRO_ROCKY_LINUX + +if TERRAFORM_AWS_DISTRO_SUSE + +choice + prompt "Release" + help + Choose a specific release from the Suse Linux Enterprise Server + distribution. + +config TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_12 + bool "SUSE Linux Enterprise 12" + +config TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_15 + bool "SUSE Linux Enterprise 15" + +config TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_5 + bool "SUSE Linux Enterprise 5" + +config TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_6 + bool "SUSE Linux Enterprise 6" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "013907871322" + +config TERRAFORM_AWS_NS + string + output yaml + default "suse-sles-12-sp5-v20250*" if TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_12 + default "suse-sles-15-sp*" if TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_15 + default "suse-sle-micro-5-*" if TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_5 + default "suse-sle-micro-6-*" if TERRAFORM_AWS_AMI_SUSE_LINUX_ENTERPRISE_6 + +endif # TERRAFORM_AWS_DISTRO_SUSE + +if TERRAFORM_AWS_DISTRO_CANONICAL + +choice + prompt "Release" + help + Choose a specific release from the Ubuntu + distribution. + +config TERRAFORM_AWS_AMI_UBUNTU_20_04_LTS + bool "Ubuntu 20.04 LTS" + +config TERRAFORM_AWS_AMI_UBUNTU_22_04_LTS + bool "Ubuntu 22.04 LTS" + +config TERRAFORM_AWS_AMI_UBUNTU_23_04 + bool "Ubuntu 23.04" + +config TERRAFORM_AWS_AMI_UBUNTU_23_10 + bool "Ubuntu 23.10" + +config TERRAFORM_AWS_AMI_UBUNTU_24_04_LTS + bool "Ubuntu 24.04 LTS" + +config TERRAFORM_AWS_AMI_UBUNTU_24_10 + bool "Ubuntu 24.10" + +config TERRAFORM_AWS_AMI_UBUNTU_25_04 + bool "Ubuntu 25.04" + +endchoice + +config TERRAFORM_AWS_AMI_OWNER + string + output yaml + default "099720109477" + +config TERRAFORM_AWS_NS + string + output yaml + default "ubuntu/images/hvm-ssd/ubuntu-focal-20.04-a*" if TERRAFORM_AWS_AMI_UBUNTU_20_04_LTS + default "ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-a*" if TERRAFORM_AWS_AMI_UBUNTU_22_04_LTS + default "ubuntu/images/hvm-ssd/ubuntu-lunar-23.04-a*" if TERRAFORM_AWS_AMI_UBUNTU_23_04 + default "ubuntu/images/hvm-ssd-gp3/ubuntu-mantic-23.10-a*" if TERRAFORM_AWS_AMI_UBUNTU_23_10 + default "ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-a*" if TERRAFORM_AWS_AMI_UBUNTU_24_04_LTS + default "ubuntu/images/hvm-ssd-gp3/ubuntu-oracular-24.10-a*" if TERRAFORM_AWS_AMI_UBUNTU_24_10 + default "ubuntu/images/hvm-ssd-gp3/ubuntu-plucky-25.04-a*" if TERRAFORM_AWS_AMI_UBUNTU_25_04 + +endif # TERRAFORM_AWS_DISTRO_CANONICAL diff --git a/terraform/aws/kconfigs/Kconfig.compute b/terraform/aws/kconfigs/Kconfig.compute deleted file mode 100644 index bcfcb71c3..000000000 --- a/terraform/aws/kconfigs/Kconfig.compute +++ /dev/null @@ -1,40 +0,0 @@ -choice - prompt "Linux distribution" - default TERRAFORM_AWS_DISTRO_DEBIAN - help - Select a popular Linux distribution to install on your - instances, or use the "Custom AMI image" selection to - choose an image that is off the beaten path. - -config TERRAFORM_AWS_DISTRO_AMAZON - bool "Amazon Linux" - -config TERRAFORM_AWS_DISTRO_DEBIAN - bool "Debian" - -config TERRAFORM_AWS_DISTRO_FEDORA - bool "Fedora Core" - -config TERRAFORM_AWS_DISTRO_RHEL - bool "Red Hat Enterprise Linux" - -config TERRAFORM_AWS_DISTRO_SLES - bool "Suse Linux Enterprise Server" - -config TERRAFORM_AWS_DISTRO_CUSTOM - bool "Custom AMI image" - -endchoice - -config TERRAFORM_AWS_AMI_ARCH - string - output yaml - default "x86_64" if TARGET_ARCH_X86_64 - default "arm64" if TARGET_ARCH_ARM64 - -source "terraform/aws/kconfigs/distros/Kconfig.amazon" -source "terraform/aws/kconfigs/distros/Kconfig.debian" -source "terraform/aws/kconfigs/distros/Kconfig.fedora" -source "terraform/aws/kconfigs/distros/Kconfig.rhel" -source "terraform/aws/kconfigs/distros/Kconfig.sles" -source "terraform/aws/kconfigs/distros/Kconfig.custom" diff --git a/terraform/aws/kconfigs/distros/Kconfig.amazon b/terraform/aws/kconfigs/distros/Kconfig.amazon deleted file mode 100644 index f1fb6edf0..000000000 --- a/terraform/aws/kconfigs/distros/Kconfig.amazon +++ /dev/null @@ -1,44 +0,0 @@ -if TERRAFORM_AWS_DISTRO_AMAZON - -config TERRAFORM_AWS_AMI_OWNER - string - output yaml - default "amazon" - -if TARGET_ARCH_X86_64 - -choice - prompt "Amazon Linux release" - default TERRAFORM_AWS_AMI_AMAZON_X86_64 - -config TERRAFORM_AWS_AMI_AMAZON_X86_64 - bool "Amazon Linux 2023 (x86)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "al2023-*-x86_64" if TERRAFORM_AWS_AMI_AMAZON_X86_64 - -endif # TARGET_ARCH_X86_64 - -if TARGET_ARCH_ARM64 - -choice - prompt "Amazon Linux release" - default TERRAFORM_AWS_AMI_AMAZON_ARM64 - -config TERRAFORM_AWS_AMI_AMAZON_ARM64 - bool "Amazon Linux 2023 (arm64)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "al2023-*-arm64" if TERRAFORM_AWS_AMI_AMAZON_ARM64 - -endif # TARGET_ARCH_ARM64 - -endif # TERRAFORM_AWS_DISTRO_AMAZON diff --git a/terraform/aws/kconfigs/distros/Kconfig.custom b/terraform/aws/kconfigs/distros/Kconfig.custom deleted file mode 100644 index fc1cf0f5a..000000000 --- a/terraform/aws/kconfigs/distros/Kconfig.custom +++ /dev/null @@ -1,35 +0,0 @@ -if TERRAFORM_AWS_DISTRO_CUSTOM - -config TERRAFORM_AWS_AMI_OWNER - string "AWS AMI owner or owner alias" - output yaml - default "amazon" - help - The owner is a string of digits that represents a - collection of published images to search, such as - "137112412989". Sometimes the publisher also provides - an alias, which is a human-readable name of that - collection, such as "aws-marketplace". - -config TERRAFORM_AWS_NS - string "AWS AMI name search expression" - output yaml - help - This option sets a custom aws image search expression to - use. Using this filter glob lets us get the latest AMI for - your preferred OS release. - - To get filter values you can first setup aws cli: - - https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration - - Get your image ami id, for debian 9 amd64 on the us-west1 this is - ami-0adbaf2e0ce044437 so you can run: - - aws ec2 describe-images --image-ids ami-0adbaf2e0ce044437 | grep Name - - For details: - - https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html - -endif # TERRAFORM_AWS_DISTRO_CUSTOM diff --git a/terraform/aws/kconfigs/distros/Kconfig.debian b/terraform/aws/kconfigs/distros/Kconfig.debian deleted file mode 100644 index 40fedcd31..000000000 --- a/terraform/aws/kconfigs/distros/Kconfig.debian +++ /dev/null @@ -1,51 +0,0 @@ -if TERRAFORM_AWS_DISTRO_DEBIAN - -config TERRAFORM_AWS_AMI_OWNER - string - output yaml - default "amazon" - -if TARGET_ARCH_X86_64 - -choice - prompt "Debian Linux release" - default TERRAFORM_AWS_NS_DEBIAN_12_X86_64 - -config TERRAFORM_AWS_NS_DEBIAN_11_X86_64 - bool "Debian 11 Bullseye (x86)" - -config TERRAFORM_AWS_NS_DEBIAN_12_X86_64 - bool "Debian 12 Bookworm (x86)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "debian-11-amd64-*" if TERRAFORM_AWS_NS_DEBIAN_11_X86_64 - default "debian-12-amd64-*" if TERRAFORM_AWS_NS_DEBIAN_12_X86_64 - -endif # TARGET_ARCH_X86_64 - -if TARGET_ARCH_ARM64 - -choice - prompt "Debian Linux release" - default TERRAFORM_AWS_NS_DEBIAN_12_ARM64 - -config TERRAFORM_AWS_NS_DEBIAN_11_ARM64 - bool "Debian 11 Bullseye (arm64)" - -config TERRAFORM_AWS_NS_DEBIAN_12_ARM64 - bool "Debian 12 Bookworm (arm64)" - -endchoice - -config TERRAFORM_AWS_NS - string - default "debian-11-arm64-*" if TERRAFORM_AWS_NS_DEBIAN_11_ARM64 - default "debian-12-arm64-*" if TERRAFORM_AWS_NS_DEBIAN_12_ARM64 - -endif # TARGET_ARCH_ARM64 - -endif # TERRAFORM_AWS_DISTRO_DEBIAN diff --git a/terraform/aws/kconfigs/distros/Kconfig.fedora b/terraform/aws/kconfigs/distros/Kconfig.fedora deleted file mode 100644 index 207abfdce..000000000 --- a/terraform/aws/kconfigs/distros/Kconfig.fedora +++ /dev/null @@ -1,60 +0,0 @@ -if TERRAFORM_AWS_DISTRO_FEDORA - -config TERRAFORM_AWS_AMI_OWNER - string - output yaml - default "125523088429" # Community Platform Engineering - -if TARGET_ARCH_X86_64 - -choice - prompt "Fedora Core release" - default TERRAFORM_AWS_FEDORA40_X86_64 - -config TERRAFORM_AWS_FEDORA40_X86_64 - bool "Fedora 40 (x86_64)" - -config TERRAFORM_AWS_FEDORA41_X86_64 - bool "Fedora 41 (x86_64)" - -config TERRAFORM_AWS_FEDORA42_X86_64 - bool "Fedora 42 (x86_64)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "Fedora-Cloud-Base-AmazonEC2.x86_64-40-*" if TERRAFORM_AWS_FEDORA40_X86_64 - default "Fedora-Cloud-Base-AmazonEC2.x86_64-41-*" if TERRAFORM_AWS_FEDORA41_X86_64 - default "Fedora-Cloud-Base-AmazonEC2.x86_64-42-*" if TERRAFORM_AWS_FEDORA42_X86_64 - -endif # TARGET_ARCH_X86_64 - -if TARGET_ARCH_ARM64 - -choice - prompt "Fedora Core release" - default TERRAFORM_AWS_FEDORA40_ARM64 - -config TERRAFORM_AWS_FEDORA40_ARM64 - bool "Fedora 40 (arm64)" - -config TERRAFORM_AWS_FEDORA41_ARM64 - bool "Fedora 41 (arm64" - -config TERRAFORM_AWS_FEDORA42_ARM64 - bool "Fedora 42 (arm64" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "Fedora-Cloud-Base-AmazonEC2.aarch64-40-*" if TERRAFORM_AWS_FEDORA40_ARM64 - default "Fedora-Cloud-Base-AmazonEC2.aarch64-41-*" if TERRAFORM_AWS_FEDORA41_ARM64 - default "Fedora-Cloud-Base-AmazonEC2.aarch64-42-*" if TERRAFORM_AWS_FEDORA42_ARM64 - -endif # TARGET_ARCH_ARM64 - -endif # TERRAFORM_AWS_DISTRO_FEDORA diff --git a/terraform/aws/kconfigs/distros/Kconfig.rhel b/terraform/aws/kconfigs/distros/Kconfig.rhel deleted file mode 100644 index 35b00c604..000000000 --- a/terraform/aws/kconfigs/distros/Kconfig.rhel +++ /dev/null @@ -1,56 +0,0 @@ -if TERRAFORM_AWS_DISTRO_RHEL - -config TERRAFORM_AWS_AMI_OWNER - string - output yaml - default "amazon" - -if TARGET_ARCH_X86_64 - -choice - prompt "Red Hat Enterprise Linux release" - default TERRAFORM_AWS_RHEL9_X86_64 - -config TERRAFORM_AWS_RHEL8_X86_64 - bool "Red Hat Enterprise Linux 8 (x86)" - -config TERRAFORM_AWS_RHEL9_X86_64 - bool "Red Hat Enterprise Linux 9 (x86)" - -config TERRAFORM_AWS_RHEL10_X86_64 - bool "Red Hat Enterprise Linux 10 (x86)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "RHEL-8.*x86_64-*" if TERRAFORM_AWS_RHEL8_X86_64 - default "RHEL-9.*x86_64-*" if TERRAFORM_AWS_RHEL9_X86_64 - default "RHEL-10.*x86_64-*" if TERRAFORM_AWS_RHEL10_X86_64 - -endif # TARGET_ARCH_X86_64 - -if TARGET_ARCH_ARM64 - -choice - prompt "Red Hat Enterprise Linux release" - default TERRAFORM_AWS_RHEL9_ARM64 - -config TERRAFORM_AWS_RHEL9_ARM64 - bool "Red Hat Enterprise Linux 9 (arm64)" - -config TERRAFORM_AWS_RHEL10_ARM64 - bool "Red Hat Enterprise Linux 10 (arm64)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "RHEL-9.*arm64-*" if TERRAFORM_AWS_RHEL9_ARM64 - default "RHEL-10.*arm64-*" if TERRAFORM_AWS_RHEL10_ARM64 - -endif # TARGET_ARCH_ARM64 - -endif # TERRAFORM_AWS_DISTRO_RHEL diff --git a/terraform/aws/kconfigs/distros/Kconfig.sles b/terraform/aws/kconfigs/distros/Kconfig.sles deleted file mode 100644 index 0d68c67e6..000000000 --- a/terraform/aws/kconfigs/distros/Kconfig.sles +++ /dev/null @@ -1,52 +0,0 @@ -if TERRAFORM_AWS_DISTRO_SLES - -config TERRAFORM_AWS_AMI_OWNER - string - output yaml - default "amazon" - -if TARGET_ARCH_X86_64 - -choice - prompt "Suse Linux Enterprise Server release" - default TERRAFORM_AWS_SLES15_SP4_X86_64 - -config TERRAFORM_AWS_SLES15_SP4_X86_64 - bool "SUSE Linux Enterprise Server 15 SP4 (x86)" - -config TERRAFORM_AWS_SLES15_SP5_X86_64 - bool "SUSE Linux Enterprise Server 15 SP5 (x86)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "suse-sles-15-sp4-*x86_64" if TERRAFORM_AWS_SLES15_SP4_X86_64 - default "suse-sles-15-sp5-*x86_64" if TERRAFORM_AWS_SLES15_SP5_X86_64 - -endif # TARGET_ARCH_X86_64 - -if TARGET_ARCH_ARM64 - -choice - prompt "Suse Linux Enterprise Server release" - default TERRAFORM_AWS_SLES15_SP4_ARM64 - -config TERRAFORM_AWS_SLES15_SP4_ARM64 - bool "SUSE Linux Enterprise Server 15 SP4 (arm64)" - -config TERRAFORM_AWS_SLES15_SP5_ARM64 - bool "SUSE Linux Enterprise Server 15 SP5 (arm64)" - -endchoice - -config TERRAFORM_AWS_NS - string - output yaml - default "suse-sles-15-sp4-*arm64" if TERRAFORM_AWS_SLE15_SP4_ARM64 - default "suse-sles-15-sp5-*arm64" if TERRAFORM_AWS_SLE15_SP5_ARM64 - -endif # TARGET_ARCH_ARM64 - -endif # TERRAFORM_AWS_DISTRO_SLES