/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: MIT-0 * * Permission is hereby granted, free of charge, to any person obtaining a copy of this * software and associated documentation files (the "Software"), to deal in the Software * without restriction, including without limitation the rights to use, copy, modify, * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.. */ # Generic variables variable "aws_region" { description = "(Required) AWS Region to execute deployment to" } variable "aws_access_key" { description = "(Required) AWS Access key for your account" } variable "aws_secret_key" { description = "(Required) AWS Secret key for your account" } variable "enabled" { default = true description = "(Optional) Enable the provisioning of resources of the module or not" type = bool } # Tags variable "application_code" { description = "(Required) The unique application code for resource naming" type = string } variable "application_name" { description = "(Required) The name of the application being provisioned, ex. 'datamart', 'ecc', 's4hana', etc." type = string } variable "environment_type" { description = "(Required) Environment type of SAP Netweaver system, e.x. 'dev', 'test', 'prod'" type = string } #Networking variable "vpc_id" { description = "(Required) VPC to deploy infrastructure to" type = string } variable "subnet_ids" { description = "(Required) List of subnets for instance distribution" type = list(string) } variable "dns_zone_name" { description = "(Optional) The name of Route53 Private DNS zone. If not provided - DNS record will not be created" default = "" type = string } variable "customer_default_sg_id" { description = "(Optional) List of preexisting security groups to be attached to the instance. The required security groups are created automatically, this is just for mandatory default ones" default = [] } variable "customer_cidr_blocks" { default = [] description = "(Optional) The CIDR blocks to allow end-user connectivity from" type = list(string) } variable "destination_cidr_block_for_ascs_overlay_ip" { default = "192.168.10.10/32" description = "(Optional when HA. Not used for single installation) The IP to add as an overlay IP on Route tables. Example: 192.168.10.10/32" } variable "destination_cidr_block_for_ers_overlay_ip" { default = "192.168.10.12/32" description = "(Optional when HA. Not used for single installation) The IP to add as an overlay IP on Route tables. Example: 192.168.10.10/32" } # Operation System variable "ami_id" { description = "(Required) The AMI id for the underlying OS" type = string } variable "ssh_key" { description = "(Optional) The key pair name for the instances. If not provided - you can use SSM session manager for console access" default = "" type = string } variable "user_data" { description = "(Optional) The user data script for the instance. If none provisioned - default one will be used to install AWS CLI and SSM agent" default = "" type = string } # Security variable "kms_key_arn" { default = "" type = string } variable "default_instance_role" { description = "(Optional) Flag to define whether default instance role should be created" default = true type = bool } variable "iam_instance_role" { description = "(Optional) The IAM role name to be attached to instance profile" default = "" type = string } # SAP parameters variable "sid" { description = "(Required) The System id for the SAP Netweaver system" type = string } variable "high_availability" { default = false description = "If true provision second instances for ASE and ASCS" type = bool } # ASE Database Parameters variable "enable_ha" { default = false description = "(Optional) Define if HA need to be enabled" type = bool } variable "enable_ha_ers" { default = false description = "(Optional) Define if HA need to be enabled for ASCS/ERS" type = bool } variable "ase_instance_type" { description = "(Required) Identifies the instance types to be used for ASE. Should be from the list of certified instances, since the disk sizing is done based on this" type = string } variable "root_volume_size" { default = 50 description = "(Optional) Size in GBs for the root volumes of the instances" type = number } variable "sap_ase_disks_data_storage_type" { default = "gp3" description = "(Optional) EBS Volume type for ase data volumes. Can be gp3 or io1" type = string } variable "sap_ase_disks_logs_storage_type" { default = "gp3" description = "(Optional) EBS Volume type for ase log volumes. Can be gp3 or io1" type = string } variable "sap_ase_disks_backup_storage_type" { default = "st1" description = "(Optional) EBS Volume type for ase backup volumes." type = string } variable "sap_ase_disks_sybase_home_storage_type" { default = "gp3" description = "(Optional) EBS Volume type for ase shared volumes." type = string } variable "sap_ase_disks_sybase_home_size" { default = "100" description = "(Optional) Size in GBs for the ase shared volumes of the instances" type = string } variable "sap_ase_disks_usr_sap_storage_type" { default = "gp3" description = "(Optional) EBS Volume type for ase /usr/sap volumes. " type = string } variable "sap_ase_disks_usr_sap_storage_size" { default = 50 description = "(Optional) Size in GBs for the /usr/sap volumes of the instances" type = number } # Netweaver Application Servers Parameters variable "ascs_instance_type" { default = "m5.xlarge" description = "The instance type for SAP Central Services" type = string } variable "as_instance_type" { default = "m5.xlarge" description = "The instance type for SAP Application Servers" type = string } variable "as_instance_count" { default = 1 description = "Number of application server instances to be provisioned" type = number } variable "ase_instance_count" { default = 1 description = "Number of application server instances to be provisioned" type = number } variable "efs_sapmnt" { default = true description = "(Optional) Flag to define whether EFS File Systems should be provisioned for /sapmnt" type = bool } variable "efs_name" { default = "dir_sapmnt" type = string } variable "efs_trans" { default = true description = "(Optional) Flag to define whether EFS File Systems should be provisioned for /usr/sap/trans" type = bool } variable "efs_name_trans" { default = "dir_trans" type = string } variable "sapmnt_volume_size" { default = 0 description = "(Optional) Size in GBs for the /sapmnt volume. Use it only for non-EFS scenario. Not provisioned if value = 0" type = number } variable "ascs_root_volume_size" { default = 50 description = "(Optional) Size in GBs for the root volumes of the instances" type = number } variable "app_server_root_volume_size" { default = 50 description = "(Optional) Size in GBs for the root volumes of the instances" type = number }