Resources/Schema/New-CmAzIaasVpnGw.Schema.json
{
"$schema": "http://json-schema.org/draft-07/schema", "$id": "http://example.com/example.json", "type": "object", "title": "New-CmAzIaasVpnGw", "description": "Settings Root.", "required": [ "location", "service", "vpnGws" ], "properties": { "component": { "$id": "#/component", "type": ["string", "null"], "title": "Component", "description": "Value to determine what cmdlet should be dynamically loaded for these settings." }, "location": { "$id": "#/location", "type": "string", "title": "Location", "description": "Vpn gateway deployment location" }, "service": { "$id": "#/service", "type": "object", "title": "Service", "description": "Contains dependency and publish details for service location.", "required": [ "dependencies" ], "properties": { "dependencies": { "$id": "#/service/dependencies", "type": "object", "title": "Dependencies", "description": "Contains dependency details for service location.", "required": [ "resourceGroup" ], "properties": { "resourceGroup": { "$id": "#/service/dependencies/resourceGroup", "type": "string", "title": "ResourceGroup", "description": "Dependency value to fetch existing resource type." }, "keyvault": { "$id": "#/service/dependencies/keyvault", "type": ["string", "null"], "title": "Keyvault", "description": "Global default dependency value to fetch existing resource type." }, "vnet": { "$id": "#/service/dependencies/vnet", "type": ["string", "null"], "title": "Vnet", "description": "Global default dependency value to fetch existing resource type." } }, "additionalProperties": false }, "publish": { "$id": "#/service/publish", "type": ["object", "null"], "title": "Publish", "description": "Contains publish details for service location.", "properties": { "publicIp": { "$id": "#/service/publish/publicIp", "type": ["string", "null"], "title": "PublicIp", "description": "Global default value to publish on deployed resource type." }, "virtualNetworkGateway": { "$id": "#/service/publish/virtualNetworkGateway", "type": ["string", "null"], "title": "VirtualNetworkGateway", "description": "Global default value to publish on deployed resource type." }, "localNetworkGateway": { "$id": "#/service/publish/localNetworkGateway", "type": ["string", "null"], "title": "LocalNetworkGateway", "description": "Global default value to publish on deployed resource type." } }, "additionalProperties": false } }, "additionalProperties": false }, "vpnGws": { "$id": "#/vpnGws", "type": "array", "title": "Configuration of vpn gateways", "description": "Contains list of details required to deploy vpn gateways and its dependent resources.", "items": { "$id": "#/vpnGws/items", "minItems": 1, "allOf": [ { "$id": "#/vpnGws/items/allOf", "type": "object", "required": [ "gatewayName", "sku" ], "properties": { "gatewayName": { "$id": "#/vpnGws/items/allOf/gatewayName", "type": "string", "title": "GatewayName", "description": "Becomes part of the generated local network gateway, public ip address and virtual network gateway names." }, "service": { "$id": "#/vpnGws/items/allOf/service", "type": ["object", "null"], "title": "Service", "description": "Contains dependency and publish details for service location.", "properties": { "dependencies": { "$id": "#/vpnGws/items/allOf/service/dependencies", "type": ["object", "null"], "title": "Dependencies", "description": "Contains dependency details for service location.", "properties": { "keyVault": { "$id": "#/vpnGws/items/allOf/service/dependencies/keyVault", "type": ["string", "null"], "title": "KeyVault", "description": "Local overriding dependency value to fetch existing resource type." }, "vnet": { "$id": "#/vpnGws/items/allOf/service/dependencies/vnet", "type": ["string", "null"], "title": "Vnet", "description": "Local overriding dependency value to fetch existing resource type." } }, "additionalProperties": false }, "publish": { "$id": "#/vpnGws/items/allOf/service/publish", "type": ["object", "null"], "title": "Publish", "description": "Contains publish details for service location.", "properties": { "publicIp": { "$id": "#/vpnGws/items/allOf/service/publish/publicIp", "type": ["string", "null"], "title": "PublicIp", "description": "Local overriding value to publish on deployed existing resource type." }, "virtualNetworkGateway": { "$id": "#/vpnGws/items/allOf/service/publish/virtualNetworkGateway", "type": ["string", "null"], "title": "VirtualNetworkGateway", "description": "Local overriding value to publish on deployed existing resource type." }, "localNetworkGateway": { "$id": "#/vpnGws/items/allOf/service/publish/localNetworkGateway", "type": ["string", "null"], "title": "LocalNetworkGateway", "description": "Local overriding value to publish on deployed existing resource type." } }, "additionalProperties": false } }, "additionalProperties": false }, "sku": { "$id": "#/vpnGws/items/allOf/sku", "type": "string", "title": "Sku", "description": "Sku name and tier." }, "gatewaySubnetPrefix": { "$id": "#/vpnGws/items/allOf/gatewaySubnetPrefix", "type": ["string", "null"], "title": "GatewaySubnetPrefix", "description": "Gateway subnet address prefix." }, "p2s": { "$id": "#/vpnGws/items/allOf/p2s", "type": ["object", "null"], "title": "P2s", "description": "Contains P2s Configuration.", "default": { "vpnAddressPool": "", "rootCertificateName": "" }, "properties": { "vpnAddressPool": { "$id": "#/vpnGws/items/allOf/p2s/vpnAddressPool", "type": ["string", "null"], "title": "VpnAddressPool", "description": "The vpn ip address pool.", "default": "" }, "rootCertificateName": { "$id": "#/vpnGws/items/allOf/p2s/rootCertificateName", "type": ["string", "null"], "title": "RootCertificateName", "description": "Secret name of root certificate in an existing key vault.", "default": "" } }, "additionalProperties": false }, "s2s": { "$id": "#/vpnGws/items/allOf/s2s", "type": ["object", "null"], "title": "S2s", "description": "Contains S2s Configuration.", "default": { "localGatewayName":"none", "cidrBlocks": [] }, "properties": { "keyVaultSecret": { "$id": "#/vpnGws/items/allOf/s2s/keyvaultSecret", "type": ["string", "null"], "title": "KeyvaultSecret", "description": "Name of secret to fetch from an existing key vault." }, "clientSitePublicIP": { "$id": "#/vpnGws/items/allOf/s2s/clientSitePublicIP", "type": ["string", "null"], "title": "ClientSitePublicIP", "description": "Client site Public ip address.", "format": "ipv4", "default": "" }, "sharedKey": { "$id": "#/vpnGws/items/allOf/s2s/sharedKey", "type": "string", "title": "SharedKey", "description": "key vault secret containing the shared key." }, "cidrBlocks": { "$id": "#/vpnGws/items/allOf/s2s/cidrBlocks", "type": ["array", "null"], "title": "CidrBlocks", "description": "Cidr blocks allowed over vpn.", "items": { "$id": "#/vpnGws/items/allOf/s2s/cidrBlocks/items", "allOf": [ { "$id": "#/vpnGws/items/allOf/s2s/cidrBlocks/items/allOf", "type": "string", "description": "List of allowed cidr ranges." } ] } } }, "additionalProperties": false } }, "additionalProperties": false } ] } } }, "additionalProperties": false } |