Azure / azure-resource-manager-schemas

Schemas used to author and validate Resource Manager Templates. These schemas power the intellisense and syntax completion in our ARM Tools VSCode extension, as well as the Export Template API
MIT License
609 stars 516 forks source link

Use autorest v2 for Microsoft.Network schema generation #3045

Closed anthony-c-martin closed 4 months ago

anthony-c-martin commented 4 months ago

This cuts the running time down from ~5h to ~20m for NRP schema generation.

Because ordering of properties has changed, to make this easier to review - here are diffs of the latest API version for each schema, generated using json-diff:

Microsoft.Network.DNS.diff ```diff { resourceDefinitions: { dnsForwardingRulesets: { properties: { properties: { - description: "Represents the properties of a DNS forwarding ruleset." + description: "Properties of the DNS forwarding ruleset." } } required: [ - "apiVersion" - "location" ... ... + "apiVersion" ... ] } dnsForwardingRulesets_forwardingRules: { properties: { properties: { - description: "Represents the properties of a forwarding rule within a DNS forwarding ruleset." + description: "Properties of the forwarding rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } dnsForwardingRulesets_virtualNetworkLinks: { properties: { properties: { - description: "Represents the properties of a virtual network link." + description: "Properties of the virtual network link." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } dnsResolvers: { properties: { properties: { - description: "Represents the properties of a DNS resolver." + description: "Properties of the DNS resolver." } } required: [ - "apiVersion" - "location" ... ... + "apiVersion" ... ] } dnsResolvers_inboundEndpoints: { properties: { properties: { - description: "Represents the properties of an inbound endpoint for a DNS resolver." + description: "Properties of the inbound endpoint." } } required: [ - "apiVersion" - "location" ... ... + "apiVersion" ... ] } dnsResolvers_outboundEndpoints: { properties: { properties: { - description: "Represents the properties of an outbound endpoint for a DNS resolver." + description: "Properties of the outbound endpoint." } } required: [ - "apiVersion" - "location" ... ... + "apiVersion" ... ] } } definitions: { dnsForwardingRulesets_forwardingRules_childResource: { properties: { properties: { - description: "Represents the properties of a forwarding rule within a DNS forwarding ruleset." + description: "Properties of the forwarding rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } dnsForwardingRulesets_virtualNetworkLinks_childResource: { properties: { properties: { - description: "Represents the properties of a virtual network link." + description: "Properties of the virtual network link." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } DnsResolverProperties: { properties: { virtualNetwork: { - description: "Reference to another ARM resource." + description: "The reference to the virtual network. This cannot be changed after creation." } } } dnsResolvers_inboundEndpoints_childResource: { properties: { properties: { - description: "Represents the properties of an inbound endpoint for a DNS resolver." + description: "Properties of the inbound endpoint." } } required: [ - "apiVersion" - "location" ... ... + "apiVersion" ... ] } dnsResolvers_outboundEndpoints_childResource: { properties: { properties: { - description: "Represents the properties of an outbound endpoint for a DNS resolver." + description: "Properties of the outbound endpoint." } } required: [ - "apiVersion" - "location" ... ... + "apiVersion" ... ] } IpConfiguration: { properties: { subnet: { - description: "Reference to another ARM resource." + description: "The reference to the subnet bound to the IP configuration." } } } OutboundEndpointProperties: { properties: { subnet: { - description: "Reference to another ARM resource." + description: "The reference to the subnet used for the outbound endpoint." } } } TargetDnsServer: { properties: { port: { oneOf: [ { - default: "53" } ... ] } } } VirtualNetworkLinkProperties: { properties: { virtualNetwork: { - description: "Reference to another ARM resource." + description: "The reference to the virtual network. This cannot be changed after creation." } } } } } ```
Microsoft.Network.TrafficManager.diff ```diff { resourceDefinitions: { trafficmanagerprofiles: { properties: { properties: { - description: "Class representing the Traffic Manager profile properties." + description: "The properties of the Traffic Manager profile." } resources: { items: { oneOf: [ ... + { + $ref: "#/definitions/trafficmanagerprofiles_NestedEndpoints_childResource" + } ... - { - $ref: "#/definitions/trafficmanagerprofiles_NestedEndpoints_childResource" - } ] } } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } trafficmanagerprofiles_AzureEndpoints: { properties: { properties: { - description: "Class representing a Traffic Manager endpoint properties." + description: "The properties of the Traffic Manager endpoint." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } trafficmanagerprofiles_ExternalEndpoints: { properties: { properties: { - description: "Class representing a Traffic Manager endpoint properties." + description: "The properties of the Traffic Manager endpoint." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } trafficmanagerprofiles_NestedEndpoints: { properties: { properties: { - description: "Class representing a Traffic Manager endpoint properties." + description: "The properties of the Traffic Manager endpoint." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } } subscription_resourceDefinitions: { trafficManagerUserMetricsKeys: { properties: { name: { - type: "string" - enum: [ - "default" - ] + oneOf: [ + { + enum: [ + "default" + ] + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } } required: [ + "name" ... - "name" ... ] } } definitions: { Endpoint: { properties: { properties: { - description: "Class representing a Traffic Manager endpoint properties." + description: "The properties of the Traffic Manager endpoint." } } } ProfileProperties: { properties: { dnsConfig: { - description: "Class containing DNS settings in a Traffic Manager profile." + description: "The DNS settings of the Traffic Manager profile." } monitorConfig: { - description: "Class containing endpoint monitoring settings in a Traffic Manager profile." + description: "The endpoint monitoring settings of the Traffic Manager profile." } } } trafficmanagerprofiles_AzureEndpoints_childResource: { properties: { properties: { - description: "Class representing a Traffic Manager endpoint properties." + description: "The properties of the Traffic Manager endpoint." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } trafficmanagerprofiles_ExternalEndpoints_childResource: { properties: { properties: { - description: "Class representing a Traffic Manager endpoint properties." + description: "The properties of the Traffic Manager endpoint." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } trafficmanagerprofiles_NestedEndpoints_childResource: { properties: { properties: { - description: "Class representing a Traffic Manager endpoint properties." + description: "The properties of the Traffic Manager endpoint." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } } } ```
Microsoft.Network.DNS.diff ```diff { resourceDefinitions: { - connections_sharedkey: { - type: "object" - properties: { - apiVersion: { - type: "string" - enum: [ - "2023-11-01" - ] - } - id: { - type: "string" - description: "Resource ID." - } - name: { - oneOf: [ - { - type: "string" - pattern: "^.*/sharedkey$" - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - type: { - type: "string" - enum: [ - "Microsoft.Network/connections/sharedkey" - ] - } - value: { - type: "string" - description: "The virtual network connection shared key value." - } - } - required: [ - "apiVersion" - "name" - "type" - "value" - ] - description: "Microsoft.Network/connections/sharedkey" - } applicationGateways: { properties: { identity: { - description: "Identity for the resource." + description: "The identity of the application gateway, if configured." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } applicationGateways_privateEndpointConnections: { properties: { properties: { - description: "Properties of Private Link Resource of an application gateway." + description: "Properties of the application gateway private endpoint connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ApplicationGatewayWebApplicationFirewallPolicies: { properties: { properties: { - description: "Defines web application firewall policy properties." + description: "Properties of the web application firewall policy." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } applicationSecurityGroups: { properties: { properties: { - description: "Application security group properties." + description: "Properties of the application security group." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } azureFirewalls: { properties: { name: { + maxLength: 56 + minLength: 1 } properties: { - description: "Properties of the Azure Firewall." + description: "Properties of the azure firewall." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } bastionHosts: { properties: { properties: { - description: "Properties of the Bastion Host." + description: "Represents the bastion host resource." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } connections: { properties: { - resources: { - type: "array" - items: { - oneOf: [ - { - $ref: "#/definitions/connections_sharedkey_childResource" - } - ] - } - } properties: { - description: "VirtualNetworkGatewayConnection properties." + description: "Properties of the virtual network gateway connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } customIpPrefixes: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the custom IP prefix." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ddosCustomPolicies: { properties: { properties: { - description: "DDoS custom policy properties." + description: "Properties of the DDoS custom policy." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ddosProtectionPlans: { properties: { properties: { - description: "DDoS protection plan properties." + description: "Properties of the DDoS protection plan." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } dscpConfigurations: { properties: { properties: { - description: "Differentiated Services Code Point configuration properties." + description: "Properties of the network interface." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCircuits: { properties: { properties: { - description: "Properties of ExpressRouteCircuit." + description: "Properties of the express route circuit." } resources: { items: { oneOf: [ + { + $ref: "#/definitions/expressRouteCircuits_peerings_childResource" + } ... - { - $ref: "#/definitions/expressRouteCircuits_peerings_childResource" - } ] } } sku: { - description: "Contains SKU in an ExpressRouteCircuit." + description: "The SKU." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCircuits_authorizations: { properties: { properties: { - description: "Properties of ExpressRouteCircuitAuthorization." + description: "Properties of the express route circuit authorization." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCircuits_peerings: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCircuits_peerings_connections: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCrossConnections: { properties: { properties: { - description: "Properties of ExpressRouteCrossConnection." + description: "Properties of the express route cross connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCrossConnections_peerings: { properties: { properties: { - description: "Properties of express route cross connection peering." + description: "Properties of the express route cross connection peering." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteGateways: { properties: { properties: { - description: "ExpressRoute gateway resource properties." + description: "Properties of the express route gateway." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteGateways_expressRouteConnections: { properties: { properties: { - description: "Properties of the ExpressRouteConnection subresource." + description: "Properties of the express route connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ExpressRoutePorts: { properties: { identity: { - description: "Identity for the resource." + description: "The identity of ExpressRoutePort, if configured." } properties: { - description: "Properties specific to ExpressRoutePort resources." + description: "ExpressRoutePort properties." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRoutePorts_authorizations: { properties: { properties: { - description: "Properties of ExpressRoutePort Authorization." + description: "ExpressRoutePort properties." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies: { properties: { identity: { - description: "Identity for the resource." + description: "The identity of the firewall policy." } properties: { - description: "Firewall Policy definition." + description: "Properties of the firewall policy." } resources: { items: { oneOf: [ + { + $ref: "#/definitions/firewallPolicies_signatureOverrides_childResource" + } ... - { - $ref: "#/definitions/firewallPolicies_signatureOverrides_childResource" - } ... ] } } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_firewallPolicyDrafts: { properties: { properties: { + description: "Properties of the firewall policy." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_ruleCollectionGroups: { properties: { properties: { - description: "Properties of the rule collection group." + description: "The properties of the firewall policy rule collection group." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_ruleCollectionGroups_ruleCollectionGroupDrafts: { properties: { properties: { - description: "Properties of the rule collection group draft." + description: "The properties of the firewall policy rule collection group." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_signatureOverrides: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } IpAllocations: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ipGroups: { properties: { properties: { - description: "The IpGroups property information." + description: "Properties of the IpGroups." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } loadBalancers: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the load balancer." } properties: { - description: "Properties of the load balancer." + description: "Properties of load balancer." } resources: { items: { oneOf: [ + { + $ref: "#/definitions/loadBalancers_inboundNatRules_childResource" + } ... - { - $ref: "#/definitions/loadBalancers_inboundNatRules_childResource" - } ] } } sku: { - description: "SKU of a load balancer." + description: "The load balancer SKU." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } loadBalancers_backendAddressPools: { properties: { properties: { - description: "Properties of the backend address pool." + description: "Properties of load balancer backend address pool." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } loadBalancers_inboundNatRules: { properties: { properties: { - description: "Properties of the inbound NAT rule." + description: "Properties of load balancer inbound NAT rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } localNetworkGateways: { properties: { properties: { - description: "LocalNetworkGateway properties." + description: "Properties of the local network gateway." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } natGateways: { properties: { sku: { - description: "SKU of nat gateway." + description: "The nat gateway SKU." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkInterfaces: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the network interface." } properties: { - description: "NetworkInterface properties." + description: "Properties of the network interface." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkInterfaces_tapConfigurations: { properties: { properties: { - description: "Properties of Virtual Network Tap configuration." + description: "Properties of the Virtual Network Tap configuration." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers: { properties: { properties: { - description: "Properties of Managed Network" + description: "The network manager properties" } resources: { items: { oneOf: [ - { - $ref: "#/definitions/networkManagers_connectivityConfigurations_childResource" - } ... ... + { + $ref: "#/definitions/networkManagers_connectivityConfigurations_childResource" + } ... ] } } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_connectivityConfigurations: { properties: { properties: { - description: "Properties of network manager connectivity configuration" + description: "Properties of a network manager connectivity configuration" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_networkGroups: { properties: { properties: { - description: "Properties of network group" + description: "The Network Group properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_networkGroups_staticMembers: { properties: { properties: { - description: "Properties of static member." + description: "The Static Member properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_scopeConnections: { properties: { properties: { - description: "Scope connection." + description: "The scope connection properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_securityAdminConfigurations: { properties: { properties: { - description: "Defines the security admin configuration properties." + description: "Indicates the properties for the network manager security admin configuration." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_securityAdminConfigurations_ruleCollections: { properties: { properties: { - description: "Defines the admin rule collection properties." + description: "Indicates the properties for the network manager admin rule collection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_securityAdminConfigurations_ruleCollections_rules: { - oneOf: [ - { - $ref: "#/definitions/AdminRule" - } - { - $ref: "#/definitions/DefaultAdminRule" - } - ] required: [ + "name" ... - "name" ... ] } networkProfiles: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkSecurityGroups: { properties: { properties: { - description: "Network Security Group resource." + description: "Properties of the network security group." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkSecurityGroups_securityRules: { properties: { properties: { - description: "Security rule resource." + description: "Properties of the security rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkVirtualAppliances: { properties: { identity: { - description: "Identity for the resource." + description: "The service principal that has read access to cloud-init and config blob." } properties: { - description: "Network Virtual Appliance definition." + description: "Properties of the Network Virtual Appliance." } resources: { items: { oneOf: [ + { + $ref: "#/definitions/networkVirtualAppliances_inboundSecurityRules_childResource" + } ... - { - $ref: "#/definitions/networkVirtualAppliances_inboundSecurityRules_childResource" - } ... ] } } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkVirtualAppliances_inboundSecurityRules: { properties: { properties: { - description: "Properties of the Inbound Security Rules resource." + description: "The properties of the Inbound Security Rules." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkVirtualAppliances_networkVirtualApplianceConnections: { properties: { name: { - type: "string" + oneOf: [ + { + pattern: "^[A-Za-z0-9_]+" + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } properties: { - description: "Properties of the NetworkVirtualApplianceConnection subresource." + description: "Properties of the express route connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkVirtualAppliances_virtualApplianceSites: { properties: { properties: { - description: "Properties of the rule group." + description: "The properties of the Virtual Appliance Sites." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkWatchers: { properties: { properties: { - description: "The network watcher properties." + description: "Properties of the network watcher." } resources: { items: { oneOf: [ + { + $ref: "#/definitions/networkWatchers_flowLogs_childResource" + } ... ... - { - $ref: "#/definitions/networkWatchers_flowLogs_childResource" - } ] } } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkWatchers_connectionMonitors: { properties: { properties: { - description: "Parameters that define the operation to create a connection monitor." + description: "Properties of the connection monitor." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkWatchers_flowLogs: { properties: { identity: { - description: "Identity for the resource." + description: "FlowLog resource Managed Identity" } properties: { - description: "Parameters that define the configuration of flow log." + description: "Properties of the flow log." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkWatchers_packetCaptures: { properties: { properties: { - description: "Parameters that define the create packet capture operation." + description: "Properties of the packet capture." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } p2svpnGateways: { properties: { properties: { - description: "Parameters for P2SVpnGateway." + description: "Properties of the P2SVpnGateway." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } privateEndpoints: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the load balancer." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } privateEndpoints_privateDnsZoneGroups: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } privateLinkServices: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the load balancer." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } privateLinkServices_privateEndpointConnections: { properties: { properties: { - description: "Properties of the PrivateEndpointConnectProperties." + description: "Properties of the private end point connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } publicIPAddresses: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the public ip address." } sku: { - description: "SKU of a public IP address." + description: "The public IP address SKU." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } publicIPPrefixes: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the public ip address." } sku: { - description: "SKU of a public IP prefix." + description: "The public IP prefix SKU." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } routeFilters: { properties: { properties: { - description: "Route Filter Resource." + description: "Properties of the route filter." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } routeFilters_routeFilterRules: { properties: { properties: { - description: "Route Filter Rule Resource." + description: "Properties of the route filter rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } routeTables: { properties: { properties: { - description: "Route Table resource." + description: "Properties of the route table." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } routeTables_routes: { properties: { properties: { - description: "Route resource." + description: "Properties of the route." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } securityPartnerProviders: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } serviceEndpointPolicies: { properties: { properties: { - description: "Service Endpoint Policy resource." + description: "Properties of the service end point policy." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } serviceEndpointPolicies_serviceEndpointPolicyDefinitions: { properties: { properties: { - description: "Service Endpoint policy definition resource." + description: "Properties of the service endpoint policy definition." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs: { properties: { properties: { - description: "Parameters for VirtualHub." + description: "Properties of the virtual hub." } resources: { items: { oneOf: [ ... + { + $ref: "#/definitions/virtualHubs_routeTables_childResource" + } + { + $ref: "#/definitions/virtualHubs_routingIntent_childResource" + } + { + $ref: "#/definitions/virtualHubs_bgpConnections_childResource" + } + { + $ref: "#/definitions/virtualHubs_hubRouteTables_childResource" + } + { + $ref: "#/definitions/virtualHubs_ipConfigurations_childResource" + } ... - { - $ref: "#/definitions/virtualHubs_routeTables_childResource" - } - { - $ref: "#/definitions/virtualHubs_bgpConnections_childResource" - } - { - $ref: "#/definitions/virtualHubs_ipConfigurations_childResource" - } - { - $ref: "#/definitions/virtualHubs_hubRouteTables_childResource" - } - { - $ref: "#/definitions/virtualHubs_routingIntent_childResource" - } ] } } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_bgpConnections: { properties: { properties: { - description: "Properties of the bgp connection." + description: "The properties of the Bgp connections." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_hubRouteTables: { properties: { properties: { - description: "Parameters for RouteTable." + description: "Properties of the RouteTable resource." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_hubVirtualNetworkConnections: { properties: { properties: { - description: "Parameters for HubVirtualNetworkConnection." + description: "Properties of the hub virtual network connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_ipConfigurations: { properties: { properties: { - description: "Properties of IP configuration." + description: "The properties of the Virtual Hub IPConfigurations." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_routeMaps: { properties: { properties: { - description: "Properties of RouteMap resource" + description: "Properties of the RouteMap resource." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_routeTables: { properties: { properties: { - description: "Parameters for VirtualHubRouteTableV2." + description: "Properties of the virtual hub route table v2." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_routingIntent: { properties: { properties: { - description: "The properties of a RoutingIntent resource." + description: "Properties of the RoutingIntent resource." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualNetworkGateways: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of type local virtual network gateway." } properties: { - description: "VirtualNetworkGateway properties." + description: "Properties of the virtual network gateway." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualNetworkGateways_natRules: { properties: { properties: { - description: "Parameters for VirtualNetworkGatewayNatRule." + description: "Properties of the Virtual Network Gateway NAT rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualNetworks: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the virtual network." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualNetworks_subnets: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualNetworks_virtualNetworkPeerings: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualNetworkTaps: { properties: { properties: { - description: "Virtual Network Tap properties." + description: "Virtual Network Tap Properties." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualRouters: { properties: { properties: { - description: "Virtual Router definition." + description: "Properties of the Virtual Router." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualRouters_peerings: { properties: { properties: { - description: "Properties of the rule group." + description: "The properties of the Virtual Router Peering." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualWans: { properties: { properties: { - description: "Parameters for VirtualWAN." + description: "Properties of the virtual WAN." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } vpnGateways: { properties: { properties: { - description: "Parameters for VpnGateway." + description: "Properties of the VPN gateway." } resources: { items: { oneOf: [ + { + $ref: "#/definitions/vpnGateways_natRules_childResource" + } ... - { - $ref: "#/definitions/vpnGateways_natRules_childResource" - } ] } } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } vpnGateways_natRules: { properties: { properties: { - description: "Parameters for VpnGatewayNatRule." + description: "Properties of the VpnGateway NAT rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } vpnGateways_vpnConnections: { properties: { properties: { - description: "Parameters for VpnConnection." + description: "Properties of the VPN connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } vpnServerConfigurations: { properties: { properties: { - description: "Parameters for VpnServerConfiguration." + description: "Properties of the P2SVpnServer configuration." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } vpnServerConfigurations_configurationPolicyGroups: { properties: { properties: { - description: "Parameters for VpnServerConfigurationPolicyGroup." + description: "Properties of the VpnServerConfigurationPolicyGroup." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } vpnSites: { properties: { properties: { - description: "Parameters for VpnSite." + description: "Properties of the VPN site." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } } subscription_resourceDefinitions: { networkManagerConnections: { properties: { properties: { - description: "Information about the network manager connection." + description: "The scope connection properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } } managementGroup_resourceDefinitions: { networkManagerConnections: { properties: { properties: { - description: "Information about the network manager connection." + description: "The scope connection properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } } extension_resourceDefinitions: { cloudServiceSlots: { properties: { name: { - type: "string" - enum: [ - "swap" - ] - description: "Specifies a synthetic resource that cannot be created or deleted. Value must be set to swap." + oneOf: [ + { + enum: [ + "swap" + ] + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } } definitions: { - AddressPrefixItem: { - type: "object" - properties: { - addressPrefix: { - type: "string" - description: "Address prefix." - } - addressPrefixType: { - oneOf: [ - { - type: "string" - enum: [ - "IPPrefix" - "ServiceTag" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Address prefix type." - } - } - description: "Address prefix item." - } - AdminPropertiesFormat: { - type: "object" - properties: { - access: { - oneOf: [ - { - type: "string" - enum: [ - "Allow" - "Deny" - "AlwaysAllow" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Indicates the access allowed for this particular rule." - } - description: { - type: "string" - description: "A description for this rule. Restricted to 140 chars." - } - destinationPortRanges: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The destination port ranges." - } - destinations: { - oneOf: [ - { - type: "array" - items: { - $ref: "#/definitions/AddressPrefixItem" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The destination address prefixes. CIDR or destination IP ranges." - } - direction: { - oneOf: [ - { - type: "string" - enum: [ - "Inbound" - "Outbound" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Indicates if the traffic matched against the rule in inbound or outbound." - } - priority: { - oneOf: [ - { - type: "integer" - minimum: 1 - maximum: 4096 - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule." - } - protocol: { - oneOf: [ - { - type: "string" - enum: [ - "Tcp" - "Udp" - "Icmp" - "Esp" - "Any" - "Ah" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Network protocol this rule applies to." - } - sourcePortRanges: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The source port ranges." - } - sources: { - oneOf: [ - { - type: "array" - items: { - $ref: "#/definitions/AddressPrefixItem" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The CIDR or source IP ranges." - } - } - required: [ - "access" - "direction" - "priority" - "protocol" - ] - description: "Security admin rule resource." - } - AdminRule: { - type: "object" - properties: { - kind: { - type: "string" - enum: [ - "Custom" - ] - } - properties: { - oneOf: [ - { - $ref: "#/definitions/AdminPropertiesFormat" - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Security admin rule resource." - } - } - required: [ - "kind" - ] - description: "Network admin rule." - } - ApplicationRule: { - type: "object" - properties: { - destinationAddresses: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination IP addresses or Service Tags." - } - fqdnTags: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of FQDN Tags for this rule." - } - httpHeadersToInsert: { - oneOf: [ - { - type: "array" - items: { - $ref: "#/definitions/FirewallPolicyHttpHeaderToInsert" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of HTTP/S headers to insert." - } - protocols: { - oneOf: [ - { - type: "array" - items: { - $ref: "#/definitions/FirewallPolicyRuleApplicationProtocol" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Array of Application Protocols." - } - ruleType: { - type: "string" - enum: [ - "ApplicationRule" - ] - } - sourceAddresses: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of source IP addresses for this rule." - } - sourceIpGroups: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of source IpGroups for this rule." - } - targetFqdns: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of FQDNs for this rule." - } - targetUrls: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of Urls for this rule condition." - } - terminateTLS: { - oneOf: [ - { - type: "boolean" - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Terminate TLS connections for this rule." - } - webCategories: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination azure web categories." - } - } - required: [ - "ruleType" - ] - description: "Rule of type application." - } - Components1jq1t4ischemasmanagedserviceidentitypropertiesuserassignedidentitiesadditionalproperties: { - type: "object" - properties: { - } - } - connections_sharedkey_childResource: { - type: "object" - properties: { - apiVersion: { - type: "string" - enum: [ - "2023-11-01" - ] - } - id: { - type: "string" - description: "Resource ID." - } - name: { - type: "string" - enum: [ - "sharedkey" - ] - } - type: { - type: "string" - enum: [ - "sharedkey" - ] - } - value: { - type: "string" - description: "The virtual network connection shared key value." - } - } - required: [ - "apiVersion" - "name" - "type" - "value" - ] - description: "Microsoft.Network/connections/sharedkey" - } - DefaultAdminPropertiesFormat: { - type: "object" - properties: { - flag: { - type: "string" - description: "Default rule flag." - } - } - description: "Security default admin rule resource." - } - DefaultAdminRule: { - type: "object" - properties: { - kind: { - type: "string" - enum: [ - "Default" - ] - } - properties: { - oneOf: [ - { - $ref: "#/definitions/DefaultAdminPropertiesFormat" - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Security default admin rule resource." - } - } - required: [ - "kind" - ] - description: "Network default admin rule." - } - FirewallPolicyFilterRuleCollection: { - type: "object" - properties: { - action: { - oneOf: [ - { - $ref: "#/definitions/FirewallPolicyFilterRuleCollectionAction" - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Properties of the FirewallPolicyFilterRuleCollectionAction." - } - ruleCollectionType: { - type: "string" - enum: [ - "FirewallPolicyFilterRuleCollection" - ] - } - rules: { - oneOf: [ - { - type: "array" - items: { - $ref: "#/definitions/FirewallPolicyRule" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of rules included in a rule collection." - } - } - required: [ - "ruleCollectionType" - ] - description: "Firewall Policy Filter Rule Collection." - } - FirewallPolicyNatRuleCollection: { - type: "object" - properties: { - action: { - oneOf: [ - { - $ref: "#/definitions/FirewallPolicyNatRuleCollectionAction" - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Properties of the FirewallPolicyNatRuleCollectionAction." - } - ruleCollectionType: { - type: "string" - enum: [ - "FirewallPolicyNatRuleCollection" - ] - } - rules: { - oneOf: [ - { - type: "array" - items: { - $ref: "#/definitions/FirewallPolicyRule" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of rules included in a rule collection." - } - } - required: [ - "ruleCollectionType" - ] - description: "Firewall Policy NAT Rule Collection." - } - FirewallPolicySNAT: { - type: "object" - properties: { - autoLearnPrivateRanges: { - oneOf: [ - { - type: "string" - enum: [ - "Enabled" - "Disabled" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The operation mode for automatically learning private ranges to not be SNAT." - } - privateRanges: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of private IP addresses/IP address ranges to not be SNAT." - } - } - description: "The private IP addresses/IP ranges to which traffic will not be SNAT." - } - HTTPHeader: { - type: "object" - properties: { - name: { - type: "string" - description: "The name in HTTP header." - } - value: { - type: "string" - description: "The value in HTTP header." - } - } - description: "The HTTP header." - } - NatRule: { - type: "object" - properties: { - destinationAddresses: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination IP addresses or Service Tags." - } - destinationPorts: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination ports." - } - ipProtocols: { - oneOf: [ - { - type: "array" - items: { - type: "string" - enum: [ - "TCP" - "UDP" - "Any" - "ICMP" - ] - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Array of FirewallPolicyRuleNetworkProtocols." - } - ruleType: { - type: "string" - enum: [ - "NatRule" - ] - } - sourceAddresses: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of source IP addresses for this rule." - } - sourceIpGroups: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of source IpGroups for this rule." - } - translatedAddress: { - type: "string" - description: "The translated address for this NAT rule." - } - translatedFqdn: { - type: "string" - description: "The translated FQDN for this NAT rule." - } - translatedPort: { - type: "string" - description: "The translated port for this NAT rule." - } - } - required: [ - "ruleType" - ] - description: "Rule of type nat." - } - NetworkRule: { - type: "object" - properties: { - destinationAddresses: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination IP addresses or Service Tags." - } - destinationFqdns: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination FQDNs." - } - destinationIpGroups: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination IpGroups for this rule." - } - destinationPorts: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of destination ports." - } - ipProtocols: { - oneOf: [ - { - type: "array" - items: { - type: "string" - enum: [ - "TCP" - "UDP" - "Any" - "ICMP" - ] - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Array of FirewallPolicyRuleNetworkProtocols." - } - ruleType: { - type: "string" - enum: [ - "NetworkRule" - ] - } - sourceAddresses: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of source IP addresses for this rule." - } - sourceIpGroups: { - oneOf: [ - { - type: "array" - items: { - type: "string" - } - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "List of source IpGroups for this rule." - } - } - required: [ - "ruleType" - ] - description: "Rule of type network." - } + Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties: { + properties: { + } + type: "object" + } + FirewallPolicySnat: { + description: "The private IP addresses/IP ranges to which traffic will not be SNAT." + properties: { + autoLearnPrivateRanges: { + description: "The operation mode for automatically learning private ranges to not be SNAT" + oneOf: [ + { + enum: [ + "Enabled" + "Disabled" + ] + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + privateRanges: { + description: "List of private IP addresses/IP address ranges to not be SNAT." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + type: "object" + } + HttpHeader: { + description: "The HTTP header." + properties: { + name: { + description: "The name in HTTP header." + type: "string" + } + value: { + description: "The value in HTTP header." + type: "string" + } + } + type: "object" + } Action: { properties: { type: { - description: "Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.'." + description: "Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.'" } } } ApplicationGatewayAuthenticationCertificate: { properties: { properties: { - description: "Authentication certificates properties of an application gateway." + description: "Properties of the application gateway authentication certificate." } } } ApplicationGatewayBackendAddressPool: { properties: { properties: { - description: "Properties of Backend Address Pool of an application gateway." + description: "Properties of the application gateway backend address pool." } } } ApplicationGatewayBackendHttpSettings: { properties: { properties: { - description: "Properties of Backend address pool settings of an application gateway." + description: "Properties of the application gateway backend HTTP settings." } } } ApplicationGatewayBackendHttpSettingsPropertiesFormat: { properties: { connectionDraining: { - description: "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." + description: "Connection draining of the backend http settings resource." } probe: { - description: "Reference to another subresource." + description: "Probe resource of an application gateway." } } } ApplicationGatewayBackendSettings: { properties: { properties: { - description: "Properties of Backend address pool settings of an application gateway." + description: "Properties of the application gateway backend settings." } } } ApplicationGatewayBackendSettingsPropertiesFormat: { properties: { probe: { - description: "Reference to another subresource." + description: "Probe resource of an application gateway." } } } ApplicationGatewayConnectionDraining: { required: [ + "enabled" ... - "enabled" ] } ApplicationGatewayFirewallExclusion: { required: [ ... + "selectorMatchOperator" ... - "selectorMatchOperator" ] } ApplicationGatewayFrontendIPConfiguration: { properties: { properties: { - description: "Properties of Frontend IP configuration of an application gateway." + description: "Properties of the application gateway frontend IP configuration." } } } ApplicationGatewayFrontendIPConfigurationPropertiesFormat: { properties: { privateLinkConfiguration: { - description: "Reference to another subresource." + description: "Reference to the application gateway private link configuration." } publicIPAddress: { - description: "Reference to another subresource." + description: "Reference to the PublicIP resource." } subnet: { - description: "Reference to another subresource." + description: "Reference to the subnet resource." } } } ApplicationGatewayFrontendPort: { properties: { properties: { - description: "Properties of Frontend port of an application gateway." + description: "Properties of the application gateway frontend port." } } } ApplicationGatewayHttpListener: { properties: { properties: { - description: "Properties of HTTP listener of an application gateway." + description: "Properties of the application gateway HTTP listener." } } } ApplicationGatewayHttpListenerPropertiesFormat: { properties: { firewallPolicy: { - description: "Reference to another subresource." + description: "Reference to the FirewallPolicy resource." } frontendIPConfiguration: { - description: "Reference to another subresource." + description: "Frontend IP configuration resource of an application gateway." } frontendPort: { - description: "Reference to another subresource." + description: "Frontend port resource of an application gateway." } sslCertificate: { - description: "Reference to another subresource." + description: "SSL certificate resource of an application gateway." } sslProfile: { - description: "Reference to another subresource." + description: "SSL profile resource of the application gateway." } } } ApplicationGatewayIPConfiguration: { properties: { properties: { - description: "Properties of IP configuration of an application gateway." + description: "Properties of the application gateway IP configuration." } } } ApplicationGatewayIPConfigurationPropertiesFormat: { properties: { subnet: { - description: "Reference to another subresource." + description: "Reference to the subnet resource. A subnet from where application gateway gets its private address." } } } ApplicationGatewayListener: { properties: { properties: { - description: "Properties of listener of an application gateway." + description: "Properties of the application gateway listener." } } } ApplicationGatewayListenerPropertiesFormat: { properties: { frontendIPConfiguration: { - description: "Reference to another subresource." + description: "Frontend IP configuration resource of an application gateway." } frontendPort: { - description: "Reference to another subresource." + description: "Frontend port resource of an application gateway." } sslCertificate: { - description: "Reference to another subresource." + description: "SSL certificate resource of an application gateway." } sslProfile: { - description: "Reference to another subresource." + description: "SSL profile resource of the application gateway." } } } ApplicationGatewayLoadDistributionPolicy: { properties: { properties: { - description: "Properties of Load Distribution Policy of an application gateway." + description: "Properties of the application gateway load distribution policy." } } } ApplicationGatewayLoadDistributionTarget: { properties: { properties: { + description: "Properties of the application gateway load distribution target." } } } ApplicationGatewayLoadDistributionTargetPropertiesFormat: { properties: { backendAddressPool: { - description: "Reference to another subresource." + description: "Backend address pool resource of the application gateway." } } } ApplicationGatewayPathRule: { properties: { properties: { - description: "Properties of path rule of an application gateway." + description: "Properties of the application gateway path rule." } } } ApplicationGatewayPathRulePropertiesFormat: { properties: { backendAddressPool: { - description: "Reference to another subresource." + description: "Backend address pool resource of URL path map path rule." } backendHttpSettings: { - description: "Reference to another subresource." + description: "Backend http settings resource of URL path map path rule." } firewallPolicy: { - description: "Reference to another subresource." + description: "Reference to the FirewallPolicy resource." } loadDistributionPolicy: { - description: "Reference to another subresource." + description: "Load Distribution Policy resource of URL path map path rule." } redirectConfiguration: { - description: "Reference to another subresource." + description: "Redirect configuration resource of URL path map path rule." } rewriteRuleSet: { - description: "Reference to another subresource." + description: "Rewrite rule set resource of URL path map path rule." } } } ApplicationGatewayPrivateLinkConfiguration: { properties: { properties: { - description: "Properties of private link configuration on an application gateway." + description: "Properties of the application gateway private link configuration." } } } ApplicationGatewayPrivateLinkIpConfiguration: { properties: { properties: { - description: "Properties of an application gateway private link IP configuration." + description: "Properties of an application gateway private link ip configuration." } } } ApplicationGatewayPrivateLinkIpConfigurationProperties: { properties: { subnet: { - description: "Reference to another subresource." + description: "Reference to the subnet resource." } } } ApplicationGatewayProbe: { properties: { properties: { - description: "Properties of probe of an application gateway." + description: "Properties of the application gateway probe." } } } ApplicationGatewayProbePropertiesFormat: { properties: { match: { - description: "Application gateway probe health response match." + description: "Criterion for classifying a healthy probe response." } } } ApplicationGatewayPropertiesFormat: { properties: { autoscaleConfiguration: { - description: "Application Gateway autoscale configuration." + description: "Autoscale Configuration." } firewallPolicy: { - description: "Reference to another subresource." + description: "Reference to the FirewallPolicy resource." } globalConfiguration: { - description: "Application Gateway global configuration." + description: "Global Configuration." } sku: { - description: "SKU of an application gateway." + description: "SKU of the application gateway resource." } sslPolicy: { - description: "Application Gateway Ssl policy." + description: "SSL policy of the application gateway resource." } webApplicationFirewallConfiguration: { - description: "Application gateway web application firewall configuration." + description: "Web application firewall configuration." } } } ApplicationGatewayRedirectConfiguration: { properties: { properties: { - description: "Properties of redirect configuration of the application gateway." + description: "Properties of the application gateway redirect configuration." } } } ApplicationGatewayRedirectConfigurationPropertiesFormat: { properties: { targetListener: { - description: "Reference to another subresource." + description: "Reference to a listener to redirect the request to." } } } ApplicationGatewayRequestRoutingRule: { properties: { properties: { - description: "Properties of request routing rule of the application gateway." + description: "Properties of the application gateway request routing rule." } } } ApplicationGatewayRequestRoutingRulePropertiesFormat: { properties: { backendAddressPool: { - description: "Reference to another subresource." + description: "Backend address pool resource of the application gateway." } backendHttpSettings: { - description: "Reference to another subresource." + description: "Backend http settings resource of the application gateway." } httpListener: { - description: "Reference to another subresource." + description: "Http listener resource of the application gateway." } loadDistributionPolicy: { - description: "Reference to another subresource." + description: "Load Distribution Policy resource of the application gateway." } redirectConfiguration: { - description: "Reference to another subresource." + description: "Redirect configuration resource of the application gateway." } rewriteRuleSet: { - description: "Reference to another subresource." + description: "Rewrite Rule Set resource in Basic rule of the application gateway." } urlPathMap: { - description: "Reference to another subresource." + description: "URL path map resource of the application gateway." } } } ApplicationGatewayRewriteRule: { properties: { actionSet: { - description: "Set of actions in the Rewrite Rule in Application Gateway." + description: "Set of actions to be done as part of the rewrite Rule." } } } ApplicationGatewayRewriteRuleActionSet: { properties: { urlConfiguration: { - description: "Url configuration of the Actions set in Application Gateway." + description: "Url Configuration Action in the Action Set." } } } ApplicationGatewayRewriteRuleSet: { properties: { properties: { - description: "Properties of rewrite rule set of the application gateway." + description: "Properties of the application gateway rewrite rule set." } } } ApplicationGatewayRoutingRule: { properties: { properties: { - description: "Properties of routing rule of the application gateway." + description: "Properties of the application gateway routing rule." } } } ApplicationGatewayRoutingRulePropertiesFormat: { properties: { backendAddressPool: { - description: "Reference to another subresource." + description: "Backend address pool resource of the application gateway." } backendSettings: { - description: "Reference to another subresource." + description: "Backend settings resource of the application gateway." } listener: { - description: "Reference to another subresource." + description: "Listener resource of the application gateway." } } } ApplicationGatewaySslCertificate: { properties: { properties: { - description: "Properties of SSL certificates of an application gateway." + description: "Properties of the application gateway SSL certificate." } } } ApplicationGatewaySslProfile: { properties: { properties: { - description: "Properties of SSL profile of an application gateway." + description: "Properties of the application gateway SSL profile." } } } ApplicationGatewaySslProfilePropertiesFormat: { properties: { clientAuthConfiguration: { - description: "Application gateway client authentication configuration." + description: "Client authentication configuration of the application gateway resource." } sslPolicy: { - description: "Application Gateway Ssl policy." + description: "SSL policy of the application gateway resource." } } } applicationGateways_privateEndpointConnections_childResource: { properties: { properties: { - description: "Properties of Private Link Resource of an application gateway." + description: "Properties of the application gateway private endpoint connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ApplicationGatewayTrustedClientCertificate: { properties: { properties: { - description: "Trusted client certificates properties of an application gateway." + description: "Properties of the application gateway trusted client certificate." } } } ApplicationGatewayTrustedRootCertificate: { properties: { properties: { - description: "Trusted Root certificates properties of an application gateway." + description: "Properties of the application gateway trusted root certificate." } } } ApplicationGatewayUrlPathMap: { properties: { properties: { - description: "Properties of UrlPathMap of the application gateway." + description: "Properties of the application gateway URL path map." } } } ApplicationGatewayUrlPathMapPropertiesFormat: { properties: { defaultBackendAddressPool: { - description: "Reference to another subresource." + description: "Default backend address pool resource of URL path map." } defaultBackendHttpSettings: { - description: "Reference to another subresource." + description: "Default backend http settings resource of URL path map." } defaultLoadDistributionPolicy: { - description: "Reference to another subresource." + description: "Default Load Distribution Policy resource of URL path map." } defaultRedirectConfiguration: { - description: "Reference to another subresource." + description: "Default redirect configuration resource of URL path map." } defaultRewriteRuleSet: { - description: "Reference to another subresource." + description: "Default Rewrite rule set resource of URL path map." } } } ApplicationSecurityGroup: { properties: { properties: { - description: "Application security group properties." + description: "Properties of the application security group." } } } AzureFirewallApplicationRuleCollection: { properties: { properties: { - description: "Properties of the application rule collection." + description: "Properties of the azure firewall application rule collection." } } } AzureFirewallApplicationRuleCollectionPropertiesFormat: { properties: { action: { - description: "Properties of the AzureFirewallRCAction." + description: "The action type of a rule collection." } } } AzureFirewallIPConfiguration: { properties: { properties: { - description: "Properties of IP configuration of an Azure Firewall." + description: "Properties of the azure firewall IP configuration." } } } AzureFirewallIPConfigurationPropertiesFormat: { properties: { publicIPAddress: { - description: "Reference to another subresource." + description: "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null." } subnet: { - description: "Reference to another subresource." + description: "Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'." } } } AzureFirewallNatRuleCollection: { properties: { properties: { - description: "Properties of the NAT rule collection." + description: "Properties of the azure firewall NAT rule collection." } } } AzureFirewallNatRuleCollectionProperties: { properties: { action: { - description: "AzureFirewall NAT Rule Collection Action." + description: "The action type of a NAT rule collection." } } } AzureFirewallNetworkRuleCollection: { properties: { properties: { - description: "Properties of the network rule collection." + description: "Properties of the azure firewall network rule collection." } } } AzureFirewallNetworkRuleCollectionPropertiesFormat: { properties: { action: { - description: "Properties of the AzureFirewallRCAction." + description: "The action type of a rule collection." } } } AzureFirewallPropertiesFormat: { properties: { additionalProperties: { - description: "The additional properties of azure firewall." + description: "The additional properties used to further config this azure firewall." } firewallPolicy: { - description: "Reference to another subresource." + description: "The firewallPolicy associated with this azure firewall." } hubIPAddresses: { - description: "IP addresses associated with azure firewall." + description: "IP addresses associated with AzureFirewall." } managementIpConfiguration: { - description: "IP configuration of an Azure Firewall." + description: "IP configuration of the Azure Firewall used for management traffic." } sku: { - description: "SKU of an Azure Firewall." + description: "The Azure Firewall Resource SKU." } virtualHub: { - description: "Reference to another subresource." + description: "The virtualHub to which the firewall belongs." } } } BackendAddressPool: { properties: { properties: { - description: "Properties of the backend address pool." + description: "Properties of load balancer backend address pool." } } } BackendAddressPoolPropertiesFormat: { properties: { syncMode: { - description: "Backend address synchronous mode for the backend pool." + description: "Backend address synchronous mode for the backend pool" } virtualNetwork: { - description: "Reference to another subresource." + description: "A reference to a virtual network." } } } BastionHostIPConfiguration: { properties: { properties: { - description: "Properties of IP configuration of an Bastion Host." + description: "Represents the ip configuration associated with the resource." } } } BastionHostIPConfigurationPropertiesFormat: { properties: { publicIPAddress: { - description: "Reference to another subresource." + description: "Reference of the PublicIP resource." } subnet: { - description: "Reference to another subresource." + description: "Reference of the subnet resource." } } required: [ + "subnet" ... - "subnet" ] } BastionHostPropertiesFormat: { properties: { disableCopyPaste: { oneOf: [ { - default: false } ... ] } enableFileCopy: { oneOf: [ { - default: false } ... ] } enableIpConnect: { oneOf: [ { - default: false } ... ] } enableKerberos: { oneOf: [ { - default: false } ... ] } enableShareableLink: { oneOf: [ { - default: false } ... ] } enableTunneling: { oneOf: [ { - default: false } ... ] } networkAcls: { + description: "" } virtualNetwork: { - description: "Reference to another subresource." + description: "Reference to an existing virtual network required for Developer Bastion Host only." } } } BgpConnectionProperties: { properties: { hubVirtualNetworkConnection: { - description: "Reference to another subresource." + description: "The reference to the HubVirtualNetworkConnection resource." } } } ConnectionMonitorEndpoint: { properties: { filter: { - description: "Describes the connection monitor endpoint filter." + description: "Filter field is getting deprecated and should not be used. Instead use Include/Exclude scope fields for it." } locationDetails: { - description: "Connection monitor endpoint location details only being used for 'AzureArcNetwork' type endpoints, which contains the region details." + description: "Location details is optional and only being used for 'AzureArcNetwork' type endpoints, which contains region details." } scope: { - description: "Describes the connection monitor endpoint scope." + description: "Endpoint scope defines which target resource to monitor in case of compound resource endpoints like VMSS, AzureSubnet, AzureVNet, MMAWorkspaceNetwork, AzureArcNetwork." } } } ConnectionMonitorHttpConfiguration: { properties: { requestHeaders: { oneOf: [ { items: { - $ref: "#/definitions/HTTPHeader" + $ref: "#/definitions/HttpHeader" } } ... ] } } } ConnectionMonitorParameters: { properties: { autoStart: { oneOf: [ { - default: true } ... ] } monitoringIntervalInSeconds: { oneOf: [ { - default: "60" } ... ] } } } ConnectionMonitorTestConfiguration: { properties: { httpConfiguration: { - description: "Describes the HTTP configuration." + description: "The parameters used to perform test evaluation over HTTP." } icmpConfiguration: { - description: "Describes the ICMP configuration." + description: "The parameters used to perform test evaluation over ICMP." } successThreshold: { - description: "Describes the threshold for declaring a test successful." + description: "The threshold for declaring a test successful." } tcpConfiguration: { - description: "Describes the TCP configuration." + description: "The parameters used to perform test evaluation over TCP." } } } ConnectionMonitorTestGroup: { required: [ + "name" + "testConfigurations" + "sources" ... - "name" - "sources" - "testConfigurations" ] } ConnectivityConfigurationProperties: { required: [ + "connectivityTopology" ... - "connectivityTopology" ] } ConnectivityGroupItem: { required: [ + "networkGroupId" ... - "networkGroupId" ] } CustomIpPrefixPropertiesFormat: { properties: { customIpPrefixParent: { - description: "Reference to another subresource." + description: "The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix." } } } DdosSettings: { properties: { ddosProtectionPlan: { - description: "Reference to another subresource." + description: "The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled" } protectionMode: { - description: "The DDoS protection mode of the public IP." + description: "The DDoS protection mode of the public IP" } } } Delegation: { properties: { properties: { - description: "Properties of a service delegation." + description: "Properties of the subnet." } } } ExpressRouteCircuitAuthorization: { properties: { properties: { - description: "Properties of ExpressRouteCircuitAuthorization." + description: "Properties of the express route circuit authorization." } } } ExpressRouteCircuitConnectionPropertiesFormat: { properties: { - circuitConnectionStatus: { - oneOf: [ - { - type: "string" - enum: [ - "Connected" - "Connecting" - "Disconnected" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Express Route Circuit connection state." - } expressRouteCircuitPeering: { - description: "Reference to another subresource." + description: "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection." } ipv6CircuitConnectionConfig: { - description: "IPv6 Circuit Connection properties for global reach." + description: "IPv6 Address PrefixProperties of the express route circuit connection." } peerExpressRouteCircuitPeering: { - description: "Reference to another subresource." + description: "Reference to Express Route Circuit Private Peering Resource of the peered circuit." } } } ExpressRouteCircuitPeeringPropertiesFormat: { properties: { expressRouteConnection: { - description: "The ID of the ExpressRouteConnection." + description: "The ExpressRoute connection." } ipv6PeeringConfig: { - description: "Contains IPv6 peering config." + description: "The IPv6 peering configuration." } microsoftPeeringConfig: { - description: "Specifies the peering configuration." + description: "The Microsoft peering configuration." } routeFilter: { - description: "Reference to another subresource." + description: "The reference to the RouteFilter resource." } stats: { - description: "Contains stats associated with the peering." + description: "The peering stats of express route circuit." } } } ExpressRouteCircuitPropertiesFormat: { properties: { expressRoutePort: { - description: "Reference to another subresource." + description: "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource." } serviceProviderProperties: { - description: "Contains ServiceProviderProperties in an ExpressRouteCircuit." + description: "The ServiceProviderProperties." } } } expressRouteCircuits_authorizations_childResource: { properties: { properties: { - description: "Properties of ExpressRouteCircuitAuthorization." + description: "Properties of the express route circuit authorization." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCircuits_peerings_childResource: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } expressRouteCircuits_peerings_connections_childResource: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ExpressRouteConnection: { properties: { properties: { - description: "Properties of the ExpressRouteConnection subresource." + description: "Properties of the express route connection." } } } ExpressRouteConnectionProperties: { properties: { expressRouteCircuitPeering: { - description: "ExpressRoute circuit peering identifier." + description: "The ExpressRoute circuit peering." } routingConfiguration: { - description: "Routing Configuration indicating the associated and propagated route tables for this connection." + description: "The Routing Configuration indicating the associated and propagated route tables on this connection." } } } ExpressRouteCrossConnectionPeering: { properties: { properties: { - description: "Properties of express route cross connection peering." + description: "Properties of the express route cross connection peering." } } } ExpressRouteCrossConnectionPeeringProperties: { properties: { ipv6PeeringConfig: { - description: "Contains IPv6 peering config." + description: "The IPv6 peering configuration." } microsoftPeeringConfig: { - description: "Specifies the peering configuration." + description: "The Microsoft peering configuration." } } } ExpressRouteCrossConnectionProperties: { properties: { expressRouteCircuit: { - description: "Reference to an express route circuit." + description: "The ExpressRouteCircuit." } } } expressRouteCrossConnections_peerings_childResource: { properties: { properties: { - description: "Properties of express route cross connection peering." + description: "Properties of the express route cross connection peering." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ExpressRouteGatewayProperties: { properties: { virtualHub: { - description: "Virtual Hub identifier." + description: "The Virtual Hub where the ExpressRoute gateway is or will be deployed." } } } expressRouteGateways_expressRouteConnections_childResource: { properties: { properties: { - description: "Properties of the ExpressRouteConnection subresource." + description: "Properties of the express route connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ExpressRouteLink: { properties: { properties: { - description: "Properties specific to ExpressRouteLink resources." + description: "ExpressRouteLink properties." } } } ExpressRouteLinkPropertiesFormat: { properties: { macSecConfig: { - description: "ExpressRouteLink Mac Security Configuration." + description: "MacSec configuration." } } } expressRoutePorts_authorizations_childResource: { properties: { properties: { - description: "Properties of ExpressRoutePort Authorization." + description: "ExpressRoutePort properties." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_firewallPolicyDrafts_childResource: { properties: { name: { - type: "string" - enum: [ - "default" - ] + oneOf: [ + { + enum: [ + "default" + ] + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } properties: { + description: "Properties of the firewall policy." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_ruleCollectionGroups_childResource: { properties: { properties: { - description: "Properties of the rule collection group." + description: "The properties of the firewall policy rule collection group." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_ruleCollectionGroups_ruleCollectionGroupDrafts_childResource: { properties: { name: { - type: "string" - enum: [ - "default" - ] + oneOf: [ + { + enum: [ + "default" + ] + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } properties: { - description: "Properties of the rule collection group draft." + description: "The properties of the firewall policy rule collection group." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } firewallPolicies_signatureOverrides_childResource: { properties: { name: { - type: "string" - enum: [ - "default" - ] + oneOf: [ + { + enum: [ + "default" + ] + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } FirewallPolicyDraftProperties: { properties: { basePolicy: { - description: "Reference to another subresource." + description: "The parent firewall policy from which rules are inherited." } dnsSettings: { - description: "DNS Proxy Settings in Firewall Policy." + description: "DNS Proxy Settings definition." } explicitProxy: { - description: "Explicit Proxy Settings in Firewall Policy." + description: "Explicit Proxy Settings definition." } insights: { - description: "Firewall Policy Insights." + description: "Insights on Firewall Policy." } intrusionDetection: { - description: "Configuration for intrusion detection mode and rules." + description: "The configuration for Intrusion detection." } snat: { oneOf: [ { - $ref: "#/definitions/FirewallPolicySNAT" + $ref: "#/definitions/FirewallPolicySnat" } ... ] } sql: { - description: "SQL Settings in Firewall Policy." + description: "SQL Settings definition." } } } FirewallPolicyInsights: { properties: { logAnalyticsResources: { - description: "Log Analytics Resources for Firewall Policy Insights." + description: "Workspaces needed to configure the Firewall Policy Insights." } } } FirewallPolicyIntrusionDetection: { properties: { configuration: { - description: "The operation for configuring intrusion detection." + description: "Intrusion detection configuration properties." } } } FirewallPolicyLogAnalyticsResources: { properties: { defaultWorkspaceId: { - description: "Reference to another subresource." + description: "The default workspace Id for Firewall Policy Insights." } } } FirewallPolicyLogAnalyticsWorkspace: { properties: { workspaceId: { - description: "Reference to another subresource." + description: "The workspace Id for Firewall Policy Insights." } } } FirewallPolicyPropertiesFormat: { properties: { basePolicy: { - description: "Reference to another subresource." + description: "The parent firewall policy from which rules are inherited." } dnsSettings: { - description: "DNS Proxy Settings in Firewall Policy." + description: "DNS Proxy Settings definition." } explicitProxy: { - description: "Explicit Proxy Settings in Firewall Policy." + description: "Explicit Proxy Settings definition." } insights: { - description: "Firewall Policy Insights." + description: "Insights on Firewall Policy." } intrusionDetection: { - description: "Configuration for intrusion detection mode and rules." + description: "The configuration for Intrusion detection." } sku: { - description: "SKU of Firewall policy." + description: "The Firewall Policy SKU." } snat: { oneOf: [ { - $ref: "#/definitions/FirewallPolicySNAT" + $ref: "#/definitions/FirewallPolicySnat" } ... ] } sql: { - description: "SQL Settings in Firewall Policy." + description: "SQL Settings definition." } transportSecurity: { - description: "Configuration needed to perform TLS termination & initiation." + description: "TLS Configuration definition." } } } FirewallPolicyRule: { oneOf: [ { - $ref: "#/definitions/ApplicationRule" + description: "Rule of type application." + properties: { + destinationAddresses: { + description: "List of destination IP addresses or Service Tags." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + fqdnTags: { + description: "List of FQDN Tags for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + httpHeadersToInsert: { + description: "List of HTTP/S headers to insert." + oneOf: [ + { + items: { + $ref: "#/definitions/FirewallPolicyHttpHeaderToInsert" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + protocols: { + description: "Array of Application Protocols." + oneOf: [ + { + items: { + $ref: "#/definitions/FirewallPolicyRuleApplicationProtocol" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + sourceAddresses: { + description: "List of source IP addresses for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + sourceIpGroups: { + description: "List of source IpGroups for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + targetFqdns: { + description: "List of FQDNs for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + targetUrls: { + description: "List of Urls for this rule condition." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + terminateTLS: { + description: "Terminate TLS connections for this rule." + oneOf: [ + { + type: "boolean" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + webCategories: { + description: "List of destination azure web categories." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + type: "object" } { - $ref: "#/definitions/NatRule" + description: "Rule of type nat." + properties: { + destinationAddresses: { + description: "List of destination IP addresses or Service Tags." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + destinationPorts: { + description: "List of destination ports." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + ipProtocols: { + description: "Array of FirewallPolicyRuleNetworkProtocols." + oneOf: [ + { + items: { + enum: [ + "TCP" + "UDP" + "Any" + "ICMP" + ] + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + sourceAddresses: { + description: "List of source IP addresses for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + sourceIpGroups: { + description: "List of source IpGroups for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + translatedAddress: { + description: "The translated address for this NAT rule." + type: "string" + } + translatedFqdn: { + description: "The translated FQDN for this NAT rule." + type: "string" + } + translatedPort: { + description: "The translated port for this NAT rule." + type: "string" + } + } + type: "object" } { - $ref: "#/definitions/NetworkRule" + description: "Rule of type network." + properties: { + destinationAddresses: { + description: "List of destination IP addresses or Service Tags." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + destinationFqdns: { + description: "List of destination FQDNs." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + destinationIpGroups: { + description: "List of destination IpGroups for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + destinationPorts: { + description: "List of destination ports." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + ipProtocols: { + description: "Array of FirewallPolicyRuleNetworkProtocols." + oneOf: [ + { + items: { + enum: [ + "TCP" + "UDP" + "Any" + "ICMP" + ] + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + sourceAddresses: { + description: "List of source IP addresses for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + sourceIpGroups: { + description: "List of source IpGroups for this rule." + oneOf: [ + { + items: { + type: "string" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + type: "object" } ] } FirewallPolicyRuleCollection: { oneOf: [ { - $ref: "#/definitions/FirewallPolicyNatRuleCollection" + description: "Firewall Policy Filter Rule Collection." + properties: { + action: { + description: "The action type of a Filter rule collection." + oneOf: [ + { + $ref: "#/definitions/FirewallPolicyFilterRuleCollectionAction" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + rules: { + description: "List of rules included in a rule collection." + oneOf: [ + { + items: { + $ref: "#/definitions/FirewallPolicyRule" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + type: "object" } { - $ref: "#/definitions/FirewallPolicyFilterRuleCollection" + description: "Firewall Policy NAT Rule Collection." + properties: { + action: { + description: "The action type of a Nat rule collection." + oneOf: [ + { + $ref: "#/definitions/FirewallPolicyNatRuleCollectionAction" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + rules: { + description: "List of rules included in a rule collection." + oneOf: [ + { + items: { + $ref: "#/definitions/FirewallPolicyRule" + } + type: "array" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + type: "object" } ] } FirewallPolicyTransportSecurity: { properties: { certificateAuthority: { - description: "Trusted Root certificates properties for tls." + description: "The CA used for intermediate CA generation." } } } FlowLogFormatParameters: { properties: { version: { oneOf: [ { - default: "0" } ... ] } } } FlowLogPropertiesFormat: { required: [ + "targetResourceId" ... - "targetResourceId" ] } FrontendIPConfiguration: { properties: { properties: { - description: "Properties of Frontend IP Configuration of the load balancer." + description: "Properties of the load balancer probe." } } } FrontendIPConfigurationPropertiesFormat: { properties: { gatewayLoadBalancer: { - description: "Reference to another subresource." + description: "The reference to gateway load balancer frontend IP." } publicIPAddress: { - description: "Public IP address resource." + description: "The reference to the Public IP resource." } publicIPPrefix: { - description: "Reference to another subresource." + description: "The reference to the Public IP Prefix resource." } subnet: { - description: "Subnet in a virtual network resource." + description: "The reference to the subnet resource." } } } GatewayCustomBgpIpAddressIpConfiguration: { required: [ + "ipConfigurationId" ... - "ipConfigurationId" ] } HubIPConfigurationPropertiesFormat: { properties: { publicIPAddress: { - description: "Public IP address resource." + description: "The reference to the public IP resource." } subnet: { - description: "Subnet in a virtual network resource." + description: "The reference to the subnet resource." } } } HubRoute: { required: [ + "name" + "destinationType" ... - "destinationType" - "name" + "nextHopType" ... - "nextHopType" ] } HubVirtualNetworkConnectionProperties: { properties: { remoteVirtualNetwork: { - description: "Reference to another subresource." + description: "Reference to the remote virtual network." } routingConfiguration: { - description: "Routing Configuration indicating the associated and propagated route tables for this connection." + description: "The Routing Configuration indicating the associated and propagated route tables on this connection." } } } InboundNatPool: { properties: { properties: { - description: "Properties of Inbound NAT pool." + description: "Properties of load balancer inbound nat pool." } } } InboundNatPoolPropertiesFormat: { properties: { frontendIPConfiguration: { - description: "Reference to another subresource." + description: "A reference to frontend IP addresses." } } required: [ + "protocol" + "frontendPortRangeStart" + "frontendPortRangeEnd" ... - "frontendPortRangeEnd" - "frontendPortRangeStart" - "protocol" ] } InboundNatRule: { properties: { properties: { - description: "Properties of the inbound NAT rule." + description: "Properties of load balancer inbound NAT rule." } } } InboundNatRulePropertiesFormat: { properties: { backendAddressPool: { - description: "Reference to another subresource." + description: "A reference to backendAddressPool resource." } frontendIPConfiguration: { - description: "Reference to another subresource." + description: "A reference to frontend IP addresses." } } } InternetIngressPublicIpsProperties: { properties: { id: { - format: "arm-id" } } } IpAllocationPropertiesFormat: { properties: { prefixLength: { oneOf: [ { - default: "0" } ... ] } } } IPConfigurationProfile: { properties: { properties: { - description: "IP configuration profile properties." + description: "Properties of the IP configuration profile." } } } IPConfigurationProfilePropertiesFormat: { properties: { subnet: { - description: "Subnet in a virtual network resource." + description: "The reference to the subnet resource to create a container network interface ip configuration." } } } IpsecPolicy: { required: [ - "dhGroup" + "saLifeTimeSeconds" + "saDataSizeKilobytes" + "ipsecEncryption" + "ipsecIntegrity" ... ... - "ipsecEncryption" - "ipsecIntegrity" + "dhGroup" ... - "saDataSizeKilobytes" - "saLifeTimeSeconds" ] } Ipv6ExpressRouteCircuitPeeringConfig: { properties: { microsoftPeeringConfig: { - description: "Specifies the peering configuration." + description: "The Microsoft peering configuration." } routeFilter: { - description: "Reference to another subresource." + description: "The reference to the RouteFilter resource." } } } LoadBalancerBackendAddress: { properties: { properties: { - description: "Properties of the load balancer backend addresses." + description: "Properties of load balancer backend address pool." } } } LoadBalancerBackendAddressPropertiesFormat: { properties: { loadBalancerFrontendIPConfiguration: { - description: "Reference to another subresource." + description: "Reference to the frontend ip address configuration defined in regional loadbalancer." } subnet: { - description: "Reference to another subresource." + description: "Reference to an existing subnet." } virtualNetwork: { - description: "Reference to another subresource." + description: "Reference to an existing virtual network." } } } loadBalancers_backendAddressPools_childResource: { properties: { properties: { - description: "Properties of the backend address pool." + description: "Properties of load balancer backend address pool." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } loadBalancers_inboundNatRules_childResource: { properties: { properties: { - description: "Properties of the inbound NAT rule." + description: "Properties of load balancer inbound NAT rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } LoadBalancingRule: { properties: { properties: { - description: "Properties of the load balancer." + description: "Properties of load balancer load balancing rule." } } } LoadBalancingRulePropertiesFormat: { properties: { backendAddressPool: { - description: "Reference to another subresource." + description: "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs." } frontendIPConfiguration: { - description: "Reference to another subresource." + description: "A reference to frontend IP addresses." } probe: { - description: "Reference to another subresource." + description: "The reference to the load balancer probe used by the load balancing rule." } } required: [ + "protocol" ... - "protocol" ] } LocalNetworkGateway: { properties: { properties: { - description: "LocalNetworkGateway properties." + description: "Properties of the local network gateway." } } } LocalNetworkGatewayPropertiesFormat: { properties: { bgpSettings: { - description: "BGP settings details." + description: "Local network gateway's BGP speaker settings." } localNetworkAddressSpace: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "Local network site address space." } } } ManagedServiceIdentity: { properties: { userAssignedIdentities: { oneOf: [ { additionalProperties: { - $ref: "#/definitions/Components1jq1t4ischemasmanagedserviceidentitypropertiesuserassignedidentitiesadditionalproperties" + $ref: "#/definitions/Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties" } } ... ] } } } MatchCondition: { required: [ - "matchValues" ... ... + "matchValues" ] } NatGateway: { properties: { sku: { - description: "SKU of nat gateway." + description: "The nat gateway SKU." } } } NetworkInterfaceIPConfiguration: { properties: { properties: { - description: "Properties of IP configuration." + description: "Network interface IP configuration properties." } } } NetworkInterfaceIPConfigurationPropertiesFormat: { properties: { gatewayLoadBalancer: { - description: "Reference to another subresource." + description: "The reference to gateway load balancer frontend IP." } publicIPAddress: { - description: "Public IP address resource." + description: "Public IP address bound to the IP configuration." } subnet: { - description: "Subnet in a virtual network resource." + description: "Subnet bound to the IP configuration." } } } NetworkInterfacePropertiesFormat: { properties: { dnsSettings: { - description: "DNS settings of a network interface." + description: "The DNS settings in network interface." } networkSecurityGroup: { - description: "NetworkSecurityGroup resource." + description: "The reference to the NetworkSecurityGroup resource." } privateLinkService: { - description: "Private link service resource." + description: "Privatelinkservice of the network interface resource." } } } networkInterfaces_tapConfigurations_childResource: { properties: { properties: { - description: "Properties of Virtual Network Tap configuration." + description: "Properties of the Virtual Network Tap configuration." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } NetworkInterfaceTapConfigurationPropertiesFormat: { properties: { virtualNetworkTap: { - description: "Virtual Network Tap resource." + description: "The reference to the Virtual Network Tap resource." } } } NetworkManagerConnectionProperties: { properties: { - connectionState: { - oneOf: [ - { - type: "string" - enum: [ - "Connected" - "Pending" - "Conflict" - "Revoked" - "Rejected" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Connection state." - } } } NetworkManagerProperties: { required: [ + "networkManagerScopes" ... - "networkManagerScopes" ] } networkManagers_connectivityConfigurations_childResource: { properties: { properties: { - description: "Properties of network manager connectivity configuration" + description: "Properties of a network manager connectivity configuration" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_networkGroups_childResource: { properties: { properties: { - description: "Properties of network group" + description: "The Network Group properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_networkGroups_staticMembers_childResource: { properties: { properties: { - description: "Properties of static member." + description: "The Static Member properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_scopeConnections_childResource: { properties: { properties: { - description: "Scope connection." + description: "The scope connection properties" } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_securityAdminConfigurations_childResource: { properties: { properties: { - description: "Defines the security admin configuration properties." + description: "Indicates the properties for the network manager security admin configuration." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_securityAdminConfigurations_ruleCollections_childResource: { properties: { properties: { - description: "Defines the admin rule collection properties." + description: "Indicates the properties for the network manager admin rule collection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkManagers_securityAdminConfigurations_ruleCollections_rules_childResource: { - oneOf: [ - { - $ref: "#/definitions/AdminRule" - } - { - $ref: "#/definitions/DefaultAdminRule" - } - ] required: [ + "name" ... - "name" ... ] } NetworkSecurityGroup: { properties: { properties: { - description: "Network Security Group resource." + description: "Properties of the network security group." } } } networkSecurityGroups_securityRules_childResource: { properties: { properties: { - description: "Security rule resource." + description: "Properties of the security rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } NetworkVirtualApplianceConnectionProperties: { properties: { routingConfiguration: { - description: "Routing Configuration indicating the associated and propagated route tables for this connection." + description: "The Routing Configuration indicating the associated and propagated route tables on this connection." } } } NetworkVirtualAppliancePropertiesFormat: { properties: { delegation: { - description: "Properties of the delegation." + description: "The delegation for the Virtual Appliance" } nvaSku: { - description: "Network Virtual Appliance Sku Properties." + description: "Network Virtual Appliance SKU." } partnerManagedResource: { - description: "Properties of the partner managed resource." + description: "The delegation for the Virtual Appliance" } virtualHub: { - description: "Reference to another subresource." + description: "The Virtual Hub where Network Virtual Appliance is being deployed." } } } NetworkVirtualAppliancePropertiesFormatNetworkProfile: { properties: { networkInterfaceConfigurations: { + description: "" } } } networkVirtualAppliances_inboundSecurityRules_childResource: { properties: { properties: { - description: "Properties of the Inbound Security Rules resource." + description: "The properties of the Inbound Security Rules." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkVirtualAppliances_networkVirtualApplianceConnections_childResource: { properties: { name: { - type: "string" + oneOf: [ + { + pattern: "^[A-Za-z0-9_]+" + type: "string" + } + { + $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } properties: { - description: "Properties of the NetworkVirtualApplianceConnection subresource." + description: "Properties of the express route connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkVirtualAppliances_virtualApplianceSites_childResource: { properties: { properties: { - description: "Properties of the rule group." + description: "The properties of the Virtual Appliance Sites." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkWatchers_connectionMonitors_childResource: { properties: { properties: { - description: "Parameters that define the operation to create a connection monitor." + description: "Properties of the connection monitor." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkWatchers_flowLogs_childResource: { properties: { identity: { - description: "Identity for the resource." + description: "FlowLog resource Managed Identity" } properties: { - description: "Parameters that define the configuration of flow log." + description: "Properties of the flow log." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } networkWatchers_packetCaptures_childResource: { properties: { properties: { - description: "Parameters that define the create packet capture operation." + description: "Properties of the packet capture." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } Office365PolicyProperties: { properties: { breakOutCategories: { - description: "Network Virtual Appliance Sku Properties." + description: "Office 365 breakout categories." } } } OutboundRule: { properties: { properties: { - description: "Outbound rule of the load balancer." + description: "Properties of load balancer outbound rule." } } } OutboundRulePropertiesFormat: { properties: { backendAddressPool: { - description: "Reference to another subresource." + description: "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs." } } required: [ + "frontendIPConfigurations" ... - "frontendIPConfigurations" ... ] } OwaspCrsExclusionEntry: { required: [ ... + "selectorMatchOperator" ... - "selectorMatchOperator" ] } P2SConnectionConfiguration: { properties: { properties: { - description: "Parameters for P2SConnectionConfiguration." + description: "Properties of the P2S connection configuration." } } } P2SConnectionConfigurationProperties: { properties: { routingConfiguration: { - description: "Routing Configuration indicating the associated and propagated route tables for this connection." + description: "The Routing Configuration indicating the associated and propagated route tables on this connection." } vpnClientAddressPool: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The reference to the address space resource which represents Address space for P2S VpnClient." } } } P2SVpnGatewayProperties: { properties: { virtualHub: { - description: "Reference to another subresource." + description: "The VirtualHub to which the gateway belongs." } vpnServerConfiguration: { - description: "Reference to another subresource." + description: "The VpnServerConfiguration to which the p2sVpnGateway is attached to." } } } PacketCaptureParameters: { properties: { bytesToCapturePerPacket: { oneOf: [ { - default: "0" } ... ] } captureSettings: { - description: "The storage location for a packet capture session." + description: "The capture setting holds the 'FileCount', 'FileSizeInBytes', 'SessionTimeLimitInSeconds' values." } timeLimitInSeconds: { oneOf: [ { - default: "18000" } ... ] } totalBytesPerSession: { oneOf: [ { - default: "1073741824" } ... ] } } required: [ + "target" ... - "target" ] } PacketCaptureSettings: { properties: { fileCount: { oneOf: [ { - default: "10" } ... ] } fileSizeInBytes: { oneOf: [ { - default: "104857600" } ... ] } sessionTimeLimitInSeconds: { oneOf: [ { - default: "86400" } ... ] } } } PolicySettings: { properties: { fileUploadEnforcement: { oneOf: [ { - default: true } ... ] } requestBodyEnforcement: { oneOf: [ { - default: true } ... ] } } } PrivateDnsZoneConfig: { properties: { properties: { - description: "Properties of the private dns zone configuration resource." + description: "Properties of the private dns zone configuration." } } } PrivateEndpointIPConfiguration: { properties: { properties: { - description: "Properties of an IP Configuration of the private endpoint." + description: "Properties of private endpoint IP configurations." } } } PrivateEndpointProperties: { properties: { subnet: { - description: "Subnet in a virtual network resource." + description: "The ID of the subnet from which the private IP will be allocated." } } } privateEndpoints_privateDnsZoneGroups_childResource: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } PrivateLinkService: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the load balancer." } } } PrivateLinkServiceConnection: { properties: { properties: { - description: "Properties of the PrivateLinkServiceConnection." + description: "Properties of the private link service connection." } } } PrivateLinkServiceConnectionProperties: { properties: { privateLinkServiceConnectionState: { - description: "A collection of information about the state of the connection between service consumer and provider." + description: "A collection of read-only information about the state of the connection to the remote resource." } } } PrivateLinkServiceIpConfiguration: { properties: { properties: { - description: "Properties of private link service IP configuration." + description: "Properties of the private link service ip configuration." } } } PrivateLinkServiceIpConfigurationProperties: { properties: { subnet: { - description: "Subnet in a virtual network resource." + description: "The reference to the subnet resource." } } } privateLinkServices_privateEndpointConnections_childResource: { properties: { properties: { - description: "Properties of the PrivateEndpointConnectProperties." + description: "Properties of the private end point connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } Probe: { properties: { properties: { - description: "Load balancer probe resource." + description: "Properties of load balancer probe." } } } ProbePropertiesFormat: { required: [ + "protocol" ... - "protocol" ] } PublicIPAddress: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of the public ip address." } sku: { - description: "SKU of a public IP address." + description: "The public IP address SKU." } } } PublicIPAddressPropertiesFormat: { properties: { ddosSettings: { - description: "Contains the DDoS protection settings of the public IP." + description: "The DDoS protection custom policy associated with the public IP address." } deleteOption: { - description: "Specify what happens to the public IP address when the VM using it is deleted." + description: "Specify what happens to the public IP address when the VM using it is deleted" } dnsSettings: { - description: "Contains FQDN of the DNS record associated with the public IP address." + description: "The FQDN of the DNS record associated with the public IP address." } linkedPublicIPAddress: { - description: "Public IP address resource." + description: "The linked public IP address of the public IP address resource." } natGateway: { - description: "Nat Gateway resource." + description: "The NatGateway for the Public IP address." } publicIPPrefix: { - description: "Reference to another subresource." + description: "The Public IP Prefix this Public IP Address should be allocated from." } servicePublicIPAddress: { - description: "Public IP address resource." + description: "The service public IP address of the public IP address resource." } } } PublicIPPrefixPropertiesFormat: { properties: { customIPPrefix: { - description: "Reference to another subresource." + description: "The customIpPrefix that this prefix is associated with." } natGateway: { - description: "Nat Gateway resource." + description: "NatGateway of Public IP Prefix." } } } RetentionPolicyParameters: { properties: { days: { oneOf: [ { - default: "0" } ... ] } enabled: { oneOf: [ { - default: false } ... ] } } } Route: { properties: { properties: { - description: "Route resource." + description: "Properties of the route." } } } RouteFilterRule: { properties: { properties: { - description: "Route Filter Rule Resource." + description: "Properties of the route filter rule." } } } RouteFilterRulePropertiesFormat: { required: [ ... + "routeFilterRuleType" ... - "routeFilterRuleType" ] } routeFilters_routeFilterRules_childResource: { properties: { properties: { - description: "Route Filter Rule Resource." + description: "Properties of the route filter rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } RouteTable: { properties: { properties: { - description: "Route Table resource." + description: "Properties of the route table." } } } routeTables_routes_childResource: { properties: { properties: { - description: "Route resource." + description: "Properties of the route." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } RoutingConfiguration: { properties: { associatedRouteTable: { - description: "Reference to another subresource." + description: "The resource id RouteTable associated with this RoutingConfiguration." } inboundRouteMap: { - description: "Reference to another subresource." + description: "The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes." } outboundRouteMap: { - description: "Reference to another subresource." + description: "The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes." } } } RoutingPolicy: { required: [ + "name" ... - "name" ... ] } ScopeConnectionProperties: { properties: { - connectionState: { - oneOf: [ - { - type: "string" - enum: [ - "Connected" - "Pending" - "Conflict" - "Revoked" - "Rejected" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "Connection State." - } } } SecurityPartnerProviderPropertiesFormat: { properties: { virtualHub: { - description: "Reference to another subresource." + description: "The virtualHub to which the Security Partner Provider belongs." } } } SecurityRule: { properties: { properties: { - description: "Security rule resource." + description: "Properties of the security rule." } } } SecurityRulePropertiesFormat: { required: [ + "protocol" ... + "priority" ... - "priority" - "protocol" ] } serviceEndpointPolicies_serviceEndpointPolicyDefinitions_childResource: { properties: { properties: { - description: "Service Endpoint policy definition resource." + description: "Properties of the service endpoint policy definition." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } ServiceEndpointPolicy: { properties: { properties: { - description: "Service Endpoint Policy resource." + description: "Properties of the service end point policy." } } } ServiceEndpointPolicyDefinition: { properties: { properties: { - description: "Service Endpoint policy definition resource." + description: "Properties of the service endpoint policy definition." } } } SignaturesOverridesProperties: { properties: { signatures: { + description: "Dictionary of " } } } SubnetPropertiesFormat: { properties: { natGateway: { - description: "Reference to another subresource." + description: "Nat gateway associated with this subnet." } networkSecurityGroup: { - description: "NetworkSecurityGroup resource." + description: "The reference to the NetworkSecurityGroup resource." } routeTable: { - description: "Route table resource." + description: "The reference to the RouteTable resource." } } } SwapResourceProperties: { properties: { slotType: { - description: "Specifies slot info on a cloud service." + description: "Specifies slot info on a cloud service" } } } VirtualApplianceNetworkInterfaceConfigurationProperties: { properties: { ipConfigurations: { + description: "" } } } VirtualApplianceSiteProperties: { properties: { o365Policy: { - description: "Network Virtual Appliance Sku Properties." + description: "Office 365 Policy." } } } VirtualHubProperties: { properties: { - routingState: { - oneOf: [ - { - type: "string" - enum: [ - "None" - "Provisioned" - "Provisioning" - "Failed" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The routing state." - } azureFirewall: { - description: "Reference to another subresource." + description: "The azureFirewall associated with this VirtualHub." } expressRouteGateway: { - description: "Reference to another subresource." + description: "The expressRouteGateway associated with this VirtualHub." } p2SVpnGateway: { - description: "Reference to another subresource." + description: "The P2SVpnGateway associated with this VirtualHub." } preferredRoutingGateway: { - description: "The preferred gateway to route on-prem traffic." + description: "The preferred gateway to route on-prem traffic" } routeTable: { - description: "VirtualHub route table." + description: "The routeTable associated with this virtual hub." } securityPartnerProvider: { - description: "Reference to another subresource." + description: "The securityPartnerProvider associated with this VirtualHub." } virtualWan: { - description: "Reference to another subresource." + description: "The VirtualWAN to which the VirtualHub belongs." } vpnGateway: { - description: "Reference to another subresource." + description: "The VpnGateway associated with this VirtualHub." } } } VirtualHubRouteTableV2: { properties: { properties: { - description: "Parameters for VirtualHubRouteTableV2." + description: "Properties of the virtual hub route table v2." } } } virtualHubs_bgpConnections_childResource: { properties: { properties: { - description: "Properties of the bgp connection." + description: "The properties of the Bgp connections." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_hubRouteTables_childResource: { properties: { properties: { - description: "Parameters for RouteTable." + description: "Properties of the RouteTable resource." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_hubVirtualNetworkConnections_childResource: { properties: { properties: { - description: "Parameters for HubVirtualNetworkConnection." + description: "Properties of the hub virtual network connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_ipConfigurations_childResource: { properties: { properties: { - description: "Properties of IP configuration." + description: "The properties of the Virtual Hub IPConfigurations." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_routeMaps_childResource: { properties: { properties: { - description: "Properties of RouteMap resource" + description: "Properties of the RouteMap resource." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_routeTables_childResource: { properties: { properties: { - description: "Parameters for VirtualHubRouteTableV2." + description: "Properties of the virtual hub route table v2." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualHubs_routingIntent_childResource: { properties: { properties: { - description: "The properties of a RoutingIntent resource." + description: "Properties of the RoutingIntent resource." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } VirtualNetworkEncryption: { properties: { enforcement: { - description: "If the encrypted VNet allows VM that does not support encryption." + description: "If the encrypted VNet allows VM that does not support encryption" } } } VirtualNetworkGateway: { properties: { extendedLocation: { - description: "ExtendedLocation complex type." + description: "The extended location of type local virtual network gateway." } properties: { - description: "VirtualNetworkGateway properties." + description: "Properties of the virtual network gateway." } } } VirtualNetworkGatewayAutoScaleConfiguration: { properties: { bounds: { + description: "The bounds of the autoscale configuration" } } } VirtualNetworkGatewayConnectionPropertiesFormat: { properties: { localNetworkGateway2: { - description: "A common class for general resource information." + description: "The reference to local network gateway resource." } peer: { - description: "Reference to another subresource." + description: "The reference to peerings resource." } virtualNetworkGateway1: { - description: "A common class for general resource information." + description: "The reference to virtual network gateway resource." } virtualNetworkGateway2: { - description: "A common class for general resource information." + description: "The reference to virtual network gateway resource." } } required: [ + "virtualNetworkGateway1" ... - "virtualNetworkGateway1" ] } VirtualNetworkGatewayIPConfiguration: { properties: { properties: { - description: "Properties of VirtualNetworkGatewayIPConfiguration." + description: "Properties of the virtual network gateway ip configuration." } } } VirtualNetworkGatewayIPConfigurationPropertiesFormat: { properties: { publicIPAddress: { - description: "Reference to another subresource." + description: "The reference to the public IP resource." } subnet: { - description: "Reference to another subresource." + description: "The reference to the subnet resource." } } } VirtualNetworkGatewayNatRule: { properties: { properties: { - description: "Parameters for VirtualNetworkGatewayNatRule." + description: "Properties of the Virtual Network Gateway NAT rule." } } } VirtualNetworkGatewayPolicyGroup: { properties: { properties: { - description: "Properties of VirtualNetworkGatewayPolicyGroup." + description: "Properties of tVirtualNetworkGatewayPolicyGroup." } } } VirtualNetworkGatewayPolicyGroupProperties: { required: [ ... + "priority" ... - "priority" ] } VirtualNetworkGatewayPropertiesFormat: { properties: { adminState: { - description: "Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet." + description: "Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet" } autoScaleConfiguration: { - description: "Virtual Network Gateway Autoscale Configuration details" + description: "Autoscale configuration for virutal network gateway" } bgpSettings: { - description: "BGP settings details." + description: "Virtual network gateway's BGP speaker settings." } customRoutes: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient." } gatewayDefaultSite: { - description: "Reference to another subresource." + description: "The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting." } sku: { - description: "VirtualNetworkGatewaySku details." + description: "The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway." } vpnClientConfiguration: { - description: "VpnClientConfiguration for P2S client." + description: "The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations." } } } virtualNetworkGateways_natRules_childResource: { properties: { properties: { - description: "Parameters for VirtualNetworkGatewayNatRule." + description: "Properties of the Virtual Network Gateway NAT rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } VirtualNetworkPeeringPropertiesFormat: { properties: { localAddressSpace: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The local address space of the local virtual network that is peered." } localVirtualNetworkAddressSpace: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The current local address space of the local virtual network that is peered." } remoteAddressSpace: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The reference to the address space peered with the remote virtual network." } remoteBgpCommunities: { - description: "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." + description: "The reference to the remote virtual network's Bgp Communities." } remoteVirtualNetwork: { - description: "Reference to another subresource." + description: "The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)." } remoteVirtualNetworkAddressSpace: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The reference to the current address space of the remote virtual network." } } } VirtualNetworkPropertiesFormat: { properties: { addressSpace: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The AddressSpace that contains an array of IP address ranges that can be used by subnets." } ddosProtectionPlan: { - description: "Reference to another subresource." + description: "The DDoS protection plan associated with the virtual network." } dhcpOptions: { - description: "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options." + description: "The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network." } enableDdosProtection: { oneOf: [ { - default: false } ... ] } enableVmProtection: { oneOf: [ { - default: false } ... ] } } } virtualNetworks_subnets_childResource: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } virtualNetworks_virtualNetworkPeerings_childResource: { required: [ - "apiVersion" ... ... + "apiVersion" ... ] } VirtualNetworkTap: { properties: { properties: { - description: "Virtual Network Tap properties." + description: "Virtual Network Tap Properties." } } } VirtualNetworkTapPropertiesFormat: { properties: { destinationLoadBalancerFrontEndIPConfiguration: { - description: "Frontend IP address of the load balancer." + description: "The reference to the private IP address on the internal Load Balancer that will receive the tap." } destinationNetworkInterfaceIPConfiguration: { - description: "IPConfiguration in a network interface." + description: "The reference to the private IP Address of the collector nic that will receive the tap." } } } VirtualRouterPropertiesFormat: { properties: { hostedGateway: { - description: "Reference to another subresource." + description: "The Gateway on which VirtualRouter is hosted." } hostedSubnet: { - description: "Reference to another subresource." + description: "The Subnet on which VirtualRouter is hosted." } } } virtualRouters_peerings_childResource: { properties: { properties: { - description: "Properties of the rule group." + description: "The properties of the Virtual Router Peering." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } VirtualWanProperties: { properties: { - office365LocalBreakoutCategory: { - oneOf: [ - { - type: "string" - enum: [ - "Optimize" - "OptimizeAndAllow" - "All" - "None" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The office local breakout category." - } } } VnetRoute: { properties: { staticRoutesConfig: { - description: "Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection." + description: "Configuration for static routes on this HubVnetConnection." } } } VngClientConnectionConfiguration: { properties: { properties: { - description: "Properties of VngClientConnectionConfiguration." + description: "Properties of the vpn client root certificate." } } } VngClientConnectionConfigurationProperties: { properties: { vpnClientAddressPool: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The reference to the address space resource which represents Address space for P2S VpnClient." } } required: [ + "vpnClientAddressPool" ... - "vpnClientAddressPool" ] } VpnClientConfiguration: { properties: { vpnClientAddressPool: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The reference to the address space resource which represents Address space for P2S VpnClient." } } } VpnClientRevokedCertificate: { properties: { properties: { - description: "Properties of the revoked VPN client certificate of virtual network gateway." + description: "Properties of the vpn client revoked certificate." } } } VpnClientRootCertificate: { properties: { properties: { - description: "Properties of SSL certificates of application gateway." + description: "Properties of the vpn client root certificate." } } } VpnConnection: { properties: { properties: { - description: "Parameters for VpnConnection." + description: "Properties of the VPN connection." } } } VpnConnectionProperties: { properties: { - connectionStatus: { - oneOf: [ - { - type: "string" - enum: [ - "Unknown" - "Connecting" - "Connected" - "NotConnected" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The connection status." - } remoteVpnSite: { - description: "Reference to another subresource." + description: "Id of the connected vpn site." } routingConfiguration: { - description: "Routing Configuration indicating the associated and propagated route tables for this connection." + description: "The Routing Configuration indicating the associated and propagated route tables on this connection." } } } VpnGatewayNatRule: { properties: { properties: { - description: "Parameters for VpnGatewayNatRule." + description: "Properties of the VpnGateway NAT rule." } } } VpnGatewayProperties: { properties: { bgpSettings: { - description: "BGP settings details." + description: "Local network gateway's BGP speaker settings." } virtualHub: { - description: "Reference to another subresource." + description: "The VirtualHub to which the gateway belongs." } } } vpnGateways_natRules_childResource: { properties: { properties: { - description: "Parameters for VpnGatewayNatRule." + description: "Properties of the VpnGateway NAT rule." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } vpnGateways_vpnConnections_childResource: { properties: { properties: { - description: "Parameters for VpnConnection." + description: "Properties of the VPN connection." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } VpnServerConfigurationPolicyGroup: { properties: { properties: { - description: "Parameters for VpnServerConfigurationPolicyGroup." + description: "Properties of the VpnServerConfigurationPolicyGroup." } } } VpnServerConfigurationProperties: { properties: { aadAuthenticationParameters: { - description: "AAD Vpn authentication type related parameters." + description: "The set of aad vpn authentication parameters." } } } vpnServerConfigurations_configurationPolicyGroups_childResource: { properties: { properties: { - description: "Parameters for VpnServerConfigurationPolicyGroup." + description: "Properties of the VpnServerConfigurationPolicyGroup." } } required: [ - "apiVersion" ... ... + "apiVersion" ... ] } VpnSiteLink: { properties: { properties: { - description: "Parameters for VpnSite." + description: "Properties of the VPN site link." } } } VpnSiteLinkConnection: { properties: { properties: { - description: "Parameters for VpnConnection." + description: "Properties of the VPN site link connection." } } } VpnSiteLinkConnectionProperties: { properties: { - connectionStatus: { - oneOf: [ - { - type: "string" - enum: [ - "Unknown" - "Connecting" - "Connected" - "NotConnected" - ] - } - { - $ref: "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - description: "The connection status." - } vpnSiteLink: { - description: "Reference to another subresource." + description: "Id of the connected vpn site link." } } } VpnSiteLinkProperties: { properties: { bgpProperties: { - description: "BGP settings details for a link." + description: "The set of bgp properties." } linkProperties: { - description: "List of properties of a link provider." + description: "The link provider properties." } } } VpnSiteProperties: { properties: { addressSpace: { - description: "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + description: "The AddressSpace that contains an array of IP address ranges." } bgpProperties: { - description: "BGP settings details." + description: "The set of bgp properties." } deviceProperties: { - description: "List of properties of the device." + description: "The device properties." } o365Policy: { - description: "The Office365 breakout policy." + description: "Office365 Policy." } virtualWan: { - description: "Reference to another subresource." + description: "The VirtualWAN to which the vpnSite belongs." } } } WebApplicationFirewallCustomRule: { required: [ - "action" - "matchConditions" ... ... + "matchConditions" + "action" ] } WebApplicationFirewallPolicyPropertiesFormat: { properties: { managedRules: { - description: "Allow to exclude some variable satisfy the condition for the WAF check." + description: "Describes the managedRules structure." } policySettings: { - description: "Defines contents of a web application firewall global configuration." + description: "The PolicySettings for policy." } } } } } ```