deploy/terraform/run/sap_system/tfvar_variables.tf (1,089 lines of code) (raw):

# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. #######################################4#######################################8 # # # Environment definitioms # # # #######################################4#######################################8 variable "environment" { description = "This is the environment name for the deployment" type = string default = "" } variable "codename" { description = "This is the code name for the deployment" type = string default = "" } variable "Description" { description = "This is the description for the deployment" type = string default = "" } variable "location" { description = "The Azure region for the resources" type = string default = "" } variable "name_override_file" { description = "If provided, contains a json formatted file defining the name overrides" default = "" } variable "custom_prefix" { description = "Optional custom prefix for the deployment" type = string default = "" } variable "use_prefix" { description = "Defines if the resources are to be prefixed" default = true } variable "custom_disk_sizes_filename" { description = "Custom disk configuration json file for Virtual machines" default = "" } variable "use_scalesets_for_deployment" { description = "Use Flexible Virtual Machine Scale Sets for the deployment" default = false } variable "scaleset_id" { description = "If defined the Flexible Virtual Machine Scale Sets for the deployment" default = "" } ######################################################################################### # # # Resource Group variables # # # ######################################################################################### variable "resourcegroup_name" { description = "If provided, the name of the resource group to be created" default = "" } variable "resourcegroup_arm_id" { description = "If provided, the Azure resource group id" default = "" } variable "resourcegroup_tags" { description = "If provided, tags for the resource group" default = {} } variable "prevent_deletion_if_contains_resources" { description = "Controls if resource groups are deleted even if they contain resources" type = bool default = true } ######################################################################################### # # # Infrastructure variables # # # ######################################################################################### variable "proximityplacementgroup_names" { description = "If provided, names of the proximity placement groups" default = [] } variable "proximityplacementgroup_arm_ids" { description = "If provided, azure resource ids for the proximity placement groups" default = [] } variable "use_app_proximityplacementgroups" { description = "Boolean value indicating if an proximity placement group should be used for the app tier VMs" default = false type = bool } variable "app_proximityplacementgroup_names" { description = "If provided, names of the application proximity placement groups" default = [] } variable "app_proximityplacementgroup_arm_ids" { description = "If provided, azure resource ids for the application proximity placement groups" default = [] } variable "use_private_endpoint" { description = "Boolean value indicating if private endpoint should be used for the deployment" default = true type = bool } variable "shared_access_key_enabled" { description = "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key." default = false type = bool } variable "shared_access_key_enabled_nfs" { description = "Indicates whether the storage account used for NFS permits requests to be authorized with the account access key via Shared Key." default = false type = bool } variable "enable_firewall_for_keyvaults_and_storage" { description = "Boolean value indicating if firewall should be enabled for key vaults and storage" default = true type = bool } variable "encryption_at_host_enabled" { description = "Enables host encryption for sap vms" default = false type = bool } variable "data_plane_available" { description = "Boolean value indicating if storage account access is via data plane" default = false type = bool } variable "custom_random_id" { description = "If provided, the value of the custom random id" default = "" } ######################################################################################### # # # Virtual Network variables # # # ######################################################################################### variable "network_logical_name" { description = "The logical name of the virtual network, used for resource naming" default = "" } variable "use_secondary_ips" { description = "Defines if secondary IPs are used for the SAP Systems virtual machines" default = false } #######################################4#######################################8 # # # Admin Subnet variables # # # #######################################4#######################################8 variable "admin_subnet_address_prefix" { description = "The address prefix for the admin subnet" default = "" } variable "admin_subnet_name" { description = "If provided, the name of the admin subnet" default = "" } variable "admin_subnet_arm_id" { description = "If provided, Azure resource id for the admin subnet" default = "" } variable "admin_subnet_nsg_name" { description = "If provided, the name of the admin subnet NSG" default = "" } variable "admin_subnet_nsg_arm_id" { description = "If provided, Azure resource id for the admin subnet NSG" default = "" } #######################################4#######################################8 # # # Database Subnet variables # # # #######################################4#######################################8 variable "db_subnet_name" { description = "If provided, the name of the db subnet" default = "" } variable "db_subnet_arm_id" { description = "If provided, Azure resource id for the db subnet" default = "" } variable "db_subnet_address_prefix" { description = "The address prefix for the db subnet" default = "" } variable "db_subnet_nsg_name" { description = "If provided, the name of the db subnet NSG" default = "" } variable "db_subnet_nsg_arm_id" { description = "If provided, Azure resource id for the db subnet NSG" default = "" } #######################################4#######################################8 # # # Application Subnet variables # # # #######################################4#######################################8 variable "app_subnet_name" { description = "If provided, the name of the app subnet" default = "" } variable "app_subnet_arm_id" { description = "If provided, Azure resource id for the app subnet" default = "" } variable "app_subnet_address_prefix" { description = "The address prefix for the app subnet" default = "" } variable "app_subnet_nsg_name" { description = "If provided, the name of the app subnet NSG" default = "" } variable "app_subnet_nsg_arm_id" { description = "If provided, Azure resource id for the app subnet NSG" default = "" } ######################################################################################### # # # Web Subnet variables # # # ######################################################################################### variable "web_subnet_name" { description = "If provided, the name of the web subnet" default = "" } variable "web_subnet_arm_id" { description = "If provided, Azure resource id for the web subnet" default = "" } variable "web_subnet_address_prefix" { description = "The address prefix for the web subnet" default = "" } variable "web_subnet_nsg_name" { description = "If provided, the name of the web subnet NSG" default = "" } variable "web_subnet_nsg_arm_id" { description = "If provided, Azure resource id for the web subnet NSG" default = "" } ######################################################################################### # # # Storage Subnet variables - Only valid for scale-out configuration # # # ######################################################################################### variable "storage_subnet_name" { description = "If provided, the name of the storage subnet" default = "" } variable "storage_subnet_arm_id" { description = "If provided, Azure resource id for the storage subnet" default = "" } variable "storage_subnet_address_prefix" { description = "The address prefix for the storage subnet" default = "" } variable "storage_subnet_nsg_name" { description = "If provided, the name of the storage subnet NSG" default = "" } variable "storage_subnet_nsg_arm_id" { description = "If provided, Azure resource id for the storage subnet NSG" default = "" } ######################################################################################### # # # Key Vault variables # # # ######################################################################################### variable "user_keyvault_id" { description = "If provided, the Azure resource identifier of the credentials keyvault" default = "" } variable "spn_keyvault_id" { description = "If provided, the Azure resource identifier of the deployment credential keyvault" default = "" } variable "enable_purge_control_for_keyvaults" { description = "Disables the purge protection for Azure keyvaults." default = false type = bool } ######################################################################################### # # # Authentication variables, use these if you want to have SID specific credentials # # # ######################################################################################### variable "automation_username" { description = "The username for the automation account" default = "" } variable "automation_password" { description = "If provided, the password for the automation account" default = "" } variable "automation_path_to_public_key" { description = "If provided, the path to the existing public key for the automation account" default = "" } variable "automation_path_to_private_key" { description = "If provided, the path to the existing private key for the automation account" default = "" } variable "use_spn" { description = "Log in using a service principal when performing the deployment" default = false } ######################################################################################### # # # Cluster settings # # # ######################################################################################### variable "use_msi_for_clusters" { description = "If true, the Pacemaker cluser will use a managed identity" default = false } variable "fencing_role_name" { description = "If specified the role name to use for the fencing agent" default = "Virtual Machine Contributor" } variable "use_simple_mount" { description = "Determine if simple mount needs to be added for SCS and DB clusters" default = false } variable "use_fence_kdump" { description = "Configure fencing device based on the fence agent fence_kdump for both SCS and DB clusters" default = false } variable "use_fence_kdump_size_gb_db" { description = "Default size of the kdump disk which will be attached to the VMs which are part DB cluster" default = 128 } variable "use_fence_kdump_size_gb_scs" { description = "Default size of the kdump disk which will be attached to the VMs which are part of SCS cluster" default = 64 } variable "use_fence_kdump_lun_db" { description = "Default lun number of the kdump disk which will be attached to the VMs which are part of DB cluster" default = 8 } variable "use_fence_kdump_lun_scs" { description = "Default lun number of the kdump disk which will be attached to the VMs which are part of SCS cluster" default = 4 } variable "use_sles_saphanasr_angi" { description = "If true, the SAP HANA SR cluster will be configured with SAP HANA SR - An Next Generation Interface" type = bool default = false } ######################################################################################### # # # Database tier variables # # # ######################################################################################### variable "database_cluster_disk_lun" { description = "The LUN of the shared disk for the Database cluster" default = 8 } variable "database_cluster_disk_size" { description = "The size of the shared disk for the Database cluster" default = 128 } variable "database_cluster_disk_type" { description = "The storage_account_type of the shared disk for the Database cluster" default = "Premium_ZRS" } variable "database_platform" { description = "Database platform, supported values are HANA, DB2, ORACLE, ORACLE-ASM, ASE, SQLSERVER or NONE (in this case no database tier is deployed)" default = "" } variable "database_sid" { description = "The database SID" default = "HDB" } variable "database_server_count" { description = "The number of database servers" default = 1 } variable "database_high_availability" { description = "If true, the database tier will be configured for high availability" default = false } variable "database_cluster_type" { description = "Cluster quorum type; AFA (Azure Fencing Agent), ASD (Azure Shared Disk), ISCSI" default = "AFA" } variable "database_vm_zones" { description = "If provided, the database tier will be deployed in the specified zones" default = [] } variable "database_size" { description = "Dictionary key value to sizing json" default = "" } variable "database_vm_sku" { description = "The Virtual Machine SKU to use for the database virtual machines" default = "" } variable "db_sizing_dictionary_key" { description = "Dictionary value to sizing json" default = "" } variable "db_disk_sizes_filename" { description = "Custom disk configuration json file for database tier" default = "" } variable "database_vm_image" { description = "Virtual machine image to use for the database server" default = { "os_type" = "LINUX" "source_image_id" = "" "publisher" = "" "offer" = "" "sku" = "" "version" = "" "type" = "custom" } } variable "database_vm_authentication_type" { description = "Authentication type for the database server" default = "key" } variable "database_vm_avset_arm_ids" { description = "If provided, Azure resource ids for the availability sets to use for the database servers" default = [] } variable "database_vm_use_DHCP" { description = "If true, the database server will use Azure provided IP addresses" default = false } variable "database_instance_number" { description = "The Instance number for the database server" default = "00" } variable "database_no_avset" { description = "[Obsolete] If true, the database tier will not use an availability set" default = null } variable "database_use_avset" { description = "If true, the database tier will use an availability set" default = null validation { condition = ( tobool(var.database_use_avset) != null ) error_message = "database_use_avset is not defined, please define it in your tfvars file." } } variable "database_dual_nics" { description = "If true, the database tier will have be deployed with two network interfaces" default = false } variable "database_no_ppg" { description = "[Obsolete] If provided, the database tier will not be placed in a proximity placement group" default = null } variable "database_use_ppg" { description = "If provided, the database tier will be placed in a proximity placement group" default = null validation { condition = ( tobool(var.database_use_ppg) != null ) error_message = "database_use_ppg is not defined, please define it in your tfvars file." } } variable "database_loadbalancer_ips" { description = "If provided, the database tier's load balancer will be configured with the specified load balancer IPs" default = [] } variable "database_tags" { description = "If provided, the database tier virtual machines will be configured with the specified tags" default = {} } variable "database_vm_db_nic_ips" { description = "If provided, the database tier virtual machines will be configured using the specified IPs" default = [""] } variable "database_vm_db_nic_secondary_ips" { description = "If provided, the database tier virtual machines will be configured using the specified IPs as secondary IPs" default = [""] } variable "database_vm_admin_nic_ips" { description = "If provided, the database tier virtual machines will be configured with the specified IPs (admin subnet)" default = [""] } variable "database_vm_storage_nic_ips" { description = "If provided, the database tier virtual machines will be configured with the specified IPs (storage subnet)" default = [""] } variable "database_use_premium_v2_storage" { description = "If true, the database tier will use premium storage v2" default = false } variable "database_active_active" { description = "If true, database will deployed with Active/Active (read enabled) configuration, only supported for HANA" default = false } ######################################################################################### # # # Observer variables # # # ######################################################################################### variable "use_observer" { description = "If true, an observer virtual machine will be used" default = true } variable "observer_nic_ips" { description = "If provided, the database tier observer virtual machines will be configured with the specified IPs (db subnet)" default = [""] } ######################################################################################### # # # Application tier variables # # # ######################################################################################### variable "enable_app_tier_deployment" { description = "If true, the application tier will be deployed" default = true } variable "app_tier_authentication_type" { description = "App tier authentication type" default = "key" } variable "sid" { description = "Application SID" default = "" } variable "app_tier_use_DHCP" { description = "If true, the application tier virtual machines will use Azure provided IP addresses" default = false } variable "app_tier_dual_nics" { description = "If true, the application tier virtual machines will have two NICs" default = false } variable "app_tier_vm_sizing" { description = "Dictionary value to sizing json" default = "" } variable "app_tier_sizing_dictionary_key" { description = "Dictionary value to sizing json" default = "" } variable "app_disk_sizes_filename" { description = "Custom disk configuration json file for application tier" default = "" } ######################################################################################### # # # SAP Central Services tier variables # # # ######################################################################################### variable "scs_server_count" { description = "The number of SAP Central Services servers to deploy" default = 0 } variable "scs_high_availability" { description = "If true, the SAP Central Services tier will be configured for high availability" default = false } variable "scs_cluster_type" { description = "Cluster quorum type; AFA (Azure Fencing Agent), ASD (Azure Shared Disk), ISCSI" default = "AFA" } variable "scs_server_zones" { description = "If provided, the SAP Central Services tier will be deployed in the specified zones" default = [] } variable "scs_server_image" { description = "Virtual machine image to use for the SAP Central Services server(s)" default = { "os_type" = "LINUX" "source_image_id" = "" "publisher" = "" "offer" = "" "sku" = "" "version" = "" "type" = "Custom" } } variable "scs_instance_number" { description = "The instance number for SCS" default = "00" } variable "ers_instance_number" { description = "The instance number for ERS" default = "02" } variable "scs_server_app_nic_ips" { description = "If provided, the SAP Central Services virtual machines will be configured with the specified IPs" default = [] } variable "scs_server_nic_secondary_ips" { description = "If provided, the SAP Central Services virtual machines will be configured with the specified IPs as secondary IPs" default = [] } variable "scs_server_admin_nic_ips" { description = "If provided, the SAP Central Services virtual machines will be configured with the specified IPs (admin subnet)" default = [] } variable "scs_server_loadbalancer_ips" { description = "If provided, the SAP Central Services virtual machines will be configured with the specified load balancer IPs" default = [] } variable "scs_server_sku" { description = "The Virtual Machine SKU to use for the SAP Central Services virtual machines" default = "" } variable "scs_server_tags" { description = "If provided, the SAP Central Services tier will be configured with the specified tags" default = {} } variable "scs_server_no_avset" { description = "[Obsolete] If true, the SAP Central Services tier will not use an availability set" default = null } variable "scs_server_use_avset" { description = "If true, the SAP Central Services tier will be placed in an availability set" default = null validation { condition = ( tobool(var.scs_server_use_avset) != null ) error_message = "scs_server_use_avset is not defined, please define it in your tfvars file." } } variable "scs_server_no_ppg" { description = "[Obsolete] If provided, the Central Services will not be placed in a proximity placement group" default = null } variable "scs_server_use_ppg" { description = "If provided, the Central Services will be placed in a proximity placement group" default = null validation { condition = ( tobool(var.scs_server_use_ppg) != null ) error_message = "scs_server_use_ppg is not defined, please define it in your tfvars file." } } variable "scs_cluster_disk_lun" { description = "The LUN of the shared disk for the SAP Central Services cluster" default = 5 } variable "scs_cluster_disk_size" { description = "The size of the shared disk for the SAP Central Services cluster" default = 128 } variable "scs_cluster_disk_type" { description = "The storage_account_type of the shared disk for the SAP Central Services cluster" default = "Premium_ZRS" } ######################################################################################### # # # Application Server variables # # # ######################################################################################### variable "application_server_count" { description = "The number of application servers" default = 0 } variable "pas_instance_number" { description = "The Instance number for the Primary Application Server" default = "00" } variable "app_instance_number" { description = "The Instance number for the Application Server Imnstance" default = "00" } variable "application_server_app_nic_ips" { description = "IP addresses for the application servers" default = [] } variable "application_server_nic_secondary_ips" { description = "IP addresses for the application servers" default = [] } variable "application_server_admin_nic_ips" { description = "IP addresses for the application servers (admin subnet)" default = [] } variable "application_server_sku" { description = "The SKU for the application servers" default = "" } variable "application_server_tags" { description = "The tags for the application servers" default = {} } variable "application_server_zones" { description = "The zones for the application servers" default = [] } variable "application_server_vm_avset_arm_ids" { description = "If provided, Azure resource ids for the availability sets to use for the application servers" default = [] } variable "application_server_no_avset" { description = "[Obsolete]If true, the application tier will not be placed availability set" default = null } variable "application_server_use_avset" { description = "If true, the application tier will be placed in an availability set" default = null validation { condition = ( tobool(var.application_server_use_avset) != null ) error_message = "application_server_use_avset is not defined, please define it in your tfvars file." } } variable "application_server_no_ppg" { description = "[Obsolete]If provided, the application servers will not be placed in a proximity placement group" default = null } variable "application_server_use_ppg" { description = "If provided, the application servers will be placed in a proximity placement group" default = null validation { condition = ( tobool(var.application_server_use_ppg) != null ) error_message = "application_server_use_ppg is not defined, please define it in your tfvars file." } } variable "application_server_image" { description = "Virtual machine image to use for the application server" default = { "os_type" = "LINUX" "source_image_id" = "" "publisher" = "" "offer" = "" "sku" = "" "version" = "" } } ######################################################################################### # # # Web Dispatcher variables # # # ######################################################################################### variable "webdispatcher_server_count" { description = "The number of web dispatchers" default = 0 } variable "web_sid" { description = "The sid of the web dispatchers" default = "" } variable "web_instance_number" { description = "The Instance number for the Web dispatcher" default = "00" } variable "webdispatcher_server_zones" { description = "The zones for the web dispatchers" default = [] } variable "webdispatcher_server_image" { description = "Virtual machine image to use for the web dispatchers" default = { "os_type" = "LINUX" "source_image_id" = "" "publisher" = "" "offer" = "" "sku" = "" "version" = "" } } variable "webdispatcher_server_app_nic_ips" { description = "The IP addresses for the web dispatchers" default = [] } variable "webdispatcher_server_nic_secondary_ips" { description = "If provided, the Web Dispatchers will be configured with the specified IPs as secondary IPs" default = [] } variable "webdispatcher_server_admin_nic_ips" { description = "The IP addresses for the web dispatchers (admin subnet)" default = [] } variable "webdispatcher_server_loadbalancer_ips" { description = "If provided, the Web Dispatcher tier will be configured with the specified load balancer IPs" default = [] } variable "webdispatcher_server_sku" { description = "The SKU for the web dispatchers" default = "" } variable "webdispatcher_server_tags" { description = "The tags for the web dispatchers" default = {} } variable "webdispatcher_server_no_avset" { description = "[OBSOLUTE]If true, the Web Dispatcher tier will not use an availability set" default = null } variable "webdispatcher_server_use_avset" { description = "If true, the Web Dispatcher tier will will be placed in an availability set" default = false } variable "webdispatcher_server_no_ppg" { description = "[OBSOLUTE]If provided, the web dispatchers will not be placed in a proximity placement group" default = null } variable "webdispatcher_server_use_ppg" { description = "If provided, the web dispatchers will be placed in a proximity placement group" default = null } ######################################################################################### # # # Miscallaneous settings # # # ######################################################################################### variable "resource_offset" { description = "Provides an offset for the resource names (Server00 vs Server01)" default = 0 } variable "deploy_v1_monitoring_extension" { description = "Defines if the Microsoft.AzureCAT.AzureEnhancedMonitoring extension will be deployed" default = true } variable "vm_disk_encryption_set_id" { description = "If provided, the VM disks will be encrypted with the specified disk encryption set" default = "" } variable "nsg_asg_with_vnet" { description = "If true, the network security group will be placed in the resource group containing the VNet" default = false } variable "legacy_nic_order" { description = "If defined, will reverse the order of the NICs" default = false } variable "use_loadbalancers_for_standalone_deployments" { description = "If defined, will use load balancers for standalone deployments" default = true } variable "idle_timeout_scs_ers" { description = "Sets the idle timeout setting for the SCS and ERS loadbalancer" default = 30 } variable "bom_name" { description = "Name of the SAP Application Bill of Material file" default = "" } variable "Agent_IP" { description = "If provided, contains the IP address of the agent" type = string default = "" } variable "add_Agent_IP" { description = "Boolean value indicating if the Agent IP should be added to the storage and key vault firewalls" default = true type = bool } variable "shared_home" { description = "If defined provides shared-home support" default = false } variable "save_naming_information" { description = "If defined, will save the naming information for the resources" default = false } variable "deploy_application_security_groups" { description = "Defines if application security groups should be deployed" default = true } variable "user_assigned_identity_id" { description = "If provided defines the user assigned identity to assign to the virtual machines" default = "" } ######################################################################################### # # # DNS settings # # # ######################################################################################### variable "use_custom_dns_a_registration" { description = "Boolean value indicating if a custom dns a record should be created when using private endpoints" default = false type = bool } variable "management_dns_subscription_id" { description = "String value giving the possibility to register custom dns a records in a separate subscription" default = "" type = string } variable "management_dns_resourcegroup_name" { description = "String value giving the possibility to register custom dns a records in a separate resourcegroup" default = "" type = string } variable "privatelink_dns_subscription_id" { description = "String value giving the possibility to register custom PrivateLink DNS A records in a separate subscription" default = "" type = string } variable "privatelink_dns_resourcegroup_name" { description = "String value giving the possibility to register custom PrivateLink DNS A records in a separate resourcegroup" default = "" type = string } variable "dns_zone_names" { description = "Private DNS zone names" type = map(string) default = { "file_dns_zone_name" = "privatelink.file.core.windows.net" "blob_dns_zone_name" = "privatelink.blob.core.windows.net" "vault_dns_zone_name" = "privatelink.vaultcore.azure.net" } } variable "dns_a_records_for_secondary_names" { description = "Boolean value indicating if dns a records should be created for the secondary DNS names" default = true type = bool } variable "register_endpoints_with_dns" { description = "Boolean value indicating if endpoints should be registered to the dns zone" default = true type = bool } variable "register_storage_accounts_keyvaults_with_dns" { description = "Boolean value indicating if storage accounts and key vaults should be registered to the corresponding dns zones" default = true type = bool } ######################################################################################### # # # NFS and Shared Filed settings # # # ######################################################################################### variable "NFS_provider" { description = "NFS Provider, valid values are 'AFS', 'ANF' or 'NONE'" type = string default = "NONE" } variable "sapmnt_volume_size" { description = "sapmnt volume size in GB" default = 128 } variable "azure_files_sapmnt_id" { description = "Azure File Share ID for SAPMNT" default = "" } variable "use_random_id_for_storageaccounts" { description = "If true, will use random id for storage accounts" default = false } variable "sapmnt_private_endpoint_id" { description = "Azure Resource Identifier for an private endpoint connection" type = string default = "" } ######################################################################################### # # # ANF settings # # # ######################################################################################### variable "ANF_HANA_use_AVG" { description = "Use Application Volume Group for data volume" default = false } variable "ANF_HANA_use_Zones" { description = "Use zonal ANF deployments" default = false } # Data volume variable "ANF_HANA_data" { description = "If defined, will create ANF volumes for HANA data" default = false } variable "ANF_HANA_data_volume_size" { description = "If defined provides the size of the HANA data volume" default = 512 } variable "ANF_HANA_data_use_existing_volume" { description = "Use existing data volume" default = false } variable "ANF_HANA_data_volume_name" { description = "Data volume name" default = [""] } variable "ANF_HANA_data_volume_throughput" { description = "If defined provides the throughput of the data volume" default = 128 } variable "ANF_HANA_data_volume_count" { description = "If defined provides the number of data volumes" default = 1 } # Log volume variable "ANF_HANA_log" { description = "If defined, will create ANF volumes for HANA log" default = false } variable "ANF_HANA_log_volume_size" { description = "If defined provides the size of the HANA log volume" default = 512 } variable "ANF_HANA_log_use_existing" { description = "Use existing log volume" default = false } variable "ANF_HANA_log_volume_name" { description = "Log volume name" default = [""] } variable "ANF_HANA_log_volume_throughput" { description = "If defined provides the throughput of the log volume" default = 128 } variable "ANF_HANA_log_volume_count" { description = "If defined provides the number of data volumes" default = 1 } # Shared volume variable "ANF_HANA_shared" { description = "If defined, will create ANF volumes for HANA shared" default = false } variable "ANF_HANA_shared_volume_size" { description = "If defined provides the size of the HANA shared volume" default = 512 } variable "ANF_HANA_shared_use_existing" { description = "Use existing shared volume" default = false } variable "ANF_HANA_shared_volume_name" { description = "If defined provides the name of the HANA shared volume" default = 512 } variable "ANF_HANA_shared_volume_throughput" { description = "If defined provides the throughput of the /shared volume" default = 128 } # /usr/sap variable "ANF_usr_sap" { description = "If defined, will create ANF volumes for /usr/sap" default = false } variable "ANF_usr_sap_volume_size" { description = "If defined provides the size of the /usr/sap volume" default = 512 } variable "ANF_usr_sap_use_existing" { description = "Use existing /usr/sap volume" default = false } variable "ANF_usr_sap_volume_name" { description = "If defined provides the name of the /usr/sap volume" default = "" } variable "ANF_usr_sap_throughput" { description = "If defined provides the throughput of the /usr/sap volume" default = 128 } # /sapmnt variable "ANF_sapmnt" { description = "If defined, will create ANF volumes for /sapmnt" default = false } variable "ANF_sapmnt_use_existing" { description = "Use existing sapmnt volume" default = false } variable "ANF_sapmnt_use_clone_in_secondary_zone" { description = "Create a clone in the secondary region" default = false } variable "ANF_sapmnt_volume_name" { description = "sapmnt volume name" default = "" } variable "ANF_sapmnt_volume_size" { description = "If defined provides the size of the sapmnt volume" default = 64 } variable "ANF_sapmnt_volume_throughput" { description = "If defined provides the throughput of the sapmnt volume" default = 64 } ######################################################################################### # # # Anchor VM variables # # # ######################################################################################### variable "deploy_anchor_vm" { description = "If defined, will deploy the Anchor VM to anchor the PPG" default = false } variable "anchor_vm_sku" { description = "SKU of the Anchor VM" default = "Standard_D2s_v4" } variable "anchor_vm_use_DHCP" { description = "If defined, will use Azure provided IP addresses for the Anchor VM" default = false } variable "anchor_vm_image" { description = "Image of the Anchor VM" default = { "os_type" = "LINUX" "source_image_id" = "" "publisher" = "SUSE" "offer" = "sles-sap-15-sp5" "sku" = "gen2" "version" = "latest" } } variable "anchor_vm_authentication_type" { description = "Authentication type of the Anchor VM" default = "key" } variable "anchor_vm_authentication_username" { description = "value of the username for the Anchor VM" default = "azureadm" } variable "anchor_vm_nic_ips" { description = "IP addresses of the NICs for the Anchor VM" default = [] } variable "anchor_vm_accelerated_networking" { description = "If defined, will enable accelerated networking for the Anchor VM" default = true } variable "subscription_id" { description = "Target subscription" default = "" } ######################################################################################### # # # Azure Monitor for SAP variables # # # ######################################################################################### variable "ams_resource_id" { description = "[optional] If defined, will use the specified Azure Monitor for SAP instance, else will use the AMS instance in the workload zone." default = "" } variable "enable_ha_monitoring" { description = "If defined, will enable prometheus high availability cluster monitoring" default = false } variable "enable_os_monitoring" { description = "If defined, will enable prometheus os monitoring" default = false } ######################################################################################### # # # Configuration values # # # ######################################################################################### variable "configuration_settings" { description = "This is a dictionary that will contain values persisted to the sap-parameters.file" default = {} } variable "upgrade_packages" { description = "If defined, will upgrade the packages on the virtual machines" default = false } variable "tags" { description = "If provided, tags for all resources" default = {} } variable "deploy_monitoring_extension" { description = "If defined, will add the Microsoft.Azure.Monitor.AzureMonitorLinuxAgent extension to the virtual machines" default = true } variable "deploy_defender_extension" { description = "If defined, will add the Microsoft.Azure.Security.Monitoring extension to the virtual machines" default = false } variable "patch_mode" { description = "If defined, define the patch mode for the virtual machines" default = "ImageDefault" } variable "patch_assessment_mode" { description = "If defined, define the patch mode for the virtual machines" default = "ImageDefault" } ######################################################################################### # # # Scaleout variables # # # ######################################################################################### variable "database_HANA_use_scaleout_scenario" { description = "If true, the database tier will be configured for scaleout scenario" default = false } variable "database_HANA_no_standby_role" { description = "If true, the database scale out tier will not have a standby role" default = false } variable "stand_by_node_count" { description = "The number of standby nodes" default = 0 } variable "hanashared_private_endpoint_id" { description = "The Azure Resource identifier for the private endpoint connection to the HANA shared volume" default = [] } variable "hanashared_id" { description = "The Azure Resource identifier for the HANA shared volume storage account" default = [] } ######################################################################################### # # # SAP CAL Integration variables # # # ######################################################################################### variable "enable_sap_cal" { description = "If true, will enable the SAP CAL integration" default = false } variable "calapi_kv" { description = "The SAP CAL API Key Vault" default = "" } variable "sap_cal_product_name" { description = "If defined, will use SAP CAL for system installation" default = "" }