mirror of https://github.com/OpenVidu/openvidu.git
openvidu-deployment: Refactor Azure VM size parameters for OpenVidu deployment ARM support.
parent
0cfc342153
commit
75fc732c69
|
|
@ -45,141 +45,8 @@ param initialMeetApiKey string = ''
|
|||
|
||||
|
||||
// Azure instance config
|
||||
@description('Specifies the azure vm size for your OpenVidu instance')
|
||||
@allowed([
|
||||
'Standard_B1s'
|
||||
'Standard_B1ms'
|
||||
'Standard_B2s'
|
||||
'Standard_B2ms'
|
||||
'Standard_B4ms'
|
||||
'Standard_B8ms'
|
||||
'Standard_D2_v3'
|
||||
'Standard_D4_v3'
|
||||
'Standard_D8_v3'
|
||||
'Standard_D16_v3'
|
||||
'Standard_D32_v3'
|
||||
'Standard_D48_v3'
|
||||
'Standard_D64_v3'
|
||||
'Standard_D2_v4'
|
||||
'Standard_D4_v4'
|
||||
'Standard_D8_v4'
|
||||
'Standard_D16_v4'
|
||||
'Standard_D32_v4'
|
||||
'Standard_D48_v4'
|
||||
'Standard_D64_v4'
|
||||
'Standard_D96_v4'
|
||||
'Standard_D2_v5'
|
||||
'Standard_D4_v5'
|
||||
'Standard_D8_v5'
|
||||
'Standard_D16_v5'
|
||||
'Standard_D32_v5'
|
||||
'Standard_D48_v5'
|
||||
'Standard_D64_v5'
|
||||
'Standard_D96_v5'
|
||||
'Standard_D2ps_v5'
|
||||
'Standard_D4ps_v5'
|
||||
'Standard_D8ps_v5'
|
||||
'Standard_D16ps_v5'
|
||||
'Standard_D32ps_v5'
|
||||
'Standard_D48ps_v5'
|
||||
'Standard_D64ps_v5'
|
||||
'Standard_D2pls_v5'
|
||||
'Standard_D4pls_v5'
|
||||
'Standard_D8pls_v5'
|
||||
'Standard_D16pls_v5'
|
||||
'Standard_D32pls_v5'
|
||||
'Standard_D48pls_v5'
|
||||
'Standard_D64pls_v5'
|
||||
'Standard_D96ps_v5'
|
||||
'Standard_F2'
|
||||
'Standard_F4'
|
||||
'Standard_F8'
|
||||
'Standard_F16'
|
||||
'Standard_F32'
|
||||
'Standard_F64'
|
||||
'Standard_F72'
|
||||
'Standard_F2s_v2'
|
||||
'Standard_F4s_v2'
|
||||
'Standard_F8s_v2'
|
||||
'Standard_F16s_v2'
|
||||
'Standard_F32s_v2'
|
||||
'Standard_F64s_v2'
|
||||
'Standard_F72s_v2'
|
||||
'Standard_E2_v3'
|
||||
'Standard_E4_v3'
|
||||
'Standard_E8_v3'
|
||||
'Standard_E16_v3'
|
||||
'Standard_E32_v3'
|
||||
'Standard_E48_v3'
|
||||
'Standard_E64_v3'
|
||||
'Standard_E96_v3'
|
||||
'Standard_E2_v4'
|
||||
'Standard_E4_v4'
|
||||
'Standard_E8_v4'
|
||||
'Standard_E16_v4'
|
||||
'Standard_E32_v4'
|
||||
'Standard_E48_v4'
|
||||
'Standard_E64_v4'
|
||||
'Standard_E2_v5'
|
||||
'Standard_E4_v5'
|
||||
'Standard_E8_v5'
|
||||
'Standard_E16_v5'
|
||||
'Standard_E32_v5'
|
||||
'Standard_E48_v5'
|
||||
'Standard_E64_v5'
|
||||
'Standard_E96_v5'
|
||||
'Standard_E2ps_v5'
|
||||
'Standard_E4ps_v5'
|
||||
'Standard_E8ps_v5'
|
||||
'Standard_E16ps_v5'
|
||||
'Standard_E20ps_v5'
|
||||
'Standard_E32ps_v5'
|
||||
'Standard_E48ps_v5'
|
||||
'Standard_E64ps_v5'
|
||||
'Standard_E96ps_v5'
|
||||
'Standard_M64'
|
||||
'Standard_M128'
|
||||
'Standard_M208ms_v2'
|
||||
'Standard_M416ms_v2'
|
||||
'Standard_L4s_v2'
|
||||
'Standard_L8s_v2'
|
||||
'Standard_L16s_v2'
|
||||
'Standard_L32s_v2'
|
||||
'Standard_L64s_v2'
|
||||
'Standard_L80s_v2'
|
||||
'Standard_NC6'
|
||||
'Standard_NC12'
|
||||
'Standard_NC24'
|
||||
'Standard_NC24r'
|
||||
'Standard_ND6s'
|
||||
'Standard_ND12s'
|
||||
'Standard_ND24s'
|
||||
'Standard_ND24rs'
|
||||
'Standard_NV6'
|
||||
'Standard_NV12'
|
||||
'Standard_NV24'
|
||||
'Standard_H8'
|
||||
'Standard_H16'
|
||||
'Standard_H16r'
|
||||
'Standard_H16mr'
|
||||
'Standard_HB120rs_v2'
|
||||
'Standard_HC44rs'
|
||||
'Standard_DC2s'
|
||||
'Standard_DC4s'
|
||||
'Standard_DC2s_v2'
|
||||
'Standard_DC4s_v2'
|
||||
'Standard_DC8s_v2'
|
||||
'Standard_DC16s_v2'
|
||||
'Standard_DC32s_v2'
|
||||
'Standard_A1_v2'
|
||||
'Standard_A2_v2'
|
||||
'Standard_A4_v2'
|
||||
'Standard_A8_v2'
|
||||
'Standard_A2m_v2'
|
||||
'Standard_A4m_v2'
|
||||
'Standard_A8m_v2'
|
||||
])
|
||||
param instanceType string = 'Standard_B2s' // Azure instance types.
|
||||
@description('Specifies the azure vm size for your OpenVidu instance. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes.')
|
||||
param instanceType string = 'Standard_B4s'
|
||||
|
||||
@description('Username for the Virtual Machine.')
|
||||
param adminUsername string
|
||||
|
|
@ -198,34 +65,14 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none'
|
|||
//Condition for the domain name
|
||||
var isEmptyDomain = domainName == ''
|
||||
|
||||
var arm64InstanceTypes = [
|
||||
'standard_d2ps_v5'
|
||||
'standard_d4ps_v5'
|
||||
'standard_d8ps_v5'
|
||||
'standard_d16ps_v5'
|
||||
'standard_d32ps_v5'
|
||||
'standard_d48ps_v5'
|
||||
'standard_d64ps_v5'
|
||||
'standard_d2pls_v5'
|
||||
'standard_d4pls_v5'
|
||||
'standard_d8pls_v5'
|
||||
'standard_d16pls_v5'
|
||||
'standard_d32pls_v5'
|
||||
'standard_d48pls_v5'
|
||||
'standard_d64pls_v5'
|
||||
'standard_d96ps_v5'
|
||||
'standard_e2ps_v5'
|
||||
'standard_e4ps_v5'
|
||||
'standard_e8ps_v5'
|
||||
'standard_e16ps_v5'
|
||||
'standard_e20ps_v5'
|
||||
'standard_e32ps_v5'
|
||||
'standard_e48ps_v5'
|
||||
'standard_e64ps_v5'
|
||||
'standard_e96ps_v5'
|
||||
]
|
||||
// ARM64 instances are detected by checking for 'p' in the instance type name pattern.
|
||||
// Azure ARM-based VMs use 'p' to indicate ARM processors (Ampere Altra, Microsoft Cobalt, etc.)
|
||||
// Examples: Standard_D2ps_v5, Standard_E4pds_v5, Standard_B2pls_v2, etc.
|
||||
// The pattern checks for 'p' followed by optional letters (like 'l', 'd', 's') before '_v' version suffix
|
||||
var instanceTypeLower = toLower(instanceType)
|
||||
var isArm64Instance = contains(instanceTypeLower, 'ps_v') || contains(instanceTypeLower, 'pls_v') || contains(instanceTypeLower, 'pds_v') || contains(instanceTypeLower, 'plds_v') || contains(instanceTypeLower, 'psv') || contains(instanceTypeLower, 'plsv') || contains(instanceTypeLower, 'pdsv') || contains(instanceTypeLower, 'pldsv')
|
||||
|
||||
var ubuntuSku = contains(arm64InstanceTypes, toLower(instanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var ubuntuSku = isArm64Instance ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
|
||||
//Variables for deployment
|
||||
var networkSettings = {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"_generator": {
|
||||
"name": "bicep",
|
||||
"version": "0.37.4.10188",
|
||||
"templateHash": "2317567583079726758"
|
||||
"templateHash": "15500404754597159784"
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
|
|
@ -91,142 +91,9 @@
|
|||
},
|
||||
"instanceType": {
|
||||
"type": "string",
|
||||
"defaultValue": "Standard_B2s",
|
||||
"allowedValues": [
|
||||
"Standard_B1s",
|
||||
"Standard_B1ms",
|
||||
"Standard_B2s",
|
||||
"Standard_B2ms",
|
||||
"Standard_B4ms",
|
||||
"Standard_B8ms",
|
||||
"Standard_D2_v3",
|
||||
"Standard_D4_v3",
|
||||
"Standard_D8_v3",
|
||||
"Standard_D16_v3",
|
||||
"Standard_D32_v3",
|
||||
"Standard_D48_v3",
|
||||
"Standard_D64_v3",
|
||||
"Standard_D2_v4",
|
||||
"Standard_D4_v4",
|
||||
"Standard_D8_v4",
|
||||
"Standard_D16_v4",
|
||||
"Standard_D32_v4",
|
||||
"Standard_D48_v4",
|
||||
"Standard_D64_v4",
|
||||
"Standard_D96_v4",
|
||||
"Standard_D2_v5",
|
||||
"Standard_D4_v5",
|
||||
"Standard_D8_v5",
|
||||
"Standard_D16_v5",
|
||||
"Standard_D32_v5",
|
||||
"Standard_D48_v5",
|
||||
"Standard_D64_v5",
|
||||
"Standard_D96_v5",
|
||||
"Standard_D2ps_v5",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D8ps_v5",
|
||||
"Standard_D16ps_v5",
|
||||
"Standard_D32ps_v5",
|
||||
"Standard_D48ps_v5",
|
||||
"Standard_D64ps_v5",
|
||||
"Standard_D2pls_v5",
|
||||
"Standard_D4pls_v5",
|
||||
"Standard_D8pls_v5",
|
||||
"Standard_D16pls_v5",
|
||||
"Standard_D32pls_v5",
|
||||
"Standard_D48pls_v5",
|
||||
"Standard_D64pls_v5",
|
||||
"Standard_D96ps_v5",
|
||||
"Standard_F2",
|
||||
"Standard_F4",
|
||||
"Standard_F8",
|
||||
"Standard_F16",
|
||||
"Standard_F32",
|
||||
"Standard_F64",
|
||||
"Standard_F72",
|
||||
"Standard_F2s_v2",
|
||||
"Standard_F4s_v2",
|
||||
"Standard_F8s_v2",
|
||||
"Standard_F16s_v2",
|
||||
"Standard_F32s_v2",
|
||||
"Standard_F64s_v2",
|
||||
"Standard_F72s_v2",
|
||||
"Standard_E2_v3",
|
||||
"Standard_E4_v3",
|
||||
"Standard_E8_v3",
|
||||
"Standard_E16_v3",
|
||||
"Standard_E32_v3",
|
||||
"Standard_E48_v3",
|
||||
"Standard_E64_v3",
|
||||
"Standard_E96_v3",
|
||||
"Standard_E2_v4",
|
||||
"Standard_E4_v4",
|
||||
"Standard_E8_v4",
|
||||
"Standard_E16_v4",
|
||||
"Standard_E32_v4",
|
||||
"Standard_E48_v4",
|
||||
"Standard_E64_v4",
|
||||
"Standard_E2_v5",
|
||||
"Standard_E4_v5",
|
||||
"Standard_E8_v5",
|
||||
"Standard_E16_v5",
|
||||
"Standard_E32_v5",
|
||||
"Standard_E48_v5",
|
||||
"Standard_E64_v5",
|
||||
"Standard_E96_v5",
|
||||
"Standard_E2ps_v5",
|
||||
"Standard_E4ps_v5",
|
||||
"Standard_E8ps_v5",
|
||||
"Standard_E16ps_v5",
|
||||
"Standard_E20ps_v5",
|
||||
"Standard_E32ps_v5",
|
||||
"Standard_E48ps_v5",
|
||||
"Standard_E64ps_v5",
|
||||
"Standard_E96ps_v5",
|
||||
"Standard_M64",
|
||||
"Standard_M128",
|
||||
"Standard_M208ms_v2",
|
||||
"Standard_M416ms_v2",
|
||||
"Standard_L4s_v2",
|
||||
"Standard_L8s_v2",
|
||||
"Standard_L16s_v2",
|
||||
"Standard_L32s_v2",
|
||||
"Standard_L64s_v2",
|
||||
"Standard_L80s_v2",
|
||||
"Standard_NC6",
|
||||
"Standard_NC12",
|
||||
"Standard_NC24",
|
||||
"Standard_NC24r",
|
||||
"Standard_ND6s",
|
||||
"Standard_ND12s",
|
||||
"Standard_ND24s",
|
||||
"Standard_ND24rs",
|
||||
"Standard_NV6",
|
||||
"Standard_NV12",
|
||||
"Standard_NV24",
|
||||
"Standard_H8",
|
||||
"Standard_H16",
|
||||
"Standard_H16r",
|
||||
"Standard_H16mr",
|
||||
"Standard_HB120rs_v2",
|
||||
"Standard_HC44rs",
|
||||
"Standard_DC2s",
|
||||
"Standard_DC4s",
|
||||
"Standard_DC2s_v2",
|
||||
"Standard_DC4s_v2",
|
||||
"Standard_DC8s_v2",
|
||||
"Standard_DC16s_v2",
|
||||
"Standard_DC32s_v2",
|
||||
"Standard_A1_v2",
|
||||
"Standard_A2_v2",
|
||||
"Standard_A4_v2",
|
||||
"Standard_A8_v2",
|
||||
"Standard_A2m_v2",
|
||||
"Standard_A4m_v2",
|
||||
"Standard_A8m_v2"
|
||||
],
|
||||
"defaultValue": "Standard_B4s",
|
||||
"metadata": {
|
||||
"description": "Specifies the azure vm size for your OpenVidu instance"
|
||||
"description": "Specifies the azure vm size for your OpenVidu instance. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes."
|
||||
}
|
||||
},
|
||||
"adminUsername": {
|
||||
|
|
@ -263,33 +130,9 @@
|
|||
"variables": {
|
||||
"isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]",
|
||||
"isEmptyDomain": "[equals(parameters('domainName'), '')]",
|
||||
"arm64InstanceTypes": [
|
||||
"standard_d2ps_v5",
|
||||
"standard_d4ps_v5",
|
||||
"standard_d8ps_v5",
|
||||
"standard_d16ps_v5",
|
||||
"standard_d32ps_v5",
|
||||
"standard_d48ps_v5",
|
||||
"standard_d64ps_v5",
|
||||
"standard_d2pls_v5",
|
||||
"standard_d4pls_v5",
|
||||
"standard_d8pls_v5",
|
||||
"standard_d16pls_v5",
|
||||
"standard_d32pls_v5",
|
||||
"standard_d48pls_v5",
|
||||
"standard_d64pls_v5",
|
||||
"standard_d96ps_v5",
|
||||
"standard_e2ps_v5",
|
||||
"standard_e4ps_v5",
|
||||
"standard_e8ps_v5",
|
||||
"standard_e16ps_v5",
|
||||
"standard_e20ps_v5",
|
||||
"standard_e32ps_v5",
|
||||
"standard_e48ps_v5",
|
||||
"standard_e64ps_v5",
|
||||
"standard_e96ps_v5"
|
||||
],
|
||||
"ubuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('instanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"instanceTypeLower": "[toLower(parameters('instanceType'))]",
|
||||
"isArm64Instance": "[or(or(or(or(or(or(or(contains(variables('instanceTypeLower'), 'ps_v'), contains(variables('instanceTypeLower'), 'pls_v')), contains(variables('instanceTypeLower'), 'pds_v')), contains(variables('instanceTypeLower'), 'plds_v')), contains(variables('instanceTypeLower'), 'psv')), contains(variables('instanceTypeLower'), 'plsv')), contains(variables('instanceTypeLower'), 'pdsv')), contains(variables('instanceTypeLower'), 'pldsv'))]",
|
||||
"ubuntuSku": "[if(variables('isArm64Instance'), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"networkSettings": {
|
||||
"privateIPaddressNetInterface": "10.0.0.5",
|
||||
"vNetAddressPrefix": "10.0.0.0/16",
|
||||
|
|
|
|||
|
|
@ -209,8 +209,10 @@
|
|||
"label": "Type of Instance",
|
||||
"toolTip": "Specifies the azure vm size for your OpenVidu instance",
|
||||
"recommendedSizes": [
|
||||
"Standard_B2s",
|
||||
"Standard_B4ms"
|
||||
"Standard_B4s",
|
||||
"Standard_B4ms",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D4pls_v5"
|
||||
],
|
||||
"constraints": {
|
||||
"allowedSizes": [],
|
||||
|
|
|
|||
|
|
@ -53,277 +53,11 @@ param initialMeetAdminPassword string = ''
|
|||
@secure()
|
||||
param initialMeetApiKey string = ''
|
||||
|
||||
@description('Specifies the EC2 instance type for your OpenVidu Master Node')
|
||||
@allowed([
|
||||
'Standard_B1s'
|
||||
'Standard_B1ms'
|
||||
'Standard_B2s'
|
||||
'Standard_B2ms'
|
||||
'Standard_B4ms'
|
||||
'Standard_B8ms'
|
||||
'Standard_D2_v3'
|
||||
'Standard_D4_v3'
|
||||
'Standard_D8_v3'
|
||||
'Standard_D16_v3'
|
||||
'Standard_D32_v3'
|
||||
'Standard_D48_v3'
|
||||
'Standard_D64_v3'
|
||||
'Standard_D2_v4'
|
||||
'Standard_D4_v4'
|
||||
'Standard_D8_v4'
|
||||
'Standard_D16_v4'
|
||||
'Standard_D32_v4'
|
||||
'Standard_D48_v4'
|
||||
'Standard_D64_v4'
|
||||
'Standard_D96_v4'
|
||||
'Standard_D2_v5'
|
||||
'Standard_D4_v5'
|
||||
'Standard_D8_v5'
|
||||
'Standard_D16_v5'
|
||||
'Standard_D32_v5'
|
||||
'Standard_D48_v5'
|
||||
'Standard_D64_v5'
|
||||
'Standard_D96_v5'
|
||||
'Standard_D2ps_v5'
|
||||
'Standard_D4ps_v5'
|
||||
'Standard_D8ps_v5'
|
||||
'Standard_D16ps_v5'
|
||||
'Standard_D32ps_v5'
|
||||
'Standard_D48ps_v5'
|
||||
'Standard_D64ps_v5'
|
||||
'Standard_D96ps_v5'
|
||||
'Standard_D2pls_v5'
|
||||
'Standard_D4pls_v5'
|
||||
'Standard_D8pls_v5'
|
||||
'Standard_D16pls_v5'
|
||||
'Standard_D32pls_v5'
|
||||
'Standard_D48pls_v5'
|
||||
'Standard_D64pls_v5'
|
||||
'Standard_F2'
|
||||
'Standard_F4'
|
||||
'Standard_F8'
|
||||
'Standard_F16'
|
||||
'Standard_F32'
|
||||
'Standard_F64'
|
||||
'Standard_F72'
|
||||
'Standard_F2s_v2'
|
||||
'Standard_F4s_v2'
|
||||
'Standard_F8s_v2'
|
||||
'Standard_F16s_v2'
|
||||
'Standard_F32s_v2'
|
||||
'Standard_F64s_v2'
|
||||
'Standard_F72s_v2'
|
||||
'Standard_E2_v3'
|
||||
'Standard_E4_v3'
|
||||
'Standard_E8_v3'
|
||||
'Standard_E16_v3'
|
||||
'Standard_E32_v3'
|
||||
'Standard_E48_v3'
|
||||
'Standard_E64_v3'
|
||||
'Standard_E96_v3'
|
||||
'Standard_E2_v4'
|
||||
'Standard_E4_v4'
|
||||
'Standard_E8_v4'
|
||||
'Standard_E16_v4'
|
||||
'Standard_E32_v4'
|
||||
'Standard_E48_v4'
|
||||
'Standard_E64_v4'
|
||||
'Standard_E2_v5'
|
||||
'Standard_E4_v5'
|
||||
'Standard_E8_v5'
|
||||
'Standard_E16_v5'
|
||||
'Standard_E32_v5'
|
||||
'Standard_E48_v5'
|
||||
'Standard_E64_v5'
|
||||
'Standard_E96_v5'
|
||||
'Standard_E2ps_v5'
|
||||
'Standard_E4ps_v5'
|
||||
'Standard_E8ps_v5'
|
||||
'Standard_E16ps_v5'
|
||||
'Standard_E20ps_v5'
|
||||
'Standard_E32ps_v5'
|
||||
'Standard_E48ps_v5'
|
||||
'Standard_E64ps_v5'
|
||||
'Standard_E96ps_v5'
|
||||
'Standard_M64'
|
||||
'Standard_M128'
|
||||
'Standard_M208ms_v2'
|
||||
'Standard_M416ms_v2'
|
||||
'Standard_L4s_v2'
|
||||
'Standard_L8s_v2'
|
||||
'Standard_L16s_v2'
|
||||
'Standard_L32s_v2'
|
||||
'Standard_L64s_v2'
|
||||
'Standard_L80s_v2'
|
||||
'Standard_NC6'
|
||||
'Standard_NC12'
|
||||
'Standard_NC24'
|
||||
'Standard_NC24r'
|
||||
'Standard_ND6s'
|
||||
'Standard_ND12s'
|
||||
'Standard_ND24s'
|
||||
'Standard_ND24rs'
|
||||
'Standard_NV6'
|
||||
'Standard_NV12'
|
||||
'Standard_NV24'
|
||||
'Standard_H8'
|
||||
'Standard_H16'
|
||||
'Standard_H16r'
|
||||
'Standard_H16mr'
|
||||
'Standard_HB120rs_v2'
|
||||
'Standard_HC44rs'
|
||||
'Standard_DC2s'
|
||||
'Standard_DC4s'
|
||||
'Standard_DC2s_v2'
|
||||
'Standard_DC4s_v2'
|
||||
'Standard_DC8s_v2'
|
||||
'Standard_DC16s_v2'
|
||||
'Standard_DC32s_v2'
|
||||
'Standard_A1_v2'
|
||||
'Standard_A2_v2'
|
||||
'Standard_A4_v2'
|
||||
'Standard_A8_v2'
|
||||
'Standard_A2m_v2'
|
||||
'Standard_A4m_v2'
|
||||
'Standard_A8m_v2'
|
||||
])
|
||||
param masterNodeInstanceType string = 'Standard_B2s'
|
||||
@description('Specifies the VM size for your OpenVidu Master Node. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes.')
|
||||
param masterNodeInstanceType string = 'Standard_B4s'
|
||||
|
||||
@description('Specifies the EC2 instance type for your OpenVidu Media Nodes')
|
||||
@allowed([
|
||||
'Standard_B1s'
|
||||
'Standard_B1ms'
|
||||
'Standard_B2s'
|
||||
'Standard_B2ms'
|
||||
'Standard_B4ms'
|
||||
'Standard_B8ms'
|
||||
'Standard_D2_v3'
|
||||
'Standard_D4_v3'
|
||||
'Standard_D8_v3'
|
||||
'Standard_D16_v3'
|
||||
'Standard_D32_v3'
|
||||
'Standard_D48_v3'
|
||||
'Standard_D64_v3'
|
||||
'Standard_D2_v4'
|
||||
'Standard_D4_v4'
|
||||
'Standard_D8_v4'
|
||||
'Standard_D16_v4'
|
||||
'Standard_D32_v4'
|
||||
'Standard_D48_v4'
|
||||
'Standard_D64_v4'
|
||||
'Standard_D96_v4'
|
||||
'Standard_D2_v5'
|
||||
'Standard_D4_v5'
|
||||
'Standard_D8_v5'
|
||||
'Standard_D16_v5'
|
||||
'Standard_D32_v5'
|
||||
'Standard_D48_v5'
|
||||
'Standard_D64_v5'
|
||||
'Standard_D96_v5'
|
||||
'Standard_D2ps_v5'
|
||||
'Standard_D4ps_v5'
|
||||
'Standard_D8ps_v5'
|
||||
'Standard_D16ps_v5'
|
||||
'Standard_D32ps_v5'
|
||||
'Standard_D48ps_v5'
|
||||
'Standard_D64ps_v5'
|
||||
'Standard_D96ps_v5'
|
||||
'Standard_D2pls_v5'
|
||||
'Standard_D4pls_v5'
|
||||
'Standard_D8pls_v5'
|
||||
'Standard_D16pls_v5'
|
||||
'Standard_D32pls_v5'
|
||||
'Standard_D48pls_v5'
|
||||
'Standard_D64pls_v5'
|
||||
'Standard_F2'
|
||||
'Standard_F4'
|
||||
'Standard_F8'
|
||||
'Standard_F16'
|
||||
'Standard_F32'
|
||||
'Standard_F64'
|
||||
'Standard_F72'
|
||||
'Standard_F2s_v2'
|
||||
'Standard_F4s_v2'
|
||||
'Standard_F8s_v2'
|
||||
'Standard_F16s_v2'
|
||||
'Standard_F32s_v2'
|
||||
'Standard_F64s_v2'
|
||||
'Standard_F72s_v2'
|
||||
'Standard_E2_v3'
|
||||
'Standard_E4_v3'
|
||||
'Standard_E8_v3'
|
||||
'Standard_E16_v3'
|
||||
'Standard_E32_v3'
|
||||
'Standard_E48_v3'
|
||||
'Standard_E64_v3'
|
||||
'Standard_E96_v3'
|
||||
'Standard_E2_v4'
|
||||
'Standard_E4_v4'
|
||||
'Standard_E8_v4'
|
||||
'Standard_E16_v4'
|
||||
'Standard_E32_v4'
|
||||
'Standard_E48_v4'
|
||||
'Standard_E64_v4'
|
||||
'Standard_E2_v5'
|
||||
'Standard_E4_v5'
|
||||
'Standard_E8_v5'
|
||||
'Standard_E16_v5'
|
||||
'Standard_E32_v5'
|
||||
'Standard_E48_v5'
|
||||
'Standard_E64_v5'
|
||||
'Standard_E96_v5'
|
||||
'Standard_E2ps_v5'
|
||||
'Standard_E4ps_v5'
|
||||
'Standard_E8ps_v5'
|
||||
'Standard_E16ps_v5'
|
||||
'Standard_E20ps_v5'
|
||||
'Standard_E32ps_v5'
|
||||
'Standard_E48ps_v5'
|
||||
'Standard_E64ps_v5'
|
||||
'Standard_E96ps_v5'
|
||||
'Standard_M64'
|
||||
'Standard_M128'
|
||||
'Standard_M208ms_v2'
|
||||
'Standard_M416ms_v2'
|
||||
'Standard_L4s_v2'
|
||||
'Standard_L8s_v2'
|
||||
'Standard_L16s_v2'
|
||||
'Standard_L32s_v2'
|
||||
'Standard_L64s_v2'
|
||||
'Standard_L80s_v2'
|
||||
'Standard_NC6'
|
||||
'Standard_NC12'
|
||||
'Standard_NC24'
|
||||
'Standard_NC24r'
|
||||
'Standard_ND6s'
|
||||
'Standard_ND12s'
|
||||
'Standard_ND24s'
|
||||
'Standard_ND24rs'
|
||||
'Standard_NV6'
|
||||
'Standard_NV12'
|
||||
'Standard_NV24'
|
||||
'Standard_H8'
|
||||
'Standard_H16'
|
||||
'Standard_H16r'
|
||||
'Standard_H16mr'
|
||||
'Standard_HB120rs_v2'
|
||||
'Standard_HC44rs'
|
||||
'Standard_DC2s'
|
||||
'Standard_DC4s'
|
||||
'Standard_DC2s_v2'
|
||||
'Standard_DC4s_v2'
|
||||
'Standard_DC8s_v2'
|
||||
'Standard_DC16s_v2'
|
||||
'Standard_DC32s_v2'
|
||||
'Standard_A1_v2'
|
||||
'Standard_A2_v2'
|
||||
'Standard_A4_v2'
|
||||
'Standard_A8_v2'
|
||||
'Standard_A2m_v2'
|
||||
'Standard_A4m_v2'
|
||||
'Standard_A8m_v2'
|
||||
])
|
||||
param mediaNodeInstanceType string = 'Standard_B2s'
|
||||
@description('Specifies the VM size for your OpenVidu Media Nodes. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes.')
|
||||
param mediaNodeInstanceType string = 'Standard_B4s'
|
||||
|
||||
@description('Username for the Virtual Machine.')
|
||||
param adminUsername string
|
||||
|
|
@ -352,35 +86,17 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none'
|
|||
|
||||
var isEmptyDomain = domainName == ''
|
||||
|
||||
var arm64InstanceTypes = [
|
||||
'standard_d2ps_v5'
|
||||
'standard_d4ps_v5'
|
||||
'standard_d8ps_v5'
|
||||
'standard_d16ps_v5'
|
||||
'standard_d32ps_v5'
|
||||
'standard_d48ps_v5'
|
||||
'standard_d64ps_v5'
|
||||
'standard_d96ps_v5'
|
||||
'standard_d2pls_v5'
|
||||
'standard_d4pls_v5'
|
||||
'standard_d8pls_v5'
|
||||
'standard_d16pls_v5'
|
||||
'standard_d32pls_v5'
|
||||
'standard_d48pls_v5'
|
||||
'standard_d64pls_v5'
|
||||
'standard_e2ps_v5'
|
||||
'standard_e4ps_v5'
|
||||
'standard_e8ps_v5'
|
||||
'standard_e16ps_v5'
|
||||
'standard_e20ps_v5'
|
||||
'standard_e32ps_v5'
|
||||
'standard_e48ps_v5'
|
||||
'standard_e64ps_v5'
|
||||
'standard_e96ps_v5'
|
||||
]
|
||||
// ARM64 instances are detected by checking for 'p' in the instance type name pattern.
|
||||
// Azure ARM-based VMs use 'p' to indicate ARM processors (Ampere Altra, Microsoft Cobalt, etc.)
|
||||
// Examples: Standard_D2ps_v5, Standard_E4pds_v5, Standard_B2pls_v2, etc.
|
||||
// The pattern checks for 'p' followed by optional letters (like 'l', 'd', 's') before '_v' version suffix
|
||||
var masterNodeInstanceTypeLower = toLower(masterNodeInstanceType)
|
||||
var mediaNodeInstanceTypeLower = toLower(mediaNodeInstanceType)
|
||||
var isMasterArm64 = contains(masterNodeInstanceTypeLower, 'ps_v') || contains(masterNodeInstanceTypeLower, 'pls_v') || contains(masterNodeInstanceTypeLower, 'pds_v') || contains(masterNodeInstanceTypeLower, 'plds_v') || contains(masterNodeInstanceTypeLower, 'psv') || contains(masterNodeInstanceTypeLower, 'plsv') || contains(masterNodeInstanceTypeLower, 'pdsv') || contains(masterNodeInstanceTypeLower, 'pldsv')
|
||||
var isMediaArm64 = contains(mediaNodeInstanceTypeLower, 'ps_v') || contains(mediaNodeInstanceTypeLower, 'pls_v') || contains(mediaNodeInstanceTypeLower, 'pds_v') || contains(mediaNodeInstanceTypeLower, 'plds_v') || contains(mediaNodeInstanceTypeLower, 'psv') || contains(mediaNodeInstanceTypeLower, 'plsv') || contains(mediaNodeInstanceTypeLower, 'pdsv') || contains(mediaNodeInstanceTypeLower, 'pldsv')
|
||||
|
||||
var masterUbuntuSku = contains(arm64InstanceTypes, toLower(masterNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var mediaUbuntuSku = contains(arm64InstanceTypes, toLower(mediaNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var masterUbuntuSku = isMasterArm64 ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var mediaUbuntuSku = isMediaArm64 ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
|
||||
var masterNodeVMSettings = {
|
||||
vmName: '${stackName}-VM-MasterNode'
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"_generator": {
|
||||
"name": "bicep",
|
||||
"version": "0.37.4.10188",
|
||||
"templateHash": "15487529759540634412"
|
||||
"templateHash": "11064671770283732977"
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
|
|
@ -108,282 +108,16 @@
|
|||
},
|
||||
"masterNodeInstanceType": {
|
||||
"type": "string",
|
||||
"defaultValue": "Standard_B2s",
|
||||
"allowedValues": [
|
||||
"Standard_B1s",
|
||||
"Standard_B1ms",
|
||||
"Standard_B2s",
|
||||
"Standard_B2ms",
|
||||
"Standard_B4ms",
|
||||
"Standard_B8ms",
|
||||
"Standard_D2_v3",
|
||||
"Standard_D4_v3",
|
||||
"Standard_D8_v3",
|
||||
"Standard_D16_v3",
|
||||
"Standard_D32_v3",
|
||||
"Standard_D48_v3",
|
||||
"Standard_D64_v3",
|
||||
"Standard_D2_v4",
|
||||
"Standard_D4_v4",
|
||||
"Standard_D8_v4",
|
||||
"Standard_D16_v4",
|
||||
"Standard_D32_v4",
|
||||
"Standard_D48_v4",
|
||||
"Standard_D64_v4",
|
||||
"Standard_D96_v4",
|
||||
"Standard_D2_v5",
|
||||
"Standard_D4_v5",
|
||||
"Standard_D8_v5",
|
||||
"Standard_D16_v5",
|
||||
"Standard_D32_v5",
|
||||
"Standard_D48_v5",
|
||||
"Standard_D64_v5",
|
||||
"Standard_D96_v5",
|
||||
"Standard_D2ps_v5",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D8ps_v5",
|
||||
"Standard_D16ps_v5",
|
||||
"Standard_D32ps_v5",
|
||||
"Standard_D48ps_v5",
|
||||
"Standard_D64ps_v5",
|
||||
"Standard_D96ps_v5",
|
||||
"Standard_D2pls_v5",
|
||||
"Standard_D4pls_v5",
|
||||
"Standard_D8pls_v5",
|
||||
"Standard_D16pls_v5",
|
||||
"Standard_D32pls_v5",
|
||||
"Standard_D48pls_v5",
|
||||
"Standard_D64pls_v5",
|
||||
"Standard_F2",
|
||||
"Standard_F4",
|
||||
"Standard_F8",
|
||||
"Standard_F16",
|
||||
"Standard_F32",
|
||||
"Standard_F64",
|
||||
"Standard_F72",
|
||||
"Standard_F2s_v2",
|
||||
"Standard_F4s_v2",
|
||||
"Standard_F8s_v2",
|
||||
"Standard_F16s_v2",
|
||||
"Standard_F32s_v2",
|
||||
"Standard_F64s_v2",
|
||||
"Standard_F72s_v2",
|
||||
"Standard_E2_v3",
|
||||
"Standard_E4_v3",
|
||||
"Standard_E8_v3",
|
||||
"Standard_E16_v3",
|
||||
"Standard_E32_v3",
|
||||
"Standard_E48_v3",
|
||||
"Standard_E64_v3",
|
||||
"Standard_E96_v3",
|
||||
"Standard_E2_v4",
|
||||
"Standard_E4_v4",
|
||||
"Standard_E8_v4",
|
||||
"Standard_E16_v4",
|
||||
"Standard_E32_v4",
|
||||
"Standard_E48_v4",
|
||||
"Standard_E64_v4",
|
||||
"Standard_E2_v5",
|
||||
"Standard_E4_v5",
|
||||
"Standard_E8_v5",
|
||||
"Standard_E16_v5",
|
||||
"Standard_E32_v5",
|
||||
"Standard_E48_v5",
|
||||
"Standard_E64_v5",
|
||||
"Standard_E96_v5",
|
||||
"Standard_E2ps_v5",
|
||||
"Standard_E4ps_v5",
|
||||
"Standard_E8ps_v5",
|
||||
"Standard_E16ps_v5",
|
||||
"Standard_E20ps_v5",
|
||||
"Standard_E32ps_v5",
|
||||
"Standard_E48ps_v5",
|
||||
"Standard_E64ps_v5",
|
||||
"Standard_E96ps_v5",
|
||||
"Standard_M64",
|
||||
"Standard_M128",
|
||||
"Standard_M208ms_v2",
|
||||
"Standard_M416ms_v2",
|
||||
"Standard_L4s_v2",
|
||||
"Standard_L8s_v2",
|
||||
"Standard_L16s_v2",
|
||||
"Standard_L32s_v2",
|
||||
"Standard_L64s_v2",
|
||||
"Standard_L80s_v2",
|
||||
"Standard_NC6",
|
||||
"Standard_NC12",
|
||||
"Standard_NC24",
|
||||
"Standard_NC24r",
|
||||
"Standard_ND6s",
|
||||
"Standard_ND12s",
|
||||
"Standard_ND24s",
|
||||
"Standard_ND24rs",
|
||||
"Standard_NV6",
|
||||
"Standard_NV12",
|
||||
"Standard_NV24",
|
||||
"Standard_H8",
|
||||
"Standard_H16",
|
||||
"Standard_H16r",
|
||||
"Standard_H16mr",
|
||||
"Standard_HB120rs_v2",
|
||||
"Standard_HC44rs",
|
||||
"Standard_DC2s",
|
||||
"Standard_DC4s",
|
||||
"Standard_DC2s_v2",
|
||||
"Standard_DC4s_v2",
|
||||
"Standard_DC8s_v2",
|
||||
"Standard_DC16s_v2",
|
||||
"Standard_DC32s_v2",
|
||||
"Standard_A1_v2",
|
||||
"Standard_A2_v2",
|
||||
"Standard_A4_v2",
|
||||
"Standard_A8_v2",
|
||||
"Standard_A2m_v2",
|
||||
"Standard_A4m_v2",
|
||||
"Standard_A8m_v2"
|
||||
],
|
||||
"defaultValue": "Standard_B4s",
|
||||
"metadata": {
|
||||
"description": "Specifies the EC2 instance type for your OpenVidu Master Node"
|
||||
"description": "Specifies the VM size for your OpenVidu Master Node. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes."
|
||||
}
|
||||
},
|
||||
"mediaNodeInstanceType": {
|
||||
"type": "string",
|
||||
"defaultValue": "Standard_B2s",
|
||||
"allowedValues": [
|
||||
"Standard_B1s",
|
||||
"Standard_B1ms",
|
||||
"Standard_B2s",
|
||||
"Standard_B2ms",
|
||||
"Standard_B4ms",
|
||||
"Standard_B8ms",
|
||||
"Standard_D2_v3",
|
||||
"Standard_D4_v3",
|
||||
"Standard_D8_v3",
|
||||
"Standard_D16_v3",
|
||||
"Standard_D32_v3",
|
||||
"Standard_D48_v3",
|
||||
"Standard_D64_v3",
|
||||
"Standard_D2_v4",
|
||||
"Standard_D4_v4",
|
||||
"Standard_D8_v4",
|
||||
"Standard_D16_v4",
|
||||
"Standard_D32_v4",
|
||||
"Standard_D48_v4",
|
||||
"Standard_D64_v4",
|
||||
"Standard_D96_v4",
|
||||
"Standard_D2_v5",
|
||||
"Standard_D4_v5",
|
||||
"Standard_D8_v5",
|
||||
"Standard_D16_v5",
|
||||
"Standard_D32_v5",
|
||||
"Standard_D48_v5",
|
||||
"Standard_D64_v5",
|
||||
"Standard_D96_v5",
|
||||
"Standard_D2ps_v5",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D8ps_v5",
|
||||
"Standard_D16ps_v5",
|
||||
"Standard_D32ps_v5",
|
||||
"Standard_D48ps_v5",
|
||||
"Standard_D64ps_v5",
|
||||
"Standard_D96ps_v5",
|
||||
"Standard_D2pls_v5",
|
||||
"Standard_D4pls_v5",
|
||||
"Standard_D8pls_v5",
|
||||
"Standard_D16pls_v5",
|
||||
"Standard_D32pls_v5",
|
||||
"Standard_D48pls_v5",
|
||||
"Standard_D64pls_v5",
|
||||
"Standard_F2",
|
||||
"Standard_F4",
|
||||
"Standard_F8",
|
||||
"Standard_F16",
|
||||
"Standard_F32",
|
||||
"Standard_F64",
|
||||
"Standard_F72",
|
||||
"Standard_F2s_v2",
|
||||
"Standard_F4s_v2",
|
||||
"Standard_F8s_v2",
|
||||
"Standard_F16s_v2",
|
||||
"Standard_F32s_v2",
|
||||
"Standard_F64s_v2",
|
||||
"Standard_F72s_v2",
|
||||
"Standard_E2_v3",
|
||||
"Standard_E4_v3",
|
||||
"Standard_E8_v3",
|
||||
"Standard_E16_v3",
|
||||
"Standard_E32_v3",
|
||||
"Standard_E48_v3",
|
||||
"Standard_E64_v3",
|
||||
"Standard_E96_v3",
|
||||
"Standard_E2_v4",
|
||||
"Standard_E4_v4",
|
||||
"Standard_E8_v4",
|
||||
"Standard_E16_v4",
|
||||
"Standard_E32_v4",
|
||||
"Standard_E48_v4",
|
||||
"Standard_E64_v4",
|
||||
"Standard_E2_v5",
|
||||
"Standard_E4_v5",
|
||||
"Standard_E8_v5",
|
||||
"Standard_E16_v5",
|
||||
"Standard_E32_v5",
|
||||
"Standard_E48_v5",
|
||||
"Standard_E64_v5",
|
||||
"Standard_E96_v5",
|
||||
"Standard_E2ps_v5",
|
||||
"Standard_E4ps_v5",
|
||||
"Standard_E8ps_v5",
|
||||
"Standard_E16ps_v5",
|
||||
"Standard_E20ps_v5",
|
||||
"Standard_E32ps_v5",
|
||||
"Standard_E48ps_v5",
|
||||
"Standard_E64ps_v5",
|
||||
"Standard_E96ps_v5",
|
||||
"Standard_M64",
|
||||
"Standard_M128",
|
||||
"Standard_M208ms_v2",
|
||||
"Standard_M416ms_v2",
|
||||
"Standard_L4s_v2",
|
||||
"Standard_L8s_v2",
|
||||
"Standard_L16s_v2",
|
||||
"Standard_L32s_v2",
|
||||
"Standard_L64s_v2",
|
||||
"Standard_L80s_v2",
|
||||
"Standard_NC6",
|
||||
"Standard_NC12",
|
||||
"Standard_NC24",
|
||||
"Standard_NC24r",
|
||||
"Standard_ND6s",
|
||||
"Standard_ND12s",
|
||||
"Standard_ND24s",
|
||||
"Standard_ND24rs",
|
||||
"Standard_NV6",
|
||||
"Standard_NV12",
|
||||
"Standard_NV24",
|
||||
"Standard_H8",
|
||||
"Standard_H16",
|
||||
"Standard_H16r",
|
||||
"Standard_H16mr",
|
||||
"Standard_HB120rs_v2",
|
||||
"Standard_HC44rs",
|
||||
"Standard_DC2s",
|
||||
"Standard_DC4s",
|
||||
"Standard_DC2s_v2",
|
||||
"Standard_DC4s_v2",
|
||||
"Standard_DC8s_v2",
|
||||
"Standard_DC16s_v2",
|
||||
"Standard_DC32s_v2",
|
||||
"Standard_A1_v2",
|
||||
"Standard_A2_v2",
|
||||
"Standard_A4_v2",
|
||||
"Standard_A8_v2",
|
||||
"Standard_A2m_v2",
|
||||
"Standard_A4m_v2",
|
||||
"Standard_A8m_v2"
|
||||
],
|
||||
"defaultValue": "Standard_B4s",
|
||||
"metadata": {
|
||||
"description": "Specifies the EC2 instance type for your OpenVidu Media Nodes"
|
||||
"description": "Specifies the VM size for your OpenVidu Media Nodes. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes."
|
||||
}
|
||||
},
|
||||
"adminUsername": {
|
||||
|
|
@ -459,34 +193,12 @@
|
|||
"variables": {
|
||||
"isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]",
|
||||
"isEmptyDomain": "[equals(parameters('domainName'), '')]",
|
||||
"arm64InstanceTypes": [
|
||||
"standard_d2ps_v5",
|
||||
"standard_d4ps_v5",
|
||||
"standard_d8ps_v5",
|
||||
"standard_d16ps_v5",
|
||||
"standard_d32ps_v5",
|
||||
"standard_d48ps_v5",
|
||||
"standard_d64ps_v5",
|
||||
"standard_d96ps_v5",
|
||||
"standard_d2pls_v5",
|
||||
"standard_d4pls_v5",
|
||||
"standard_d8pls_v5",
|
||||
"standard_d16pls_v5",
|
||||
"standard_d32pls_v5",
|
||||
"standard_d48pls_v5",
|
||||
"standard_d64pls_v5",
|
||||
"standard_e2ps_v5",
|
||||
"standard_e4ps_v5",
|
||||
"standard_e8ps_v5",
|
||||
"standard_e16ps_v5",
|
||||
"standard_e20ps_v5",
|
||||
"standard_e32ps_v5",
|
||||
"standard_e48ps_v5",
|
||||
"standard_e64ps_v5",
|
||||
"standard_e96ps_v5"
|
||||
],
|
||||
"masterUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('masterNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"mediaUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('mediaNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"masterNodeInstanceTypeLower": "[toLower(parameters('masterNodeInstanceType'))]",
|
||||
"mediaNodeInstanceTypeLower": "[toLower(parameters('mediaNodeInstanceType'))]",
|
||||
"isMasterArm64": "[or(or(or(or(or(or(or(contains(variables('masterNodeInstanceTypeLower'), 'ps_v'), contains(variables('masterNodeInstanceTypeLower'), 'pls_v')), contains(variables('masterNodeInstanceTypeLower'), 'pds_v')), contains(variables('masterNodeInstanceTypeLower'), 'plds_v')), contains(variables('masterNodeInstanceTypeLower'), 'psv')), contains(variables('masterNodeInstanceTypeLower'), 'plsv')), contains(variables('masterNodeInstanceTypeLower'), 'pdsv')), contains(variables('masterNodeInstanceTypeLower'), 'pldsv'))]",
|
||||
"isMediaArm64": "[or(or(or(or(or(or(or(contains(variables('mediaNodeInstanceTypeLower'), 'ps_v'), contains(variables('mediaNodeInstanceTypeLower'), 'pls_v')), contains(variables('mediaNodeInstanceTypeLower'), 'pds_v')), contains(variables('mediaNodeInstanceTypeLower'), 'plds_v')), contains(variables('mediaNodeInstanceTypeLower'), 'psv')), contains(variables('mediaNodeInstanceTypeLower'), 'plsv')), contains(variables('mediaNodeInstanceTypeLower'), 'pdsv')), contains(variables('mediaNodeInstanceTypeLower'), 'pldsv'))]",
|
||||
"masterUbuntuSku": "[if(variables('isMasterArm64'), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"mediaUbuntuSku": "[if(variables('isMediaArm64'), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"masterNodeVMSettings": {
|
||||
"vmName": "[format('{0}-VM-MasterNode', parameters('stackName'))]",
|
||||
"osDiskType": "StandardSSD_LRS",
|
||||
|
|
|
|||
|
|
@ -260,7 +260,10 @@
|
|||
"label": "Master Node Instance Type",
|
||||
"toolTip": "Specifies the Azure instance type for your OpenVidu Master Node",
|
||||
"recommendedSizes": [
|
||||
"Standard_B2s"
|
||||
"Standard_B4s",
|
||||
"Standard_B4ms",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D4pls_v5"
|
||||
],
|
||||
"constraints": {
|
||||
"allowedSizes": [],
|
||||
|
|
@ -280,8 +283,10 @@
|
|||
"label": "Media Node Instance Type",
|
||||
"toolTip": "Specifies the Azure instance type for your OpenVidu Media Nodes",
|
||||
"recommendedSizes": [
|
||||
"Standard_B2s",
|
||||
"Standard_B4ms"
|
||||
"Standard_B4s",
|
||||
"Standard_B4ms",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D4pls_v5"
|
||||
],
|
||||
"constraints": {
|
||||
"allowedSizes": [],
|
||||
|
|
|
|||
|
|
@ -53,271 +53,14 @@ param initialMeetAdminPassword string = ''
|
|||
@secure()
|
||||
param initialMeetApiKey string = ''
|
||||
|
||||
@description('Specifies the EC2 instance type for your OpenVidu Master Node')
|
||||
@allowed([
|
||||
'Standard_B1s'
|
||||
'Standard_B1ms'
|
||||
'Standard_B2s'
|
||||
'Standard_B2ms'
|
||||
'Standard_B4ms'
|
||||
'Standard_B8ms'
|
||||
'Standard_D2_v3'
|
||||
'Standard_D4_v3'
|
||||
'Standard_D8_v3'
|
||||
'Standard_D16_v3'
|
||||
'Standard_D32_v3'
|
||||
'Standard_D48_v3'
|
||||
'Standard_D64_v3'
|
||||
'Standard_D2_v4'
|
||||
'Standard_D4_v4'
|
||||
'Standard_D8_v4'
|
||||
'Standard_D16_v4'
|
||||
'Standard_D32_v4'
|
||||
'Standard_D48_v4'
|
||||
'Standard_D64_v4'
|
||||
'Standard_D96_v4'
|
||||
'Standard_D2_v5'
|
||||
'Standard_D4_v5'
|
||||
'Standard_D8_v5'
|
||||
'Standard_D16_v5'
|
||||
'Standard_D32_v5'
|
||||
'Standard_D48_v5'
|
||||
'Standard_D64_v5'
|
||||
'Standard_D96_v5'
|
||||
'Standard_D2ps_v5'
|
||||
'Standard_D4ps_v5'
|
||||
'Standard_D8ps_v5'
|
||||
'Standard_D16ps_v5'
|
||||
'Standard_D32ps_v5'
|
||||
'Standard_D48ps_v5'
|
||||
'Standard_D64ps_v5'
|
||||
'Standard_D96ps_v5'
|
||||
'Standard_D2pls_v5'
|
||||
'Standard_D4pls_v5'
|
||||
'Standard_D8pls_v5'
|
||||
'Standard_D16pls_v5'
|
||||
'Standard_D32pls_v5'
|
||||
'Standard_D48pls_v5'
|
||||
'Standard_D64pls_v5'
|
||||
'Standard_F2'
|
||||
'Standard_F4'
|
||||
'Standard_F8'
|
||||
'Standard_F16'
|
||||
'Standard_F32'
|
||||
'Standard_F64'
|
||||
'Standard_F72'
|
||||
'Standard_F2s_v2'
|
||||
'Standard_F4s_v2'
|
||||
'Standard_F8s_v2'
|
||||
'Standard_F16s_v2'
|
||||
'Standard_F32s_v2'
|
||||
'Standard_F64s_v2'
|
||||
'Standard_F72s_v2'
|
||||
'Standard_E2_v3'
|
||||
'Standard_E4_v3'
|
||||
'Standard_E8_v3'
|
||||
'Standard_E16_v3'
|
||||
'Standard_E32_v3'
|
||||
'Standard_E48_v3'
|
||||
'Standard_E64_v3'
|
||||
'Standard_E96_v3'
|
||||
'Standard_E2_v4'
|
||||
'Standard_E4_v4'
|
||||
'Standard_E8_v4'
|
||||
'Standard_E16_v4'
|
||||
'Standard_E32_v4'
|
||||
'Standard_E48_v4'
|
||||
'Standard_E64_v4'
|
||||
'Standard_E2_v5'
|
||||
'Standard_E4_v5'
|
||||
'Standard_E8_v5'
|
||||
'Standard_E16_v5'
|
||||
'Standard_E32_v5'
|
||||
'Standard_E48_v5'
|
||||
'Standard_E64_v5'
|
||||
'Standard_E96_v5'
|
||||
'Standard_E2ps_v5'
|
||||
'Standard_E4ps_v5'
|
||||
'Standard_E8ps_v5'
|
||||
'Standard_E16ps_v5'
|
||||
'Standard_E20ps_v5'
|
||||
'Standard_E32ps_v5'
|
||||
'Standard_E48ps_v5'
|
||||
'Standard_E64ps_v5'
|
||||
'Standard_E96ps_v5'
|
||||
'Standard_M64'
|
||||
'Standard_M128'
|
||||
'Standard_M208ms_v2'
|
||||
'Standard_M416ms_v2'
|
||||
'Standard_L4s_v2'
|
||||
'Standard_L8s_v2'
|
||||
'Standard_L16s_v2'
|
||||
'Standard_L32s_v2'
|
||||
'Standard_L64s_v2'
|
||||
'Standard_L80s_v2'
|
||||
'Standard_NC6'
|
||||
'Standard_NC12'
|
||||
'Standard_NC24'
|
||||
'Standard_NC24r'
|
||||
'Standard_ND6s'
|
||||
'Standard_ND12s'
|
||||
'Standard_ND24s'
|
||||
'Standard_ND24rs'
|
||||
'Standard_NV6'
|
||||
'Standard_NV12'
|
||||
'Standard_NV24'
|
||||
'Standard_H8'
|
||||
'Standard_H16'
|
||||
'Standard_H16r'
|
||||
'Standard_H16mr'
|
||||
'Standard_HB120rs_v2'
|
||||
'Standard_HC44rs'
|
||||
'Standard_DC2s'
|
||||
'Standard_DC4s'
|
||||
'Standard_DC2s_v2'
|
||||
'Standard_DC4s_v2'
|
||||
'Standard_DC8s_v2'
|
||||
'Standard_DC16s_v2'
|
||||
'Standard_DC32s_v2'
|
||||
'Standard_A1_v2'
|
||||
'Standard_A2_v2'
|
||||
'Standard_A4_v2'
|
||||
'Standard_A8_v2'
|
||||
'Standard_A2m_v2'
|
||||
'Standard_A4m_v2'
|
||||
'Standard_A8m_v2'
|
||||
])
|
||||
param masterNodeInstanceType string = 'Standard_B2s'
|
||||
@description('Specifies the VM size for your OpenVidu Master Node. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes.')
|
||||
param masterNodeInstanceType string = 'Standard_B4s'
|
||||
|
||||
@description('Size of the disk in GB')
|
||||
param masterNodesDiskSize int = 100
|
||||
|
||||
@description('Specifies the EC2 instance type for your OpenVidu Media Nodes')
|
||||
@allowed([
|
||||
'Standard_B1s'
|
||||
'Standard_B1ms'
|
||||
'Standard_B2s'
|
||||
'Standard_B2ms'
|
||||
'Standard_B4ms'
|
||||
'Standard_B8ms'
|
||||
'Standard_D2_v3'
|
||||
'Standard_D4_v3'
|
||||
'Standard_D8_v3'
|
||||
'Standard_D16_v3'
|
||||
'Standard_D32_v3'
|
||||
'Standard_D48_v3'
|
||||
'Standard_D64_v3'
|
||||
'Standard_D2_v4'
|
||||
'Standard_D4_v4'
|
||||
'Standard_D8_v4'
|
||||
'Standard_D16_v4'
|
||||
'Standard_D32_v4'
|
||||
'Standard_D48_v4'
|
||||
'Standard_D64_v4'
|
||||
'Standard_D96_v4'
|
||||
'Standard_D2_v5'
|
||||
'Standard_D4_v5'
|
||||
'Standard_D8_v5'
|
||||
'Standard_D16_v5'
|
||||
'Standard_D32_v5'
|
||||
'Standard_D48_v5'
|
||||
'Standard_D64_v5'
|
||||
'Standard_D96_v5'
|
||||
'Standard_D2ps_v5'
|
||||
'Standard_D4ps_v5'
|
||||
'Standard_D8ps_v5'
|
||||
'Standard_D16ps_v5'
|
||||
'Standard_D32ps_v5'
|
||||
'Standard_D48ps_v5'
|
||||
'Standard_D64ps_v5'
|
||||
'Standard_D96ps_v5'
|
||||
'Standard_D2pls_v5'
|
||||
'Standard_D4pls_v5'
|
||||
'Standard_D8pls_v5'
|
||||
'Standard_D16pls_v5'
|
||||
'Standard_D32pls_v5'
|
||||
'Standard_D48pls_v5'
|
||||
'Standard_D64pls_v5'
|
||||
'Standard_F2'
|
||||
'Standard_F4'
|
||||
'Standard_F8'
|
||||
'Standard_F16'
|
||||
'Standard_F32'
|
||||
'Standard_F64'
|
||||
'Standard_F72'
|
||||
'Standard_F2s_v2'
|
||||
'Standard_F4s_v2'
|
||||
'Standard_F8s_v2'
|
||||
'Standard_F16s_v2'
|
||||
'Standard_F32s_v2'
|
||||
'Standard_F64s_v2'
|
||||
'Standard_F72s_v2'
|
||||
'Standard_E2_v3'
|
||||
'Standard_E4_v3'
|
||||
'Standard_E8_v3'
|
||||
'Standard_E16_v3'
|
||||
'Standard_E32_v3'
|
||||
'Standard_E48_v3'
|
||||
'Standard_E64_v3'
|
||||
'Standard_E96_v3'
|
||||
'Standard_E2_v4'
|
||||
'Standard_E4_v4'
|
||||
'Standard_E8_v4'
|
||||
'Standard_E16_v4'
|
||||
'Standard_E32_v4'
|
||||
'Standard_E48_v4'
|
||||
'Standard_E64_v4'
|
||||
'Standard_E2_v5'
|
||||
'Standard_E4_v5'
|
||||
'Standard_E8_v5'
|
||||
'Standard_E16_v5'
|
||||
'Standard_E32_v5'
|
||||
'Standard_E48_v5'
|
||||
'Standard_E64_v5'
|
||||
'Standard_E96_v5'
|
||||
'Standard_M64'
|
||||
'Standard_M128'
|
||||
'Standard_M208ms_v2'
|
||||
'Standard_M416ms_v2'
|
||||
'Standard_L4s_v2'
|
||||
'Standard_L8s_v2'
|
||||
'Standard_L16s_v2'
|
||||
'Standard_L32s_v2'
|
||||
'Standard_L64s_v2'
|
||||
'Standard_L80s_v2'
|
||||
'Standard_NC6'
|
||||
'Standard_NC12'
|
||||
'Standard_NC24'
|
||||
'Standard_NC24r'
|
||||
'Standard_ND6s'
|
||||
'Standard_ND12s'
|
||||
'Standard_ND24s'
|
||||
'Standard_ND24rs'
|
||||
'Standard_NV6'
|
||||
'Standard_NV12'
|
||||
'Standard_NV24'
|
||||
'Standard_H8'
|
||||
'Standard_H16'
|
||||
'Standard_H16r'
|
||||
'Standard_H16mr'
|
||||
'Standard_HB120rs_v2'
|
||||
'Standard_HC44rs'
|
||||
'Standard_DC2s'
|
||||
'Standard_DC4s'
|
||||
'Standard_DC2s_v2'
|
||||
'Standard_DC4s_v2'
|
||||
'Standard_DC8s_v2'
|
||||
'Standard_DC16s_v2'
|
||||
'Standard_DC32s_v2'
|
||||
'Standard_A1_v2'
|
||||
'Standard_A2_v2'
|
||||
'Standard_A4_v2'
|
||||
'Standard_A8_v2'
|
||||
'Standard_A2m_v2'
|
||||
'Standard_A4m_v2'
|
||||
'Standard_A8m_v2'
|
||||
])
|
||||
param mediaNodeInstanceType string = 'Standard_B2s'
|
||||
@description('Specifies the VM size for your OpenVidu Media Nodes. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes.')
|
||||
param mediaNodeInstanceType string = 'Standard_B4s'
|
||||
|
||||
@description('Username for the Virtual Machine.')
|
||||
param adminUsername string
|
||||
|
|
@ -346,35 +89,17 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none'
|
|||
|
||||
var isEmptyDomain = domainName == ''
|
||||
|
||||
var arm64InstanceTypes = [
|
||||
'standard_d2ps_v5'
|
||||
'standard_d4ps_v5'
|
||||
'standard_d8ps_v5'
|
||||
'standard_d16ps_v5'
|
||||
'standard_d32ps_v5'
|
||||
'standard_d48ps_v5'
|
||||
'standard_d64ps_v5'
|
||||
'standard_d96ps_v5'
|
||||
'standard_d2pls_v5'
|
||||
'standard_d4pls_v5'
|
||||
'standard_d8pls_v5'
|
||||
'standard_d16pls_v5'
|
||||
'standard_d32pls_v5'
|
||||
'standard_d48pls_v5'
|
||||
'standard_d64pls_v5'
|
||||
'standard_e2ps_v5'
|
||||
'standard_e4ps_v5'
|
||||
'standard_e8ps_v5'
|
||||
'standard_e16ps_v5'
|
||||
'standard_e20ps_v5'
|
||||
'standard_e32ps_v5'
|
||||
'standard_e48ps_v5'
|
||||
'standard_e64ps_v5'
|
||||
'standard_e96ps_v5'
|
||||
]
|
||||
// ARM64 instances are detected by checking for 'p' in the instance type name pattern.
|
||||
// Azure ARM-based VMs use 'p' to indicate ARM processors (Ampere Altra, Microsoft Cobalt, etc.)
|
||||
// Examples: Standard_D2ps_v5, Standard_E4pds_v5, Standard_B2pls_v2, etc.
|
||||
// The pattern checks for 'p' followed by optional letters (like 'l', 'd', 's') before '_v' version suffix
|
||||
var masterNodeInstanceTypeLower = toLower(masterNodeInstanceType)
|
||||
var mediaNodeInstanceTypeLower = toLower(mediaNodeInstanceType)
|
||||
var isMasterArm64 = contains(masterNodeInstanceTypeLower, 'ps_v') || contains(masterNodeInstanceTypeLower, 'pls_v') || contains(masterNodeInstanceTypeLower, 'pds_v') || contains(masterNodeInstanceTypeLower, 'plds_v') || contains(masterNodeInstanceTypeLower, 'psv') || contains(masterNodeInstanceTypeLower, 'plsv') || contains(masterNodeInstanceTypeLower, 'pdsv') || contains(masterNodeInstanceTypeLower, 'pldsv')
|
||||
var isMediaArm64 = contains(mediaNodeInstanceTypeLower, 'ps_v') || contains(mediaNodeInstanceTypeLower, 'pls_v') || contains(mediaNodeInstanceTypeLower, 'pds_v') || contains(mediaNodeInstanceTypeLower, 'plds_v') || contains(mediaNodeInstanceTypeLower, 'psv') || contains(mediaNodeInstanceTypeLower, 'plsv') || contains(mediaNodeInstanceTypeLower, 'pdsv') || contains(mediaNodeInstanceTypeLower, 'pldsv')
|
||||
|
||||
var masterUbuntuSku = contains(arm64InstanceTypes, toLower(masterNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var mediaUbuntuSku = contains(arm64InstanceTypes, toLower(mediaNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var masterUbuntuSku = isMasterArm64 ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var mediaUbuntuSku = isMediaArm64 ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
|
||||
var masterNodeVMSettings = {
|
||||
osDiskType: 'StandardSSD_LRS'
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"_generator": {
|
||||
"name": "bicep",
|
||||
"version": "0.37.4.10188",
|
||||
"templateHash": "12176049289257962193"
|
||||
"templateHash": "4723246277088565564"
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
|
|
@ -108,142 +108,9 @@
|
|||
},
|
||||
"masterNodeInstanceType": {
|
||||
"type": "string",
|
||||
"defaultValue": "Standard_B2s",
|
||||
"allowedValues": [
|
||||
"Standard_B1s",
|
||||
"Standard_B1ms",
|
||||
"Standard_B2s",
|
||||
"Standard_B2ms",
|
||||
"Standard_B4ms",
|
||||
"Standard_B8ms",
|
||||
"Standard_D2_v3",
|
||||
"Standard_D4_v3",
|
||||
"Standard_D8_v3",
|
||||
"Standard_D16_v3",
|
||||
"Standard_D32_v3",
|
||||
"Standard_D48_v3",
|
||||
"Standard_D64_v3",
|
||||
"Standard_D2_v4",
|
||||
"Standard_D4_v4",
|
||||
"Standard_D8_v4",
|
||||
"Standard_D16_v4",
|
||||
"Standard_D32_v4",
|
||||
"Standard_D48_v4",
|
||||
"Standard_D64_v4",
|
||||
"Standard_D96_v4",
|
||||
"Standard_D2_v5",
|
||||
"Standard_D4_v5",
|
||||
"Standard_D8_v5",
|
||||
"Standard_D16_v5",
|
||||
"Standard_D32_v5",
|
||||
"Standard_D48_v5",
|
||||
"Standard_D64_v5",
|
||||
"Standard_D96_v5",
|
||||
"Standard_D2ps_v5",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D8ps_v5",
|
||||
"Standard_D16ps_v5",
|
||||
"Standard_D32ps_v5",
|
||||
"Standard_D48ps_v5",
|
||||
"Standard_D64ps_v5",
|
||||
"Standard_D96ps_v5",
|
||||
"Standard_D2pls_v5",
|
||||
"Standard_D4pls_v5",
|
||||
"Standard_D8pls_v5",
|
||||
"Standard_D16pls_v5",
|
||||
"Standard_D32pls_v5",
|
||||
"Standard_D48pls_v5",
|
||||
"Standard_D64pls_v5",
|
||||
"Standard_F2",
|
||||
"Standard_F4",
|
||||
"Standard_F8",
|
||||
"Standard_F16",
|
||||
"Standard_F32",
|
||||
"Standard_F64",
|
||||
"Standard_F72",
|
||||
"Standard_F2s_v2",
|
||||
"Standard_F4s_v2",
|
||||
"Standard_F8s_v2",
|
||||
"Standard_F16s_v2",
|
||||
"Standard_F32s_v2",
|
||||
"Standard_F64s_v2",
|
||||
"Standard_F72s_v2",
|
||||
"Standard_E2_v3",
|
||||
"Standard_E4_v3",
|
||||
"Standard_E8_v3",
|
||||
"Standard_E16_v3",
|
||||
"Standard_E32_v3",
|
||||
"Standard_E48_v3",
|
||||
"Standard_E64_v3",
|
||||
"Standard_E96_v3",
|
||||
"Standard_E2_v4",
|
||||
"Standard_E4_v4",
|
||||
"Standard_E8_v4",
|
||||
"Standard_E16_v4",
|
||||
"Standard_E32_v4",
|
||||
"Standard_E48_v4",
|
||||
"Standard_E64_v4",
|
||||
"Standard_E2_v5",
|
||||
"Standard_E4_v5",
|
||||
"Standard_E8_v5",
|
||||
"Standard_E16_v5",
|
||||
"Standard_E32_v5",
|
||||
"Standard_E48_v5",
|
||||
"Standard_E64_v5",
|
||||
"Standard_E96_v5",
|
||||
"Standard_E2ps_v5",
|
||||
"Standard_E4ps_v5",
|
||||
"Standard_E8ps_v5",
|
||||
"Standard_E16ps_v5",
|
||||
"Standard_E20ps_v5",
|
||||
"Standard_E32ps_v5",
|
||||
"Standard_E48ps_v5",
|
||||
"Standard_E64ps_v5",
|
||||
"Standard_E96ps_v5",
|
||||
"Standard_M64",
|
||||
"Standard_M128",
|
||||
"Standard_M208ms_v2",
|
||||
"Standard_M416ms_v2",
|
||||
"Standard_L4s_v2",
|
||||
"Standard_L8s_v2",
|
||||
"Standard_L16s_v2",
|
||||
"Standard_L32s_v2",
|
||||
"Standard_L64s_v2",
|
||||
"Standard_L80s_v2",
|
||||
"Standard_NC6",
|
||||
"Standard_NC12",
|
||||
"Standard_NC24",
|
||||
"Standard_NC24r",
|
||||
"Standard_ND6s",
|
||||
"Standard_ND12s",
|
||||
"Standard_ND24s",
|
||||
"Standard_ND24rs",
|
||||
"Standard_NV6",
|
||||
"Standard_NV12",
|
||||
"Standard_NV24",
|
||||
"Standard_H8",
|
||||
"Standard_H16",
|
||||
"Standard_H16r",
|
||||
"Standard_H16mr",
|
||||
"Standard_HB120rs_v2",
|
||||
"Standard_HC44rs",
|
||||
"Standard_DC2s",
|
||||
"Standard_DC4s",
|
||||
"Standard_DC2s_v2",
|
||||
"Standard_DC4s_v2",
|
||||
"Standard_DC8s_v2",
|
||||
"Standard_DC16s_v2",
|
||||
"Standard_DC32s_v2",
|
||||
"Standard_A1_v2",
|
||||
"Standard_A2_v2",
|
||||
"Standard_A4_v2",
|
||||
"Standard_A8_v2",
|
||||
"Standard_A2m_v2",
|
||||
"Standard_A4m_v2",
|
||||
"Standard_A8m_v2"
|
||||
],
|
||||
"defaultValue": "Standard_B4s",
|
||||
"metadata": {
|
||||
"description": "Specifies the EC2 instance type for your OpenVidu Master Node"
|
||||
"description": "Specifies the VM size for your OpenVidu Master Node. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes."
|
||||
}
|
||||
},
|
||||
"masterNodesDiskSize": {
|
||||
|
|
@ -255,133 +122,9 @@
|
|||
},
|
||||
"mediaNodeInstanceType": {
|
||||
"type": "string",
|
||||
"defaultValue": "Standard_B2s",
|
||||
"allowedValues": [
|
||||
"Standard_B1s",
|
||||
"Standard_B1ms",
|
||||
"Standard_B2s",
|
||||
"Standard_B2ms",
|
||||
"Standard_B4ms",
|
||||
"Standard_B8ms",
|
||||
"Standard_D2_v3",
|
||||
"Standard_D4_v3",
|
||||
"Standard_D8_v3",
|
||||
"Standard_D16_v3",
|
||||
"Standard_D32_v3",
|
||||
"Standard_D48_v3",
|
||||
"Standard_D64_v3",
|
||||
"Standard_D2_v4",
|
||||
"Standard_D4_v4",
|
||||
"Standard_D8_v4",
|
||||
"Standard_D16_v4",
|
||||
"Standard_D32_v4",
|
||||
"Standard_D48_v4",
|
||||
"Standard_D64_v4",
|
||||
"Standard_D96_v4",
|
||||
"Standard_D2_v5",
|
||||
"Standard_D4_v5",
|
||||
"Standard_D8_v5",
|
||||
"Standard_D16_v5",
|
||||
"Standard_D32_v5",
|
||||
"Standard_D48_v5",
|
||||
"Standard_D64_v5",
|
||||
"Standard_D96_v5",
|
||||
"Standard_D2ps_v5",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D8ps_v5",
|
||||
"Standard_D16ps_v5",
|
||||
"Standard_D32ps_v5",
|
||||
"Standard_D48ps_v5",
|
||||
"Standard_D64ps_v5",
|
||||
"Standard_D96ps_v5",
|
||||
"Standard_D2pls_v5",
|
||||
"Standard_D4pls_v5",
|
||||
"Standard_D8pls_v5",
|
||||
"Standard_D16pls_v5",
|
||||
"Standard_D32pls_v5",
|
||||
"Standard_D48pls_v5",
|
||||
"Standard_D64pls_v5",
|
||||
"Standard_F2",
|
||||
"Standard_F4",
|
||||
"Standard_F8",
|
||||
"Standard_F16",
|
||||
"Standard_F32",
|
||||
"Standard_F64",
|
||||
"Standard_F72",
|
||||
"Standard_F2s_v2",
|
||||
"Standard_F4s_v2",
|
||||
"Standard_F8s_v2",
|
||||
"Standard_F16s_v2",
|
||||
"Standard_F32s_v2",
|
||||
"Standard_F64s_v2",
|
||||
"Standard_F72s_v2",
|
||||
"Standard_E2_v3",
|
||||
"Standard_E4_v3",
|
||||
"Standard_E8_v3",
|
||||
"Standard_E16_v3",
|
||||
"Standard_E32_v3",
|
||||
"Standard_E48_v3",
|
||||
"Standard_E64_v3",
|
||||
"Standard_E96_v3",
|
||||
"Standard_E2_v4",
|
||||
"Standard_E4_v4",
|
||||
"Standard_E8_v4",
|
||||
"Standard_E16_v4",
|
||||
"Standard_E32_v4",
|
||||
"Standard_E48_v4",
|
||||
"Standard_E64_v4",
|
||||
"Standard_E2_v5",
|
||||
"Standard_E4_v5",
|
||||
"Standard_E8_v5",
|
||||
"Standard_E16_v5",
|
||||
"Standard_E32_v5",
|
||||
"Standard_E48_v5",
|
||||
"Standard_E64_v5",
|
||||
"Standard_E96_v5",
|
||||
"Standard_M64",
|
||||
"Standard_M128",
|
||||
"Standard_M208ms_v2",
|
||||
"Standard_M416ms_v2",
|
||||
"Standard_L4s_v2",
|
||||
"Standard_L8s_v2",
|
||||
"Standard_L16s_v2",
|
||||
"Standard_L32s_v2",
|
||||
"Standard_L64s_v2",
|
||||
"Standard_L80s_v2",
|
||||
"Standard_NC6",
|
||||
"Standard_NC12",
|
||||
"Standard_NC24",
|
||||
"Standard_NC24r",
|
||||
"Standard_ND6s",
|
||||
"Standard_ND12s",
|
||||
"Standard_ND24s",
|
||||
"Standard_ND24rs",
|
||||
"Standard_NV6",
|
||||
"Standard_NV12",
|
||||
"Standard_NV24",
|
||||
"Standard_H8",
|
||||
"Standard_H16",
|
||||
"Standard_H16r",
|
||||
"Standard_H16mr",
|
||||
"Standard_HB120rs_v2",
|
||||
"Standard_HC44rs",
|
||||
"Standard_DC2s",
|
||||
"Standard_DC4s",
|
||||
"Standard_DC2s_v2",
|
||||
"Standard_DC4s_v2",
|
||||
"Standard_DC8s_v2",
|
||||
"Standard_DC16s_v2",
|
||||
"Standard_DC32s_v2",
|
||||
"Standard_A1_v2",
|
||||
"Standard_A2_v2",
|
||||
"Standard_A4_v2",
|
||||
"Standard_A8_v2",
|
||||
"Standard_A2m_v2",
|
||||
"Standard_A4m_v2",
|
||||
"Standard_A8m_v2"
|
||||
],
|
||||
"defaultValue": "Standard_B4s",
|
||||
"metadata": {
|
||||
"description": "Specifies the EC2 instance type for your OpenVidu Media Nodes"
|
||||
"description": "Specifies the VM size for your OpenVidu Media Nodes. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes."
|
||||
}
|
||||
},
|
||||
"adminUsername": {
|
||||
|
|
@ -464,34 +207,12 @@
|
|||
"variables": {
|
||||
"isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]",
|
||||
"isEmptyDomain": "[equals(parameters('domainName'), '')]",
|
||||
"arm64InstanceTypes": [
|
||||
"standard_d2ps_v5",
|
||||
"standard_d4ps_v5",
|
||||
"standard_d8ps_v5",
|
||||
"standard_d16ps_v5",
|
||||
"standard_d32ps_v5",
|
||||
"standard_d48ps_v5",
|
||||
"standard_d64ps_v5",
|
||||
"standard_d96ps_v5",
|
||||
"standard_d2pls_v5",
|
||||
"standard_d4pls_v5",
|
||||
"standard_d8pls_v5",
|
||||
"standard_d16pls_v5",
|
||||
"standard_d32pls_v5",
|
||||
"standard_d48pls_v5",
|
||||
"standard_d64pls_v5",
|
||||
"standard_e2ps_v5",
|
||||
"standard_e4ps_v5",
|
||||
"standard_e8ps_v5",
|
||||
"standard_e16ps_v5",
|
||||
"standard_e20ps_v5",
|
||||
"standard_e32ps_v5",
|
||||
"standard_e48ps_v5",
|
||||
"standard_e64ps_v5",
|
||||
"standard_e96ps_v5"
|
||||
],
|
||||
"masterUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('masterNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"mediaUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('mediaNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"masterNodeInstanceTypeLower": "[toLower(parameters('masterNodeInstanceType'))]",
|
||||
"mediaNodeInstanceTypeLower": "[toLower(parameters('mediaNodeInstanceType'))]",
|
||||
"isMasterArm64": "[or(or(or(or(or(or(or(contains(variables('masterNodeInstanceTypeLower'), 'ps_v'), contains(variables('masterNodeInstanceTypeLower'), 'pls_v')), contains(variables('masterNodeInstanceTypeLower'), 'pds_v')), contains(variables('masterNodeInstanceTypeLower'), 'plds_v')), contains(variables('masterNodeInstanceTypeLower'), 'psv')), contains(variables('masterNodeInstanceTypeLower'), 'plsv')), contains(variables('masterNodeInstanceTypeLower'), 'pdsv')), contains(variables('masterNodeInstanceTypeLower'), 'pldsv'))]",
|
||||
"isMediaArm64": "[or(or(or(or(or(or(or(contains(variables('mediaNodeInstanceTypeLower'), 'ps_v'), contains(variables('mediaNodeInstanceTypeLower'), 'pls_v')), contains(variables('mediaNodeInstanceTypeLower'), 'pds_v')), contains(variables('mediaNodeInstanceTypeLower'), 'plds_v')), contains(variables('mediaNodeInstanceTypeLower'), 'psv')), contains(variables('mediaNodeInstanceTypeLower'), 'plsv')), contains(variables('mediaNodeInstanceTypeLower'), 'pdsv')), contains(variables('mediaNodeInstanceTypeLower'), 'pldsv'))]",
|
||||
"masterUbuntuSku": "[if(variables('isMasterArm64'), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"mediaUbuntuSku": "[if(variables('isMediaArm64'), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"masterNodeVMSettings": {
|
||||
"osDiskType": "StandardSSD_LRS",
|
||||
"osDiskSize": "[parameters('masterNodesDiskSize')]",
|
||||
|
|
|
|||
|
|
@ -260,7 +260,10 @@
|
|||
"label": "Master Node Instance Type",
|
||||
"toolTip": "Specifies the Azure instance type for your OpenVidu Master Node",
|
||||
"recommendedSizes": [
|
||||
"Standard_B2s"
|
||||
"Standard_B4s",
|
||||
"Standard_B4ms",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D4pls_v5"
|
||||
],
|
||||
"constraints": {
|
||||
"allowedSizes": [],
|
||||
|
|
@ -295,8 +298,10 @@
|
|||
"label": "Media Node Instance Type",
|
||||
"toolTip": "Specifies the Azure instance type for your OpenVidu Media Nodes",
|
||||
"recommendedSizes": [
|
||||
"Standard_B2s",
|
||||
"Standard_B4ms"
|
||||
"Standard_B4s",
|
||||
"Standard_B4ms",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D4pls_v5"
|
||||
],
|
||||
"constraints": {
|
||||
"allowedSizes": [],
|
||||
|
|
|
|||
|
|
@ -54,141 +54,8 @@ param openviduLicense string
|
|||
param rtcEngine string = 'pion'
|
||||
|
||||
// Azure instance config
|
||||
@description('Specifies the azure vm size for your OpenVidu instance')
|
||||
@allowed([
|
||||
'Standard_B1s'
|
||||
'Standard_B1ms'
|
||||
'Standard_B2s'
|
||||
'Standard_B2ms'
|
||||
'Standard_B4ms'
|
||||
'Standard_B8ms'
|
||||
'Standard_D2_v3'
|
||||
'Standard_D4_v3'
|
||||
'Standard_D8_v3'
|
||||
'Standard_D16_v3'
|
||||
'Standard_D32_v3'
|
||||
'Standard_D48_v3'
|
||||
'Standard_D64_v3'
|
||||
'Standard_D2_v4'
|
||||
'Standard_D4_v4'
|
||||
'Standard_D8_v4'
|
||||
'Standard_D16_v4'
|
||||
'Standard_D32_v4'
|
||||
'Standard_D48_v4'
|
||||
'Standard_D64_v4'
|
||||
'Standard_D96_v4'
|
||||
'Standard_D2_v5'
|
||||
'Standard_D4_v5'
|
||||
'Standard_D8_v5'
|
||||
'Standard_D16_v5'
|
||||
'Standard_D32_v5'
|
||||
'Standard_D48_v5'
|
||||
'Standard_D64_v5'
|
||||
'Standard_D96_v5'
|
||||
'Standard_D2ps_v5'
|
||||
'Standard_D4ps_v5'
|
||||
'Standard_D8ps_v5'
|
||||
'Standard_D16ps_v5'
|
||||
'Standard_D32ps_v5'
|
||||
'Standard_D48ps_v5'
|
||||
'Standard_D64ps_v5'
|
||||
'Standard_D2pls_v5'
|
||||
'Standard_D4pls_v5'
|
||||
'Standard_D8pls_v5'
|
||||
'Standard_D16pls_v5'
|
||||
'Standard_D32pls_v5'
|
||||
'Standard_D48pls_v5'
|
||||
'Standard_D64pls_v5'
|
||||
'Standard_D96ps_v5'
|
||||
'Standard_F2'
|
||||
'Standard_F4'
|
||||
'Standard_F8'
|
||||
'Standard_F16'
|
||||
'Standard_F32'
|
||||
'Standard_F64'
|
||||
'Standard_F72'
|
||||
'Standard_F2s_v2'
|
||||
'Standard_F4s_v2'
|
||||
'Standard_F8s_v2'
|
||||
'Standard_F16s_v2'
|
||||
'Standard_F32s_v2'
|
||||
'Standard_F64s_v2'
|
||||
'Standard_F72s_v2'
|
||||
'Standard_E2_v3'
|
||||
'Standard_E4_v3'
|
||||
'Standard_E8_v3'
|
||||
'Standard_E16_v3'
|
||||
'Standard_E32_v3'
|
||||
'Standard_E48_v3'
|
||||
'Standard_E64_v3'
|
||||
'Standard_E96_v3'
|
||||
'Standard_E2_v4'
|
||||
'Standard_E4_v4'
|
||||
'Standard_E8_v4'
|
||||
'Standard_E16_v4'
|
||||
'Standard_E32_v4'
|
||||
'Standard_E48_v4'
|
||||
'Standard_E64_v4'
|
||||
'Standard_E2_v5'
|
||||
'Standard_E4_v5'
|
||||
'Standard_E8_v5'
|
||||
'Standard_E16_v5'
|
||||
'Standard_E32_v5'
|
||||
'Standard_E48_v5'
|
||||
'Standard_E64_v5'
|
||||
'Standard_E96_v5'
|
||||
'Standard_E2ps_v5'
|
||||
'Standard_E4ps_v5'
|
||||
'Standard_E8ps_v5'
|
||||
'Standard_E16ps_v5'
|
||||
'Standard_E20ps_v5'
|
||||
'Standard_E32ps_v5'
|
||||
'Standard_E48ps_v5'
|
||||
'Standard_E64ps_v5'
|
||||
'Standard_E96ps_v5'
|
||||
'Standard_M64'
|
||||
'Standard_M128'
|
||||
'Standard_M208ms_v2'
|
||||
'Standard_M416ms_v2'
|
||||
'Standard_L4s_v2'
|
||||
'Standard_L8s_v2'
|
||||
'Standard_L16s_v2'
|
||||
'Standard_L32s_v2'
|
||||
'Standard_L64s_v2'
|
||||
'Standard_L80s_v2'
|
||||
'Standard_NC6'
|
||||
'Standard_NC12'
|
||||
'Standard_NC24'
|
||||
'Standard_NC24r'
|
||||
'Standard_ND6s'
|
||||
'Standard_ND12s'
|
||||
'Standard_ND24s'
|
||||
'Standard_ND24rs'
|
||||
'Standard_NV6'
|
||||
'Standard_NV12'
|
||||
'Standard_NV24'
|
||||
'Standard_H8'
|
||||
'Standard_H16'
|
||||
'Standard_H16r'
|
||||
'Standard_H16mr'
|
||||
'Standard_HB120rs_v2'
|
||||
'Standard_HC44rs'
|
||||
'Standard_DC2s'
|
||||
'Standard_DC4s'
|
||||
'Standard_DC2s_v2'
|
||||
'Standard_DC4s_v2'
|
||||
'Standard_DC8s_v2'
|
||||
'Standard_DC16s_v2'
|
||||
'Standard_DC32s_v2'
|
||||
'Standard_A1_v2'
|
||||
'Standard_A2_v2'
|
||||
'Standard_A4_v2'
|
||||
'Standard_A8_v2'
|
||||
'Standard_A2m_v2'
|
||||
'Standard_A4m_v2'
|
||||
'Standard_A8m_v2'
|
||||
])
|
||||
param instanceType string = 'Standard_B2s' // Azure instance types.
|
||||
@description('Specifies the azure vm size for your OpenVidu instance. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes.')
|
||||
param instanceType string = 'Standard_B4s'
|
||||
|
||||
@description('Username for the Virtual Machine.')
|
||||
param adminUsername string
|
||||
|
|
@ -207,34 +74,14 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none'
|
|||
//Condition for the domain name
|
||||
var isEmptyDomain = domainName == ''
|
||||
|
||||
var arm64InstanceTypes = [
|
||||
'standard_d2ps_v5'
|
||||
'standard_d4ps_v5'
|
||||
'standard_d8ps_v5'
|
||||
'standard_d16ps_v5'
|
||||
'standard_d32ps_v5'
|
||||
'standard_d48ps_v5'
|
||||
'standard_d64ps_v5'
|
||||
'standard_d2pls_v5'
|
||||
'standard_d4pls_v5'
|
||||
'standard_d8pls_v5'
|
||||
'standard_d16pls_v5'
|
||||
'standard_d32pls_v5'
|
||||
'standard_d48pls_v5'
|
||||
'standard_d64pls_v5'
|
||||
'standard_d96ps_v5'
|
||||
'standard_e2ps_v5'
|
||||
'standard_e4ps_v5'
|
||||
'standard_e8ps_v5'
|
||||
'standard_e16ps_v5'
|
||||
'standard_e20ps_v5'
|
||||
'standard_e32ps_v5'
|
||||
'standard_e48ps_v5'
|
||||
'standard_e64ps_v5'
|
||||
'standard_e96ps_v5'
|
||||
]
|
||||
// ARM64 instances are detected by checking for 'p' in the instance type name pattern.
|
||||
// Azure ARM-based VMs use 'p' to indicate ARM processors (Ampere Altra, Microsoft Cobalt, etc.)
|
||||
// Examples: Standard_D2ps_v5, Standard_E4pds_v5, Standard_B2pls_v2, etc.
|
||||
// The pattern checks for 'p' followed by optional letters (like 'l', 'd', 's') before '_v' version suffix
|
||||
var instanceTypeLower = toLower(instanceType)
|
||||
var isArm64Instance = contains(instanceTypeLower, 'ps_v') || contains(instanceTypeLower, 'pls_v') || contains(instanceTypeLower, 'pds_v') || contains(instanceTypeLower, 'plds_v') || contains(instanceTypeLower, 'psv') || contains(instanceTypeLower, 'plsv') || contains(instanceTypeLower, 'pdsv') || contains(instanceTypeLower, 'pldsv')
|
||||
|
||||
var ubuntuSku = contains(arm64InstanceTypes, toLower(instanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
var ubuntuSku = isArm64Instance ? '24_04-lts-arm64' : '24_04-lts-gen2'
|
||||
|
||||
//Variables for deployment
|
||||
var networkSettings = {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"_generator": {
|
||||
"name": "bicep",
|
||||
"version": "0.37.4.10188",
|
||||
"templateHash": "14399294642253213945"
|
||||
"templateHash": "14237993136432487485"
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
|
|
@ -108,142 +108,9 @@
|
|||
},
|
||||
"instanceType": {
|
||||
"type": "string",
|
||||
"defaultValue": "Standard_B2s",
|
||||
"allowedValues": [
|
||||
"Standard_B1s",
|
||||
"Standard_B1ms",
|
||||
"Standard_B2s",
|
||||
"Standard_B2ms",
|
||||
"Standard_B4ms",
|
||||
"Standard_B8ms",
|
||||
"Standard_D2_v3",
|
||||
"Standard_D4_v3",
|
||||
"Standard_D8_v3",
|
||||
"Standard_D16_v3",
|
||||
"Standard_D32_v3",
|
||||
"Standard_D48_v3",
|
||||
"Standard_D64_v3",
|
||||
"Standard_D2_v4",
|
||||
"Standard_D4_v4",
|
||||
"Standard_D8_v4",
|
||||
"Standard_D16_v4",
|
||||
"Standard_D32_v4",
|
||||
"Standard_D48_v4",
|
||||
"Standard_D64_v4",
|
||||
"Standard_D96_v4",
|
||||
"Standard_D2_v5",
|
||||
"Standard_D4_v5",
|
||||
"Standard_D8_v5",
|
||||
"Standard_D16_v5",
|
||||
"Standard_D32_v5",
|
||||
"Standard_D48_v5",
|
||||
"Standard_D64_v5",
|
||||
"Standard_D96_v5",
|
||||
"Standard_D2ps_v5",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D8ps_v5",
|
||||
"Standard_D16ps_v5",
|
||||
"Standard_D32ps_v5",
|
||||
"Standard_D48ps_v5",
|
||||
"Standard_D64ps_v5",
|
||||
"Standard_D2pls_v5",
|
||||
"Standard_D4pls_v5",
|
||||
"Standard_D8pls_v5",
|
||||
"Standard_D16pls_v5",
|
||||
"Standard_D32pls_v5",
|
||||
"Standard_D48pls_v5",
|
||||
"Standard_D64pls_v5",
|
||||
"Standard_D96ps_v5",
|
||||
"Standard_F2",
|
||||
"Standard_F4",
|
||||
"Standard_F8",
|
||||
"Standard_F16",
|
||||
"Standard_F32",
|
||||
"Standard_F64",
|
||||
"Standard_F72",
|
||||
"Standard_F2s_v2",
|
||||
"Standard_F4s_v2",
|
||||
"Standard_F8s_v2",
|
||||
"Standard_F16s_v2",
|
||||
"Standard_F32s_v2",
|
||||
"Standard_F64s_v2",
|
||||
"Standard_F72s_v2",
|
||||
"Standard_E2_v3",
|
||||
"Standard_E4_v3",
|
||||
"Standard_E8_v3",
|
||||
"Standard_E16_v3",
|
||||
"Standard_E32_v3",
|
||||
"Standard_E48_v3",
|
||||
"Standard_E64_v3",
|
||||
"Standard_E96_v3",
|
||||
"Standard_E2_v4",
|
||||
"Standard_E4_v4",
|
||||
"Standard_E8_v4",
|
||||
"Standard_E16_v4",
|
||||
"Standard_E32_v4",
|
||||
"Standard_E48_v4",
|
||||
"Standard_E64_v4",
|
||||
"Standard_E2_v5",
|
||||
"Standard_E4_v5",
|
||||
"Standard_E8_v5",
|
||||
"Standard_E16_v5",
|
||||
"Standard_E32_v5",
|
||||
"Standard_E48_v5",
|
||||
"Standard_E64_v5",
|
||||
"Standard_E96_v5",
|
||||
"Standard_E2ps_v5",
|
||||
"Standard_E4ps_v5",
|
||||
"Standard_E8ps_v5",
|
||||
"Standard_E16ps_v5",
|
||||
"Standard_E20ps_v5",
|
||||
"Standard_E32ps_v5",
|
||||
"Standard_E48ps_v5",
|
||||
"Standard_E64ps_v5",
|
||||
"Standard_E96ps_v5",
|
||||
"Standard_M64",
|
||||
"Standard_M128",
|
||||
"Standard_M208ms_v2",
|
||||
"Standard_M416ms_v2",
|
||||
"Standard_L4s_v2",
|
||||
"Standard_L8s_v2",
|
||||
"Standard_L16s_v2",
|
||||
"Standard_L32s_v2",
|
||||
"Standard_L64s_v2",
|
||||
"Standard_L80s_v2",
|
||||
"Standard_NC6",
|
||||
"Standard_NC12",
|
||||
"Standard_NC24",
|
||||
"Standard_NC24r",
|
||||
"Standard_ND6s",
|
||||
"Standard_ND12s",
|
||||
"Standard_ND24s",
|
||||
"Standard_ND24rs",
|
||||
"Standard_NV6",
|
||||
"Standard_NV12",
|
||||
"Standard_NV24",
|
||||
"Standard_H8",
|
||||
"Standard_H16",
|
||||
"Standard_H16r",
|
||||
"Standard_H16mr",
|
||||
"Standard_HB120rs_v2",
|
||||
"Standard_HC44rs",
|
||||
"Standard_DC2s",
|
||||
"Standard_DC4s",
|
||||
"Standard_DC2s_v2",
|
||||
"Standard_DC4s_v2",
|
||||
"Standard_DC8s_v2",
|
||||
"Standard_DC16s_v2",
|
||||
"Standard_DC32s_v2",
|
||||
"Standard_A1_v2",
|
||||
"Standard_A2_v2",
|
||||
"Standard_A4_v2",
|
||||
"Standard_A8_v2",
|
||||
"Standard_A2m_v2",
|
||||
"Standard_A4m_v2",
|
||||
"Standard_A8m_v2"
|
||||
],
|
||||
"defaultValue": "Standard_B4s",
|
||||
"metadata": {
|
||||
"description": "Specifies the azure vm size for your OpenVidu instance"
|
||||
"description": "Specifies the azure vm size for your OpenVidu instance. You can use any valid Azure VM size (e.g., Standard_B4s, Standard_D4s_v5, Standard_E4ps_v5). See https://learn.microsoft.com/en-us/azure/virtual-machines/sizes for available sizes."
|
||||
}
|
||||
},
|
||||
"adminUsername": {
|
||||
|
|
@ -280,33 +147,9 @@
|
|||
"variables": {
|
||||
"isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]",
|
||||
"isEmptyDomain": "[equals(parameters('domainName'), '')]",
|
||||
"arm64InstanceTypes": [
|
||||
"standard_d2ps_v5",
|
||||
"standard_d4ps_v5",
|
||||
"standard_d8ps_v5",
|
||||
"standard_d16ps_v5",
|
||||
"standard_d32ps_v5",
|
||||
"standard_d48ps_v5",
|
||||
"standard_d64ps_v5",
|
||||
"standard_d2pls_v5",
|
||||
"standard_d4pls_v5",
|
||||
"standard_d8pls_v5",
|
||||
"standard_d16pls_v5",
|
||||
"standard_d32pls_v5",
|
||||
"standard_d48pls_v5",
|
||||
"standard_d64pls_v5",
|
||||
"standard_d96ps_v5",
|
||||
"standard_e2ps_v5",
|
||||
"standard_e4ps_v5",
|
||||
"standard_e8ps_v5",
|
||||
"standard_e16ps_v5",
|
||||
"standard_e20ps_v5",
|
||||
"standard_e32ps_v5",
|
||||
"standard_e48ps_v5",
|
||||
"standard_e64ps_v5",
|
||||
"standard_e96ps_v5"
|
||||
],
|
||||
"ubuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('instanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"instanceTypeLower": "[toLower(parameters('instanceType'))]",
|
||||
"isArm64Instance": "[or(or(or(or(or(or(or(contains(variables('instanceTypeLower'), 'ps_v'), contains(variables('instanceTypeLower'), 'pls_v')), contains(variables('instanceTypeLower'), 'pds_v')), contains(variables('instanceTypeLower'), 'plds_v')), contains(variables('instanceTypeLower'), 'psv')), contains(variables('instanceTypeLower'), 'plsv')), contains(variables('instanceTypeLower'), 'pdsv')), contains(variables('instanceTypeLower'), 'pldsv'))]",
|
||||
"ubuntuSku": "[if(variables('isArm64Instance'), '24_04-lts-arm64', '24_04-lts-gen2')]",
|
||||
"networkSettings": {
|
||||
"privateIPaddressNetInterface": "10.0.0.5",
|
||||
"vNetAddressPrefix": "10.0.0.0/16",
|
||||
|
|
|
|||
|
|
@ -259,8 +259,10 @@
|
|||
"label": "Type of Instance",
|
||||
"toolTip": "Specifies the azure vm size for your OpenVidu instance",
|
||||
"recommendedSizes": [
|
||||
"Standard_B2s",
|
||||
"Standard_B4ms"
|
||||
"Standard_B4s",
|
||||
"Standard_B4ms",
|
||||
"Standard_D4ps_v5",
|
||||
"Standard_D4pls_v5"
|
||||
],
|
||||
"constraints": {
|
||||
"allowedSizes": [],
|
||||
|
|
|
|||
Loading…
Reference in New Issue