---
# all variables prefixed with "vault_" should not be declared here, but in a vault.yml file
#

# the name of the instance or virtual machine to create
# MANDATORY
# instance_name: example

# add the instance to the specified group
# default = all_hosts
# instance_group: webapp

# wait for instance to be reachable via SSH
# MANDATORY
instance_wait_for_connection: false

# set instance typo to linux or windows depending on OS
# MANDATORY
instance_type: linux

# set remove to true to delete instances and all associated resources
remove: false

# the flavor of this instance
# for GCP use n2-standard-2 for a RHAAP node
# for EC2 use t3.large for a RHAAP node
# for Azure use Standard_DS2 for a RHAAP node
# MANDATORY
# except with type: vmware
instance_flavor: t3.large
# GCP allows to set individual disk size for first disk
# value is in GB
# MANDATORY on GCP, optional on AWS, ignored on all other providers
instance_disk_size: 40

# Additional ports to open for in security groups, outside of the default ones, which are:
# Linux: 22, 80, 443
# Windows: 80, 443, 3389, 5986
# instance_additional_port: "3000"

# Additional dictionary of tags to apply to all resources
instance_additional_tags: {}

# in which platform to create the instance or vm
# currently either azure, ec2, gcp, or vmware
# MANDATORY
type: ec2

#
# Amazon AWS
#

# set type to "ec2" to use these settings

# which EC2 region to use
# MANDATORY
ec2_region: "eu-central-1"

# supports raw public key data for use with ansible-navigator
# OPTIONAL (if not set, will try to use existing SSH key pair)
# ec2_key_pair: "ssh-rsa AAAAABBCCCDDDEEEEFFFGGGG"
# optionally point it to a file (does not work with ansible-navigator)
# ec2_key_pair: "/path/to/file"

# which AMI to use as a template
# If not defined AMI will be search based on the filter below (ec2_image_names)
# ami-0f58468b80db2db66 for RHEL 7 in eu-central-1
# MANDATORY: ec2_ami_id or ec2_image_name (see below)
ec2_ami_id: ""

# which AMI's to search from AWS
# RHEL 7: "RHEL-7.9_HVM_GA*x86_64*"
# RHEL 8: "RHEL-8.3_HVM*x86_64*"
# Windows Server 2019 full: "Windows_Server-2019-English-Full-Base*"
# Windows Server 2019 core: "Windows_Server-2019-English-Core-Base*"
# Windows Server 2016 full: "Windows_Server-2016-English-Full-Base*"
# Windows Server 2016 core: "Windows_Server-2016-English-Core-Base*"
# MANDATORY: ec2_ami_id or ec2_image_name
# use aws CLI to get the latest AMI ID
# aws ec2 describe-images --filter "Name=name,Values=RHEL-8.6.0_HVM-*x86_64*"
ec2_image_name: "RHEL-9.8.0_HVM-*x86_64*"

# VPC objects will inherit the instance name if not explicitly overridden
# MANDATORY, default is {{ instance_name }}
# override this variable to add the new instance to an existing VPC
ec2_vpc_name: "{{ instance_name }}"

# EBS Device information (device name, size) to use for the instance and its volume size, to override AWS defaults.
# Root disk for CentOS/RHEL/Windows is /dev/sda1, any other value will create an additional disk.
ec2_ebs_device_name: /dev/sda1

#
# Azure
#

# set typo to "azure" to use these settings

# Azure resource group name
# override this value if you use Azure Open Environment credentials from RHPDS
# MANDATORY
azure_resource_group: "{{ instance_name }}"

# use a specific private network for all instances
azure_private_network: "{{ azure_resource_group }}"

# public key to inject into the Linux instance for SSH
# MANDATORY
azure_ssh_public_key: "{{ azure_ssh_public_key }}"

# standard flavor is 4 CPU, 16 GB RAM
# instance_flavor: Standard_DS4_v3
# get list of images with the following command: (might require you to do az login first)
# az vm image list-skus --output table --offer RHEL --location westeurope --publisher RedHat
# MANDATORY
azure_image_offer: RHEL
azure_image_publisher: RedHat
azure_image_sku: 9-lvm-gen2

# set disk type for this instance
# MANDATORY
azure_disk_type: "StandardSSD_LRS"

#
# Digital Ocean
#

# OAuth Authentication token
# MANDATORY
do_oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"

# Which OS image to use
# MANDATORY
do_image_id: centos-stream-9-x64

# In which region to deploy
# MANDATORY
do_region_id: fra1

# The name of the project
do_project_name: "{{ instance_name }}"

# The name of the firewall
do_firewall_name: "{{ instance_name }}"

# Set this to false to not create firewall for this instance
do_create_firewall: true

# The name of the VPC to connect to. Set this to something else than the default to connect all VMs to the same VPC, preventing you from hitting etc quotas related to number of VPCs
do_vpc_name: "{{ instance_name }}"

#
# Google Cloud
#

# set type to "gcp" to use these settings

# which template to use
# RHEL 7: projects/rhel-cloud/global/images/family/rhel-7
# CentOS 7: projects/centos-cloud/global/images/family/centos-7
# RHEL 8: projects/rhel-cloud/global/images/family/rhel-8
# CentOS 8: projects/centos-cloud/global/images/family/centos-8
# Windows Server 2013: projects/windows-cloud/global/images/family/windows-2019
# MANDATORY
gcp_template: projects/rhel-cloud/global/images/family/rhel-9

# which GCP Region and Zone to use for the new VM
# MANDATORY
gcp_region: europe-west2

# GCP Zone within that region
# MANDATORY
gcp_zone: europe-west2-a

# create resources in a specific project
# MANDATORY
gcp_project: rhaap

# use the specified network name for connecting instance
# this can be helpful if multiple instances are deployed to avoid hitting the quota
gcp_network_name: "{{ instance_name }}"

# SSH public key to access Linux instance
# NOTE: this is only necessary if the SSH keys are not assigned on the project level
# OPTIONAL - either use SSH key data or point to file
# gcp_key_pair: "ssh-rsa AAAAABBCCCDDDEEEEFFFGGGG"
# OR
# gcp_key_pair: "/path/to/file"

#
# VMware
#

# set type to "vmware" to use these settings

vcenter_validate_certs: false

# vmware_datacenter: '<vmware datacenter>'
# vmware_cluster: '<vmware cluster>'
# vmware_folder: '<vmware datacenter>/vm/<folder>'
# vmware_datastore: '<vmw datastore name>'
# vmware_network: '<vmware network>'
# vmware_template: '<existing RHEL 8 template>'
#
# individual instance definition - default values SMALL
instance_parameters:
  vmware_instance_diskgb: '10'
  vmware_instance_memmb: '8192'
  vmware_instance_cpus: '2'

#
# DNS
#

# update DNS records
# MANDATORY
dns_update: false

# the DNS sub domain <dns_suffix>.ansible-labs.de
# MANDATORY if dns_update is true
dns_suffix: example

# the key used to interact with the DNS server
# NOTE: This is the content of the file, not the path to the file
# MANDATORY if dns_update is true
dns_key: "{{ dns_key }}"

# the private key to interact with the DNS server
# NOTE: This is the content of the file, not the path to the file
# MANDATORY if dns_update is true
dns_private: "{{ dns_key_private }}"
