@azure-rest/arm-network 1.0.0-beta.1 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +4 -4
  3. package/README.md +7 -6
  4. package/dist/browser/clientDefinitions.d.ts +2807 -0
  5. package/dist/browser/clientDefinitions.d.ts.map +1 -0
  6. package/dist/browser/clientDefinitions.js +4 -0
  7. package/dist/browser/clientDefinitions.js.map +1 -0
  8. package/dist/browser/index.d.ts +12 -0
  9. package/dist/browser/index.d.ts.map +1 -0
  10. package/dist/browser/index.js +14 -0
  11. package/dist/browser/index.js.map +1 -0
  12. package/dist/browser/isUnexpected.d.ts +615 -0
  13. package/dist/browser/isUnexpected.d.ts.map +1 -0
  14. package/{dist-esm/src → dist/browser}/isUnexpected.js +723 -2425
  15. package/dist/browser/isUnexpected.js.map +1 -0
  16. package/dist/browser/logger.d.ts +2 -0
  17. package/dist/browser/logger.d.ts.map +1 -0
  18. package/dist/browser/logger.js +5 -0
  19. package/dist/browser/logger.js.map +1 -0
  20. package/dist/browser/models.d.ts +5289 -0
  21. package/dist/browser/models.d.ts.map +1 -0
  22. package/dist/browser/models.js +4 -0
  23. package/dist/browser/models.js.map +1 -0
  24. package/dist/browser/networkManagementClient.d.ts +13 -0
  25. package/dist/browser/networkManagementClient.d.ts.map +1 -0
  26. package/dist/browser/networkManagementClient.js +31 -0
  27. package/dist/browser/networkManagementClient.js.map +1 -0
  28. package/dist/browser/outputModels.d.ts +8264 -0
  29. package/dist/browser/outputModels.d.ts.map +1 -0
  30. package/dist/browser/outputModels.js +4 -0
  31. package/dist/browser/outputModels.js.map +1 -0
  32. package/dist/browser/package.json +3 -0
  33. package/dist/browser/paginateHelper.d.ts +68 -0
  34. package/dist/browser/paginateHelper.d.ts.map +1 -0
  35. package/dist/browser/paginateHelper.js +167 -0
  36. package/dist/browser/paginateHelper.js.map +1 -0
  37. package/dist/browser/parameters.d.ts +6569 -0
  38. package/dist/browser/parameters.d.ts.map +1 -0
  39. package/dist/browser/parameters.js +4 -0
  40. package/dist/browser/parameters.js.map +1 -0
  41. package/dist/browser/pollingHelper.d.ts +76 -0
  42. package/dist/browser/pollingHelper.d.ts.map +1 -0
  43. package/dist/browser/pollingHelper.js +104 -0
  44. package/dist/browser/pollingHelper.js.map +1 -0
  45. package/dist/browser/responses.d.ts +7530 -0
  46. package/dist/browser/responses.d.ts.map +1 -0
  47. package/dist/browser/responses.js +4 -0
  48. package/dist/browser/responses.js.map +1 -0
  49. package/dist/commonjs/clientDefinitions.d.ts +2807 -0
  50. package/dist/commonjs/clientDefinitions.d.ts.map +1 -0
  51. package/dist/commonjs/clientDefinitions.js +5 -0
  52. package/dist/commonjs/clientDefinitions.js.map +1 -0
  53. package/dist/commonjs/index.d.ts +12 -0
  54. package/dist/commonjs/index.d.ts.map +1 -0
  55. package/dist/commonjs/index.js +17 -0
  56. package/dist/commonjs/index.js.map +1 -0
  57. package/dist/commonjs/isUnexpected.d.ts +615 -0
  58. package/dist/commonjs/isUnexpected.d.ts.map +1 -0
  59. package/dist/{index.js → commonjs/isUnexpected.js} +729 -2578
  60. package/dist/commonjs/isUnexpected.js.map +1 -0
  61. package/dist/commonjs/logger.d.ts +2 -0
  62. package/dist/commonjs/logger.d.ts.map +1 -0
  63. package/dist/commonjs/logger.js +8 -0
  64. package/dist/commonjs/logger.js.map +1 -0
  65. package/dist/commonjs/models.d.ts +5289 -0
  66. package/dist/commonjs/models.d.ts.map +1 -0
  67. package/dist/commonjs/models.js +5 -0
  68. package/dist/commonjs/models.js.map +1 -0
  69. package/dist/commonjs/networkManagementClient.d.ts +13 -0
  70. package/dist/commonjs/networkManagementClient.d.ts.map +1 -0
  71. package/dist/commonjs/networkManagementClient.js +34 -0
  72. package/dist/commonjs/networkManagementClient.js.map +1 -0
  73. package/dist/commonjs/outputModels.d.ts +8264 -0
  74. package/dist/commonjs/outputModels.d.ts.map +1 -0
  75. package/dist/commonjs/outputModels.js +5 -0
  76. package/dist/commonjs/outputModels.js.map +1 -0
  77. package/dist/commonjs/package.json +3 -0
  78. package/dist/commonjs/paginateHelper.d.ts +68 -0
  79. package/dist/commonjs/paginateHelper.d.ts.map +1 -0
  80. package/dist/commonjs/paginateHelper.js +170 -0
  81. package/dist/commonjs/paginateHelper.js.map +1 -0
  82. package/dist/commonjs/parameters.d.ts +6569 -0
  83. package/dist/commonjs/parameters.d.ts.map +1 -0
  84. package/dist/commonjs/parameters.js +5 -0
  85. package/dist/commonjs/parameters.js.map +1 -0
  86. package/dist/commonjs/pollingHelper.d.ts +76 -0
  87. package/dist/commonjs/pollingHelper.d.ts.map +1 -0
  88. package/dist/commonjs/pollingHelper.js +107 -0
  89. package/dist/commonjs/pollingHelper.js.map +1 -0
  90. package/dist/commonjs/responses.d.ts +7530 -0
  91. package/dist/commonjs/responses.d.ts.map +1 -0
  92. package/dist/commonjs/responses.js +5 -0
  93. package/dist/commonjs/responses.js.map +1 -0
  94. package/dist/commonjs/tsdoc-metadata.json +11 -0
  95. package/dist/esm/clientDefinitions.d.ts +2807 -0
  96. package/dist/esm/clientDefinitions.d.ts.map +1 -0
  97. package/dist/esm/clientDefinitions.js +4 -0
  98. package/dist/esm/clientDefinitions.js.map +1 -0
  99. package/dist/esm/index.d.ts +12 -0
  100. package/dist/esm/index.d.ts.map +1 -0
  101. package/dist/esm/index.js +14 -0
  102. package/dist/esm/index.js.map +1 -0
  103. package/dist/esm/isUnexpected.d.ts +615 -0
  104. package/dist/esm/isUnexpected.d.ts.map +1 -0
  105. package/dist/esm/isUnexpected.js +789 -0
  106. package/dist/esm/isUnexpected.js.map +1 -0
  107. package/dist/esm/logger.d.ts +2 -0
  108. package/dist/esm/logger.d.ts.map +1 -0
  109. package/dist/esm/logger.js +5 -0
  110. package/dist/esm/logger.js.map +1 -0
  111. package/dist/esm/models.d.ts +5289 -0
  112. package/dist/esm/models.d.ts.map +1 -0
  113. package/dist/esm/models.js +4 -0
  114. package/dist/esm/models.js.map +1 -0
  115. package/dist/esm/networkManagementClient.d.ts +13 -0
  116. package/dist/esm/networkManagementClient.d.ts.map +1 -0
  117. package/dist/esm/networkManagementClient.js +31 -0
  118. package/dist/esm/networkManagementClient.js.map +1 -0
  119. package/dist/esm/outputModels.d.ts +8264 -0
  120. package/dist/esm/outputModels.d.ts.map +1 -0
  121. package/dist/esm/outputModels.js +4 -0
  122. package/dist/esm/outputModels.js.map +1 -0
  123. package/dist/esm/package.json +3 -0
  124. package/dist/esm/paginateHelper.d.ts +68 -0
  125. package/dist/esm/paginateHelper.d.ts.map +1 -0
  126. package/dist/esm/paginateHelper.js +167 -0
  127. package/dist/esm/paginateHelper.js.map +1 -0
  128. package/dist/esm/parameters.d.ts +6569 -0
  129. package/dist/esm/parameters.d.ts.map +1 -0
  130. package/dist/esm/parameters.js +4 -0
  131. package/dist/esm/parameters.js.map +1 -0
  132. package/dist/esm/pollingHelper.d.ts +76 -0
  133. package/dist/esm/pollingHelper.d.ts.map +1 -0
  134. package/dist/esm/pollingHelper.js +104 -0
  135. package/dist/esm/pollingHelper.js.map +1 -0
  136. package/dist/esm/responses.d.ts +7530 -0
  137. package/dist/esm/responses.d.ts.map +1 -0
  138. package/dist/esm/responses.js +4 -0
  139. package/dist/esm/responses.js.map +1 -0
  140. package/dist/react-native/clientDefinitions.d.ts +2807 -0
  141. package/dist/react-native/clientDefinitions.d.ts.map +1 -0
  142. package/dist/react-native/clientDefinitions.js +4 -0
  143. package/dist/react-native/clientDefinitions.js.map +1 -0
  144. package/dist/react-native/index.d.ts +12 -0
  145. package/dist/react-native/index.d.ts.map +1 -0
  146. package/dist/react-native/index.js +14 -0
  147. package/dist/react-native/index.js.map +1 -0
  148. package/dist/react-native/isUnexpected.d.ts +615 -0
  149. package/dist/react-native/isUnexpected.d.ts.map +1 -0
  150. package/dist/react-native/isUnexpected.js +789 -0
  151. package/dist/react-native/isUnexpected.js.map +1 -0
  152. package/dist/react-native/logger.d.ts +2 -0
  153. package/dist/react-native/logger.d.ts.map +1 -0
  154. package/dist/react-native/logger.js +5 -0
  155. package/dist/react-native/logger.js.map +1 -0
  156. package/dist/react-native/models.d.ts +5289 -0
  157. package/dist/react-native/models.d.ts.map +1 -0
  158. package/dist/react-native/models.js +4 -0
  159. package/dist/react-native/models.js.map +1 -0
  160. package/dist/react-native/networkManagementClient.d.ts +13 -0
  161. package/dist/react-native/networkManagementClient.d.ts.map +1 -0
  162. package/dist/react-native/networkManagementClient.js +31 -0
  163. package/dist/react-native/networkManagementClient.js.map +1 -0
  164. package/dist/react-native/outputModels.d.ts +8264 -0
  165. package/dist/react-native/outputModels.d.ts.map +1 -0
  166. package/dist/react-native/outputModels.js +4 -0
  167. package/dist/react-native/outputModels.js.map +1 -0
  168. package/dist/react-native/package.json +3 -0
  169. package/dist/react-native/paginateHelper.d.ts +68 -0
  170. package/dist/react-native/paginateHelper.d.ts.map +1 -0
  171. package/dist/react-native/paginateHelper.js +167 -0
  172. package/dist/react-native/paginateHelper.js.map +1 -0
  173. package/dist/react-native/parameters.d.ts +6569 -0
  174. package/dist/react-native/parameters.d.ts.map +1 -0
  175. package/dist/react-native/parameters.js +4 -0
  176. package/dist/react-native/parameters.js.map +1 -0
  177. package/dist/react-native/pollingHelper.d.ts +76 -0
  178. package/dist/react-native/pollingHelper.d.ts.map +1 -0
  179. package/dist/react-native/pollingHelper.js +104 -0
  180. package/dist/react-native/pollingHelper.js.map +1 -0
  181. package/dist/react-native/responses.d.ts +7530 -0
  182. package/dist/react-native/responses.d.ts.map +1 -0
  183. package/dist/react-native/responses.js +4 -0
  184. package/dist/react-native/responses.js.map +1 -0
  185. package/package.json +82 -65
  186. package/review/arm-network.api.md +876 -2156
  187. package/dist/index.js.map +0 -1
  188. package/dist-esm/src/clientDefinitions.js +0 -4
  189. package/dist-esm/src/clientDefinitions.js.map +0 -1
  190. package/dist-esm/src/index.js +0 -14
  191. package/dist-esm/src/index.js.map +0 -1
  192. package/dist-esm/src/isUnexpected.js.map +0 -1
  193. package/dist-esm/src/models.js +0 -4
  194. package/dist-esm/src/models.js.map +0 -1
  195. package/dist-esm/src/networkManagementClient.js +0 -24
  196. package/dist-esm/src/networkManagementClient.js.map +0 -1
  197. package/dist-esm/src/outputModels.js +0 -4
  198. package/dist-esm/src/outputModels.js.map +0 -1
  199. package/dist-esm/src/paginateHelper.js +0 -70
  200. package/dist-esm/src/paginateHelper.js.map +0 -1
  201. package/dist-esm/src/parameters.js +0 -4
  202. package/dist-esm/src/parameters.js.map +0 -1
  203. package/dist-esm/src/pollingHelper.js +0 -48
  204. package/dist-esm/src/pollingHelper.js.map +0 -1
  205. package/dist-esm/src/responses.js +0 -4
  206. package/dist-esm/src/responses.js.map +0 -1
  207. package/types/arm-network.d.ts +0 -38902
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** Application gateway resource. */\nexport interface ApplicationGateway extends Resource {\n /** Properties of the application gateway. */\n properties?: ApplicationGatewayPropertiesFormat;\n /** A list of availability zones denoting where the resource needs to come from. */\n zones?: Array<string>;\n /** The identity of the application gateway, if configured. */\n identity?: ManagedServiceIdentity;\n}\n\n/** Properties of the application gateway. */\nexport interface ApplicationGatewayPropertiesFormat {\n /** SKU of the application gateway resource. */\n sku?: ApplicationGatewaySku;\n /** SSL policy of the application gateway resource. */\n sslPolicy?: ApplicationGatewaySslPolicy;\n /** Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n gatewayIPConfigurations?: Array<ApplicationGatewayIPConfiguration>;\n /** Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n authenticationCertificates?: Array<ApplicationGatewayAuthenticationCertificate>;\n /** Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n trustedRootCertificates?: Array<ApplicationGatewayTrustedRootCertificate>;\n /** Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n trustedClientCertificates?: Array<ApplicationGatewayTrustedClientCertificate>;\n /** SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n sslCertificates?: Array<ApplicationGatewaySslCertificate>;\n /** Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n frontendIPConfigurations?: Array<ApplicationGatewayFrontendIPConfiguration>;\n /** Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n frontendPorts?: Array<ApplicationGatewayFrontendPort>;\n /** Probes of the application gateway resource. */\n probes?: Array<ApplicationGatewayProbe>;\n /** Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n backendAddressPools?: Array<ApplicationGatewayBackendAddressPool>;\n /** Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n backendHttpSettingsCollection?: Array<ApplicationGatewayBackendHttpSettings>;\n /** Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n backendSettingsCollection?: Array<ApplicationGatewayBackendSettings>;\n /** Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n httpListeners?: Array<ApplicationGatewayHttpListener>;\n /** Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n listeners?: Array<ApplicationGatewayListener>;\n /** SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n sslProfiles?: Array<ApplicationGatewaySslProfile>;\n /** URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n urlPathMaps?: Array<ApplicationGatewayUrlPathMap>;\n /** Request routing rules of the application gateway resource. */\n requestRoutingRules?: Array<ApplicationGatewayRequestRoutingRule>;\n /** Routing rules of the application gateway resource. */\n routingRules?: Array<ApplicationGatewayRoutingRule>;\n /** Rewrite rules for the application gateway resource. */\n rewriteRuleSets?: Array<ApplicationGatewayRewriteRuleSet>;\n /** Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */\n redirectConfigurations?: Array<ApplicationGatewayRedirectConfiguration>;\n /** Web application firewall configuration. */\n webApplicationFirewallConfiguration?: ApplicationGatewayWebApplicationFirewallConfiguration;\n /** Reference to the FirewallPolicy resource. */\n firewallPolicy?: SubResource;\n /** Whether HTTP2 is enabled on the application gateway resource. */\n enableHttp2?: boolean;\n /** Whether FIPS is enabled on the application gateway resource. */\n enableFips?: boolean;\n /** Autoscale Configuration. */\n autoscaleConfiguration?: ApplicationGatewayAutoscaleConfiguration;\n /** PrivateLink configurations on application gateway. */\n privateLinkConfigurations?: Array<ApplicationGatewayPrivateLinkConfiguration>;\n /** Custom error configurations of the application gateway resource. */\n customErrorConfigurations?: Array<ApplicationGatewayCustomError>;\n /** If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config. */\n forceFirewallPolicyAssociation?: boolean;\n /** Load distribution policies of the application gateway resource. */\n loadDistributionPolicies?: Array<ApplicationGatewayLoadDistributionPolicy>;\n /** Global Configuration. */\n globalConfiguration?: ApplicationGatewayGlobalConfiguration;\n}\n\n/** SKU of an application gateway. */\nexport interface ApplicationGatewaySku {\n /** Name of an application gateway SKU. */\n name?:\n | \"Standard_Small\"\n | \"Standard_Medium\"\n | \"Standard_Large\"\n | \"WAF_Medium\"\n | \"WAF_Large\"\n | \"Standard_v2\"\n | \"WAF_v2\";\n /** Tier of an application gateway. */\n tier?: \"Standard\" | \"WAF\" | \"Standard_v2\" | \"WAF_v2\";\n /** Capacity (instance count) of an application gateway. */\n capacity?: number;\n}\n\n/** Application Gateway Ssl policy. */\nexport interface ApplicationGatewaySslPolicy {\n /** Ssl protocols to be disabled on application gateway. */\n disabledSslProtocols?: Array<\"TLSv1_0\" | \"TLSv1_1\" | \"TLSv1_2\" | \"TLSv1_3\">;\n /** Type of Ssl Policy. */\n policyType?: \"Predefined\" | \"Custom\" | \"CustomV2\";\n /** Name of Ssl predefined policy. */\n policyName?:\n | \"AppGwSslPolicy20150501\"\n | \"AppGwSslPolicy20170401\"\n | \"AppGwSslPolicy20170401S\"\n | \"AppGwSslPolicy20220101\"\n | \"AppGwSslPolicy20220101S\";\n /** Ssl cipher suites to be enabled in the specified order to application gateway. */\n cipherSuites?: Array<\n | \"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_DHE_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_RSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_RSA_WITH_AES_256_CBC_SHA256\"\n | \"TLS_RSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256\"\n | \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256\"\n | \"TLS_DHE_DSS_WITH_AES_256_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"\n | \"TLS_RSA_WITH_3DES_EDE_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\"\n >;\n /** Minimum version of Ssl protocol to be supported on application gateway. */\n minProtocolVersion?: \"TLSv1_0\" | \"TLSv1_1\" | \"TLSv1_2\" | \"TLSv1_3\";\n}\n\n/** IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. */\nexport interface ApplicationGatewayIPConfiguration extends SubResource {\n /** Properties of the application gateway IP configuration. */\n properties?: ApplicationGatewayIPConfigurationPropertiesFormat;\n /** Name of the IP configuration that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of IP configuration of an application gateway. */\nexport interface ApplicationGatewayIPConfigurationPropertiesFormat {\n /** Reference to the subnet resource. A subnet from where application gateway gets its private address. */\n subnet?: SubResource;\n}\n\n/** Reference to another subresource. */\nexport interface SubResource {\n /** Resource ID. */\n id?: string;\n}\n\n/** Authentication certificates of an application gateway. */\nexport interface ApplicationGatewayAuthenticationCertificate extends SubResource {\n /** Properties of the application gateway authentication certificate. */\n properties?: ApplicationGatewayAuthenticationCertificatePropertiesFormat;\n /** Name of the authentication certificate that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Authentication certificates properties of an application gateway. */\nexport interface ApplicationGatewayAuthenticationCertificatePropertiesFormat {\n /** Certificate public data. */\n data?: string;\n}\n\n/** Trusted Root certificates of an application gateway. */\nexport interface ApplicationGatewayTrustedRootCertificate extends SubResource {\n /** Properties of the application gateway trusted root certificate. */\n properties?: ApplicationGatewayTrustedRootCertificatePropertiesFormat;\n /** Name of the trusted root certificate that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Trusted Root certificates properties of an application gateway. */\nexport interface ApplicationGatewayTrustedRootCertificatePropertiesFormat {\n /** Certificate public data. */\n data?: string;\n /** Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. */\n keyVaultSecretId?: string;\n}\n\n/** Trusted client certificates of an application gateway. */\nexport interface ApplicationGatewayTrustedClientCertificate extends SubResource {\n /** Properties of the application gateway trusted client certificate. */\n properties?: ApplicationGatewayTrustedClientCertificatePropertiesFormat;\n /** Name of the trusted client certificate that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Trusted client certificates properties of an application gateway. */\nexport interface ApplicationGatewayTrustedClientCertificatePropertiesFormat {\n /** Certificate public data. */\n data?: string;\n}\n\n/** SSL certificates of an application gateway. */\nexport interface ApplicationGatewaySslCertificate extends SubResource {\n /** Properties of the application gateway SSL certificate. */\n properties?: ApplicationGatewaySslCertificatePropertiesFormat;\n /** Name of the SSL certificate that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of SSL certificates of an application gateway. */\nexport interface ApplicationGatewaySslCertificatePropertiesFormat {\n /** Base-64 encoded pfx certificate. Only applicable in PUT Request. */\n data?: string;\n /** Password for the pfx file specified in data. Only applicable in PUT request. */\n password?: string;\n /** Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. */\n keyVaultSecretId?: string;\n}\n\n/** Frontend IP configuration of an application gateway. */\nexport interface ApplicationGatewayFrontendIPConfiguration extends SubResource {\n /** Properties of the application gateway frontend IP configuration. */\n properties?: ApplicationGatewayFrontendIPConfigurationPropertiesFormat;\n /** Name of the frontend IP configuration that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of Frontend IP configuration of an application gateway. */\nexport interface ApplicationGatewayFrontendIPConfigurationPropertiesFormat {\n /** PrivateIPAddress of the network interface IP Configuration. */\n privateIPAddress?: string;\n /** The private IP address allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** Reference to the subnet resource. */\n subnet?: SubResource;\n /** Reference to the PublicIP resource. */\n publicIPAddress?: SubResource;\n /** Reference to the application gateway private link configuration. */\n privateLinkConfiguration?: SubResource;\n}\n\n/** Frontend port of an application gateway. */\nexport interface ApplicationGatewayFrontendPort extends SubResource {\n /** Properties of the application gateway frontend port. */\n properties?: ApplicationGatewayFrontendPortPropertiesFormat;\n /** Name of the frontend port that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of Frontend port of an application gateway. */\nexport interface ApplicationGatewayFrontendPortPropertiesFormat {\n /** Frontend port. */\n port?: number;\n}\n\n/** Probe of the application gateway. */\nexport interface ApplicationGatewayProbe extends SubResource {\n /** Properties of the application gateway probe. */\n properties?: ApplicationGatewayProbePropertiesFormat;\n /** Name of the probe that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of probe of an application gateway. */\nexport interface ApplicationGatewayProbePropertiesFormat {\n /** The protocol used for the probe. */\n protocol?: \"Http\" | \"Https\" | \"Tcp\" | \"Tls\";\n /** Host name to send the probe to. */\n host?: string;\n /** Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>. */\n path?: string;\n /** The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. */\n interval?: number;\n /** The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. */\n timeout?: number;\n /** The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20. */\n unhealthyThreshold?: number;\n /** Whether the host header should be picked from the backend http settings. Default value is false. */\n pickHostNameFromBackendHttpSettings?: boolean;\n /** Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false. */\n pickHostNameFromBackendSettings?: boolean;\n /** Minimum number of servers that are always marked healthy. Default value is 0. */\n minServers?: number;\n /** Criterion for classifying a healthy probe response. */\n match?: ApplicationGatewayProbeHealthResponseMatch;\n /** Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only. */\n port?: number;\n}\n\n/** Application gateway probe health response match. */\nexport interface ApplicationGatewayProbeHealthResponseMatch {\n /** Body that must be contained in the health response. Default value is empty. */\n body?: string;\n /** Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399. */\n statusCodes?: Array<string>;\n}\n\n/** Backend Address Pool of an application gateway. */\nexport interface ApplicationGatewayBackendAddressPool extends SubResource {\n /** Properties of the application gateway backend address pool. */\n properties?: ApplicationGatewayBackendAddressPoolPropertiesFormat;\n /** Name of the backend address pool that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of Backend Address Pool of an application gateway. */\nexport interface ApplicationGatewayBackendAddressPoolPropertiesFormat {\n /** Backend addresses. */\n backendAddresses?: Array<ApplicationGatewayBackendAddress>;\n}\n\n/** IPConfiguration in a network interface. */\nexport interface NetworkInterfaceIPConfiguration extends SubResource {\n /** Network interface IP configuration properties. */\n properties?: NetworkInterfaceIPConfigurationPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** Resource type. */\n type?: string;\n}\n\n/** Properties of IP configuration. */\nexport interface NetworkInterfaceIPConfigurationPropertiesFormat {\n /** The reference to gateway load balancer frontend IP. */\n gatewayLoadBalancer?: SubResource;\n /** The reference to Virtual Network Taps. */\n virtualNetworkTaps?: Array<VirtualNetworkTap>;\n /** The reference to ApplicationGatewayBackendAddressPool resource. */\n applicationGatewayBackendAddressPools?: Array<ApplicationGatewayBackendAddressPool>;\n /** The reference to LoadBalancerBackendAddressPool resource. */\n loadBalancerBackendAddressPools?: Array<BackendAddressPool>;\n /** A list of references of LoadBalancerInboundNatRules. */\n loadBalancerInboundNatRules?: Array<InboundNatRule>;\n /** Private IP address of the IP configuration. */\n privateIPAddress?: string;\n /** The private IP address allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. */\n privateIPAddressVersion?: \"IPv4\" | \"IPv6\";\n /** Subnet bound to the IP configuration. */\n subnet?: Subnet;\n /** Whether this is a primary customer address on the network interface. */\n primary?: boolean;\n /** Public IP address bound to the IP configuration. */\n publicIPAddress?: PublicIPAddress;\n /** Application security groups in which the IP configuration is included. */\n applicationSecurityGroups?: Array<ApplicationSecurityGroup>;\n}\n\n/** Virtual Network Tap resource. */\nexport interface VirtualNetworkTap extends Resource {\n /** Virtual Network Tap Properties. */\n properties?: VirtualNetworkTapPropertiesFormat;\n}\n\n/** Virtual Network Tap properties. */\nexport interface VirtualNetworkTapPropertiesFormat {\n /** The reference to the private IP Address of the collector nic that will receive the tap. */\n destinationNetworkInterfaceIPConfiguration?: NetworkInterfaceIPConfiguration;\n /** The reference to the private IP address on the internal Load Balancer that will receive the tap. */\n destinationLoadBalancerFrontEndIPConfiguration?: FrontendIPConfiguration;\n /** The VXLAN destination port that will receive the tapped traffic. */\n destinationPort?: number;\n}\n\n/** Tap configuration in a Network Interface. */\nexport interface NetworkInterfaceTapConfiguration extends SubResource {\n /** Properties of the Virtual Network Tap configuration. */\n properties?: NetworkInterfaceTapConfigurationPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of Virtual Network Tap configuration. */\nexport interface NetworkInterfaceTapConfigurationPropertiesFormat {\n /** The reference to the Virtual Network Tap resource. */\n virtualNetworkTap?: VirtualNetworkTap;\n}\n\n/** Frontend IP address of the load balancer. */\nexport interface FrontendIPConfiguration extends SubResource {\n /** Properties of the load balancer probe. */\n properties?: FrontendIPConfigurationPropertiesFormat;\n /** The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource. */\n name?: string;\n /** A list of availability zones denoting the IP allocated for the resource needs to come from. */\n zones?: Array<string>;\n}\n\n/** Properties of Frontend IP Configuration of the load balancer. */\nexport interface FrontendIPConfigurationPropertiesFormat {\n /** The private IP address of the IP configuration. */\n privateIPAddress?: string;\n /** The Private IP allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. */\n privateIPAddressVersion?: \"IPv4\" | \"IPv6\";\n /** The reference to the subnet resource. */\n subnet?: Subnet;\n /** The reference to the Public IP resource. */\n publicIPAddress?: PublicIPAddress;\n /** The reference to the Public IP Prefix resource. */\n publicIPPrefix?: SubResource;\n /** The reference to gateway load balancer frontend IP. */\n gatewayLoadBalancer?: SubResource;\n}\n\n/** Subnet in a virtual network resource. */\nexport interface Subnet extends SubResource {\n /** Properties of the subnet. */\n properties?: SubnetPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** Resource type. */\n type?: string;\n}\n\n/** Properties of the subnet. */\nexport interface SubnetPropertiesFormat {\n /** The address prefix for the subnet. */\n addressPrefix?: string;\n /** List of address prefixes for the subnet. */\n addressPrefixes?: Array<string>;\n /** The reference to the NetworkSecurityGroup resource. */\n networkSecurityGroup?: NetworkSecurityGroup;\n /** The reference to the RouteTable resource. */\n routeTable?: RouteTable;\n /** Nat gateway associated with this subnet. */\n natGateway?: SubResource;\n /** An array of service endpoints. */\n serviceEndpoints?: Array<ServiceEndpointPropertiesFormat>;\n /** An array of service endpoint policies. */\n serviceEndpointPolicies?: Array<ServiceEndpointPolicy>;\n /** Array of IpAllocation which reference this subnet. */\n ipAllocations?: Array<SubResource>;\n /** An array of references to the delegations on the subnet. */\n delegations?: Array<Delegation>;\n /** Enable or Disable apply network policies on private end point in the subnet. */\n privateEndpointNetworkPolicies?: \"Enabled\" | \"Disabled\";\n /** Enable or Disable apply network policies on private link service in the subnet. */\n privateLinkServiceNetworkPolicies?: \"Enabled\" | \"Disabled\";\n /** Application gateway IP configurations of virtual network resource. */\n applicationGatewayIpConfigurations?: Array<ApplicationGatewayIPConfiguration>;\n}\n\n/** NetworkSecurityGroup resource. */\nexport interface NetworkSecurityGroup extends Resource {\n /** Properties of the network security group. */\n properties?: NetworkSecurityGroupPropertiesFormat;\n}\n\n/** Network Security Group resource. */\nexport interface NetworkSecurityGroupPropertiesFormat {\n /** When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. */\n flushConnection?: boolean;\n /** A collection of security rules of the network security group. */\n securityRules?: Array<SecurityRule>;\n}\n\n/** Network security rule. */\nexport interface SecurityRule extends SubResource {\n /** Properties of the security rule. */\n properties?: SecurityRulePropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** The type of the resource. */\n type?: string;\n}\n\n/** Security rule resource. */\nexport interface SecurityRulePropertiesFormat {\n /** A description for this rule. Restricted to 140 chars. */\n description?: string;\n /** Network protocol this rule applies to. */\n protocol: \"Tcp\" | \"Udp\" | \"Icmp\" | \"Esp\" | \"*\" | \"Ah\";\n /** The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. */\n sourcePortRange?: string;\n /** The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. */\n destinationPortRange?: string;\n /** The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. */\n sourceAddressPrefix?: string;\n /** The CIDR or source IP ranges. */\n sourceAddressPrefixes?: Array<string>;\n /** The application security group specified as source. */\n sourceApplicationSecurityGroups?: Array<ApplicationSecurityGroup>;\n /** The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. */\n destinationAddressPrefix?: string;\n /** The destination address prefixes. CIDR or destination IP ranges. */\n destinationAddressPrefixes?: Array<string>;\n /** The application security group specified as destination. */\n destinationApplicationSecurityGroups?: Array<ApplicationSecurityGroup>;\n /** The source port ranges. */\n sourcePortRanges?: Array<string>;\n /** The destination port ranges. */\n destinationPortRanges?: Array<string>;\n /** The network traffic is allowed or denied. */\n access: \"Allow\" | \"Deny\";\n /** The priority of the rule. The value can be between 100 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. */\n priority?: number;\n /** The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. */\n direction: \"Inbound\" | \"Outbound\";\n}\n\n/** An application security group in a resource group. */\nexport interface ApplicationSecurityGroup extends Resource {\n /** Properties of the application security group. */\n properties?: ApplicationSecurityGroupPropertiesFormat;\n}\n\n/** Application security group properties. */\nexport interface ApplicationSecurityGroupPropertiesFormat {}\n\n/** Common resource representation. */\nexport interface Resource {\n /** Resource ID. */\n id?: string;\n /** Resource location. */\n location?: string;\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\n/** A network interface in a resource group. */\nexport interface NetworkInterface extends Resource {\n /** The extended location of the network interface. */\n extendedLocation?: ExtendedLocation;\n /** Properties of the network interface. */\n properties?: NetworkInterfacePropertiesFormat;\n}\n\n/** ExtendedLocation complex type. */\nexport interface ExtendedLocation {\n /** The name of the extended location. */\n name?: string;\n /** The type of the extended location. */\n type?: \"EdgeZone\";\n}\n\n/** NetworkInterface properties. */\nexport interface NetworkInterfacePropertiesFormat {\n /** The reference to the NetworkSecurityGroup resource. */\n networkSecurityGroup?: NetworkSecurityGroup;\n /** A list of IPConfigurations of the network interface. */\n ipConfigurations?: Array<NetworkInterfaceIPConfiguration>;\n /** The DNS settings in network interface. */\n dnsSettings?: NetworkInterfaceDnsSettings;\n /** If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking. */\n enableAcceleratedNetworking?: boolean;\n /** Indicates whether to disable tcp state tracking. */\n disableTcpStateTracking?: boolean;\n /** Indicates whether IP forwarding is enabled on this network interface. */\n enableIPForwarding?: boolean;\n /** WorkloadType of the NetworkInterface for BareMetal resources */\n workloadType?: string;\n /** Type of Network Interface resource. */\n nicType?: \"Standard\" | \"Elastic\";\n /** Privatelinkservice of the network interface resource. */\n privateLinkService?: PrivateLinkService;\n /** Migration phase of Network Interface resource. */\n migrationPhase?: \"None\" | \"Prepare\" | \"Commit\" | \"Abort\" | \"Committed\";\n /** Auxiliary mode of Network Interface resource. */\n auxiliaryMode?: \"None\" | \"MaxConnections\" | \"Floating\";\n}\n\n/** Private endpoint resource. */\nexport interface PrivateEndpoint extends Resource {\n /** The extended location of the load balancer. */\n extendedLocation?: ExtendedLocation;\n /** Properties of the private endpoint. */\n properties?: PrivateEndpointProperties;\n}\n\n/** Properties of the private endpoint. */\nexport interface PrivateEndpointProperties {\n /** The ID of the subnet from which the private IP will be allocated. */\n subnet?: Subnet;\n /** A grouping of information about the connection to the remote resource. */\n privateLinkServiceConnections?: Array<PrivateLinkServiceConnection>;\n /** A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. */\n manualPrivateLinkServiceConnections?: Array<PrivateLinkServiceConnection>;\n /** An array of custom dns configurations. */\n customDnsConfigs?: Array<CustomDnsConfigPropertiesFormat>;\n /** Application security groups in which the private endpoint IP configuration is included. */\n applicationSecurityGroups?: Array<ApplicationSecurityGroup>;\n /** A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. */\n ipConfigurations?: Array<PrivateEndpointIPConfiguration>;\n /** The custom name of the network interface attached to the private endpoint. */\n customNetworkInterfaceName?: string;\n}\n\n/** PrivateLinkServiceConnection resource. */\nexport interface PrivateLinkServiceConnection extends SubResource {\n /** Properties of the private link service connection. */\n properties?: PrivateLinkServiceConnectionProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the PrivateLinkServiceConnection. */\nexport interface PrivateLinkServiceConnectionProperties {\n /** The resource id of private link service. */\n privateLinkServiceId?: string;\n /** The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. */\n groupIds?: Array<string>;\n /** A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. */\n requestMessage?: string;\n /** A collection of read-only information about the state of the connection to the remote resource. */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState;\n}\n\n/** A collection of information about the state of the connection between service consumer and provider. */\nexport interface PrivateLinkServiceConnectionState {\n /** Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */\n status?: string;\n /** The reason for approval/rejection of the connection. */\n description?: string;\n /** A message indicating if changes on the service provider require any updates on the consumer. */\n actionsRequired?: string;\n}\n\n/** Contains custom Dns resolution configuration from customer. */\nexport interface CustomDnsConfigPropertiesFormat {\n /** Fqdn that resolves to private endpoint ip address. */\n fqdn?: string;\n /** A list of private ip addresses of the private endpoint. */\n ipAddresses?: Array<string>;\n}\n\n/** An IP Configuration of the private endpoint. */\nexport interface PrivateEndpointIPConfiguration {\n /** Properties of private endpoint IP configurations. */\n properties?: PrivateEndpointIPConfigurationProperties;\n /** The name of the resource that is unique within a resource group. */\n name?: string;\n}\n\n/** Properties of an IP Configuration of the private endpoint. */\nexport interface PrivateEndpointIPConfigurationProperties {\n /** The ID of a group obtained from the remote resource that this private endpoint should connect to. */\n groupId?: string;\n /** The member name of a group obtained from the remote resource that this private endpoint should connect to. */\n memberName?: string;\n /** A private ip address obtained from the private endpoint's subnet. */\n privateIPAddress?: string;\n}\n\n/** DNS settings of a network interface. */\nexport interface NetworkInterfaceDnsSettings {\n /** List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. */\n dnsServers?: Array<string>;\n /** Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. */\n internalDnsNameLabel?: string;\n}\n\n/** Private link service resource. */\nexport interface PrivateLinkService extends Resource {\n /** The extended location of the load balancer. */\n extendedLocation?: ExtendedLocation;\n /** Properties of the private link service. */\n properties?: PrivateLinkServiceProperties;\n}\n\n/** Properties of the private link service. */\nexport interface PrivateLinkServiceProperties {\n /** An array of references to the load balancer IP configurations. */\n loadBalancerFrontendIpConfigurations?: Array<FrontendIPConfiguration>;\n /** An array of private link service IP configurations. */\n ipConfigurations?: Array<PrivateLinkServiceIpConfiguration>;\n /** The visibility list of the private link service. */\n visibility?: PrivateLinkServicePropertiesVisibility;\n /** The auto-approval list of the private link service. */\n autoApproval?: PrivateLinkServicePropertiesAutoApproval;\n /** The list of Fqdn. */\n fqdns?: Array<string>;\n /** Whether the private link service is enabled for proxy protocol or not. */\n enableProxyProtocol?: boolean;\n}\n\n/** The private link service ip configuration. */\nexport interface PrivateLinkServiceIpConfiguration extends SubResource {\n /** Properties of the private link service ip configuration. */\n properties?: PrivateLinkServiceIpConfigurationProperties;\n /** The name of private link service ip configuration. */\n name?: string;\n}\n\n/** Properties of private link service IP configuration. */\nexport interface PrivateLinkServiceIpConfigurationProperties {\n /** The private IP address of the IP configuration. */\n privateIPAddress?: string;\n /** The private IP address allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** The reference to the subnet resource. */\n subnet?: Subnet;\n /** Whether the ip configuration is primary or not. */\n primary?: boolean;\n /** Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. */\n privateIPAddressVersion?: \"IPv4\" | \"IPv6\";\n}\n\n/** PrivateEndpointConnection resource. */\nexport interface PrivateEndpointConnection extends SubResource {\n /** Properties of the private end point connection. */\n properties?: PrivateEndpointConnectionProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the PrivateEndpointConnectProperties. */\nexport interface PrivateEndpointConnectionProperties {\n /** A collection of information about the state of the connection between service consumer and provider. */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState;\n}\n\n/** The visibility list of the private link service. */\nexport interface PrivateLinkServicePropertiesVisibility extends ResourceSet {}\n\n/** The base resource set for visibility and auto-approval. */\nexport interface ResourceSet {\n /** The list of subscriptions. */\n subscriptions?: Array<string>;\n}\n\n/** The auto-approval list of the private link service. */\nexport interface PrivateLinkServicePropertiesAutoApproval extends ResourceSet {}\n\n/** A flow log resource. */\nexport interface FlowLog extends Resource {\n /** Properties of the flow log. */\n properties?: FlowLogPropertiesFormat;\n}\n\n/** Parameters that define the configuration of flow log. */\nexport interface FlowLogPropertiesFormat {\n /** ID of network security group to which flow log will be applied. */\n targetResourceId: string;\n /** ID of the storage account which is used to store the flow log. */\n storageId: string;\n /** Flag to enable/disable flow logging. */\n enabled?: boolean;\n /** Parameters that define the retention policy for flow log. */\n retentionPolicy?: RetentionPolicyParameters;\n /** Parameters that define the flow log format. */\n format?: FlowLogFormatParameters;\n /** Parameters that define the configuration of traffic analytics. */\n flowAnalyticsConfiguration?: TrafficAnalyticsProperties;\n}\n\n/** Parameters that define the retention policy for flow log. */\nexport interface RetentionPolicyParameters {\n /** Number of days to retain flow log records. */\n days?: number;\n /** Flag to enable/disable retention. */\n enabled?: boolean;\n}\n\n/** Parameters that define the flow log format. */\nexport interface FlowLogFormatParameters {\n /** The file type of flow log. */\n type?: \"JSON\";\n /** The version (revision) of the flow log. */\n version?: number;\n}\n\n/** Parameters that define the configuration of traffic analytics. */\nexport interface TrafficAnalyticsProperties {\n /** Parameters that define the configuration of traffic analytics. */\n networkWatcherFlowAnalyticsConfiguration?: TrafficAnalyticsConfigurationProperties;\n}\n\n/** Parameters that define the configuration of traffic analytics. */\nexport interface TrafficAnalyticsConfigurationProperties {\n /** Flag to enable/disable traffic analytics. */\n enabled?: boolean;\n /** The resource guid of the attached workspace. */\n workspaceId?: string;\n /** The location of the attached workspace. */\n workspaceRegion?: string;\n /** Resource Id of the attached workspace. */\n workspaceResourceId?: string;\n /** The interval in minutes which would decide how frequently TA service should do flow analytics. */\n trafficAnalyticsInterval?: number;\n}\n\n/** Route table resource. */\nexport interface RouteTable extends Resource {\n /** Properties of the route table. */\n properties?: RouteTablePropertiesFormat;\n}\n\n/** Route Table resource. */\nexport interface RouteTablePropertiesFormat {\n /** Collection of routes contained within a route table. */\n routes?: Array<Route>;\n /** Whether to disable the routes learned by BGP on that route table. True means disable. */\n disableBgpRoutePropagation?: boolean;\n}\n\n/** Route resource. */\nexport interface Route extends SubResource {\n /** Properties of the route. */\n properties?: RoutePropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** The type of the resource. */\n type?: string;\n}\n\n/** Route resource. */\nexport interface RoutePropertiesFormat {\n /** The destination CIDR to which the route applies. */\n addressPrefix?: string;\n /** The type of Azure hop the packet should be sent to. */\n nextHopType: \"VirtualNetworkGateway\" | \"VnetLocal\" | \"Internet\" | \"VirtualAppliance\" | \"None\";\n /** The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. */\n nextHopIpAddress?: string;\n /** A value indicating whether this route overrides overlapping BGP routes regardless of LPM. */\n hasBgpOverride?: boolean;\n}\n\n/** The service endpoint properties. */\nexport interface ServiceEndpointPropertiesFormat {\n /** The type of the endpoint service. */\n service?: string;\n /** A list of locations. */\n locations?: Array<string>;\n}\n\n/** Service End point policy resource. */\nexport interface ServiceEndpointPolicy extends Resource {\n /** Properties of the service end point policy. */\n properties?: ServiceEndpointPolicyPropertiesFormat;\n}\n\n/** Service Endpoint Policy resource. */\nexport interface ServiceEndpointPolicyPropertiesFormat {\n /** A collection of service endpoint policy definitions of the service endpoint policy. */\n serviceEndpointPolicyDefinitions?: Array<ServiceEndpointPolicyDefinition>;\n /** The alias indicating if the policy belongs to a service */\n serviceAlias?: string;\n /** A collection of contextual service endpoint policy. */\n contextualServiceEndpointPolicies?: Array<string>;\n}\n\n/** Service Endpoint policy definitions. */\nexport interface ServiceEndpointPolicyDefinition extends SubResource {\n /** Properties of the service endpoint policy definition. */\n properties?: ServiceEndpointPolicyDefinitionPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** The type of the resource. */\n type?: string;\n}\n\n/** Service Endpoint policy definition resource. */\nexport interface ServiceEndpointPolicyDefinitionPropertiesFormat {\n /** A description for this rule. Restricted to 140 chars. */\n description?: string;\n /** Service endpoint name. */\n service?: string;\n /** A list of service resources. */\n serviceResources?: Array<string>;\n}\n\n/** IP configuration. */\nexport interface IPConfiguration extends SubResource {\n /** Properties of the IP configuration. */\n properties?: IPConfigurationPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of IP configuration. */\nexport interface IPConfigurationPropertiesFormat {\n /** The private IP address of the IP configuration. */\n privateIPAddress?: string;\n /** The private IP address allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** The reference to the subnet resource. */\n subnet?: Subnet;\n /** The reference to the public IP resource. */\n publicIPAddress?: PublicIPAddress;\n}\n\n/** Public IP address resource. */\nexport interface PublicIPAddress extends Resource {\n /** The extended location of the public ip address. */\n extendedLocation?: ExtendedLocation;\n /** The public IP address SKU. */\n sku?: PublicIPAddressSku;\n /** Public IP address properties. */\n properties?: PublicIPAddressPropertiesFormat;\n /** A list of availability zones denoting the IP allocated for the resource needs to come from. */\n zones?: Array<string>;\n}\n\n/** SKU of a public IP address. */\nexport interface PublicIPAddressSku {\n /** Name of a public IP address SKU. */\n name?: \"Basic\" | \"Standard\";\n /** Tier of a public IP address SKU. */\n tier?: \"Regional\" | \"Global\";\n}\n\n/** Public IP address properties. */\nexport interface PublicIPAddressPropertiesFormat {\n /** The public IP address allocation method. */\n publicIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** The public IP address version. */\n publicIPAddressVersion?: \"IPv4\" | \"IPv6\";\n /** The FQDN of the DNS record associated with the public IP address. */\n dnsSettings?: PublicIPAddressDnsSettings;\n /** The DDoS protection custom policy associated with the public IP address. */\n ddosSettings?: DdosSettings;\n /** The list of tags associated with the public IP address. */\n ipTags?: Array<IpTag>;\n /** The IP address associated with the public IP address resource. */\n ipAddress?: string;\n /** The Public IP Prefix this Public IP Address should be allocated from. */\n publicIPPrefix?: SubResource;\n /** The idle timeout of the public IP address. */\n idleTimeoutInMinutes?: number;\n /** The service public IP address of the public IP address resource. */\n servicePublicIPAddress?: PublicIPAddress;\n /** The NatGateway for the Public IP address. */\n natGateway?: NatGateway;\n /** Migration phase of Public IP Address. */\n migrationPhase?: \"None\" | \"Prepare\" | \"Commit\" | \"Abort\" | \"Committed\";\n /** The linked public IP address of the public IP address resource. */\n linkedPublicIPAddress?: PublicIPAddress;\n /** Specify what happens to the public IP address when the VM using it is deleted */\n deleteOption?: \"Delete\" | \"Detach\";\n}\n\n/** Contains FQDN of the DNS record associated with the public IP address. */\nexport interface PublicIPAddressDnsSettings {\n /** The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. */\n domainNameLabel?: string;\n /** The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. */\n fqdn?: string;\n /** The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. */\n reverseFqdn?: string;\n}\n\n/** Contains the DDoS protection settings of the public IP. */\nexport interface DdosSettings {\n /** The DDoS protection mode of the public IP */\n protectionMode?: \"VirtualNetworkInherited\" | \"Enabled\" | \"Disabled\";\n /** The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled */\n ddosProtectionPlan?: SubResource;\n}\n\n/** Contains the IpTag associated with the object. */\nexport interface IpTag {\n /** The IP tag type. Example: FirstPartyUsage. */\n ipTagType?: string;\n /** The value of the IP tag associated with the public IP. Example: SQL. */\n tag?: string;\n}\n\n/** Nat Gateway resource. */\nexport interface NatGateway extends Resource {\n /** The nat gateway SKU. */\n sku?: NatGatewaySku;\n /** Nat Gateway properties. */\n properties?: NatGatewayPropertiesFormat;\n /** A list of availability zones denoting the zone in which Nat Gateway should be deployed. */\n zones?: Array<string>;\n}\n\n/** SKU of nat gateway. */\nexport interface NatGatewaySku {\n /** Name of Nat Gateway SKU. */\n name?: \"Standard\";\n}\n\n/** Nat Gateway properties. */\nexport interface NatGatewayPropertiesFormat {\n /** The idle timeout of the nat gateway. */\n idleTimeoutInMinutes?: number;\n /** An array of public ip addresses associated with the nat gateway resource. */\n publicIpAddresses?: Array<SubResource>;\n /** An array of public ip prefixes associated with the nat gateway resource. */\n publicIpPrefixes?: Array<SubResource>;\n}\n\n/** IP configuration profile child resource. */\nexport interface IPConfigurationProfile extends SubResource {\n /** Properties of the IP configuration profile. */\n properties?: IPConfigurationProfilePropertiesFormat;\n /** The name of the resource. This name can be used to access the resource. */\n name?: string;\n}\n\n/** IP configuration profile properties. */\nexport interface IPConfigurationProfilePropertiesFormat {\n /** The reference to the subnet resource to create a container network interface ip configuration. */\n subnet?: Subnet;\n}\n\n/** ResourceNavigationLink resource. */\nexport interface ResourceNavigationLink extends SubResource {\n /** Resource navigation link properties format. */\n properties?: ResourceNavigationLinkFormat;\n /** Name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of ResourceNavigationLink. */\nexport interface ResourceNavigationLinkFormat {\n /** Resource type of the linked resource. */\n linkedResourceType?: string;\n /** Link to the external resource. */\n link?: string;\n}\n\n/** ServiceAssociationLink resource. */\nexport interface ServiceAssociationLink extends SubResource {\n /** Resource navigation link properties format. */\n properties?: ServiceAssociationLinkPropertiesFormat;\n /** Name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of ServiceAssociationLink. */\nexport interface ServiceAssociationLinkPropertiesFormat {\n /** Resource type of the linked resource. */\n linkedResourceType?: string;\n /** Link to the external resource. */\n link?: string;\n /** If true, the resource can be deleted. */\n allowDelete?: boolean;\n /** A list of locations. */\n locations?: Array<string>;\n}\n\n/** Details the service to which the subnet is delegated. */\nexport interface Delegation extends SubResource {\n /** Properties of the subnet. */\n properties?: ServiceDelegationPropertiesFormat;\n /** The name of the resource that is unique within a subnet. This name can be used to access the resource. */\n name?: string;\n /** Resource type. */\n type?: string;\n}\n\n/** Properties of a service delegation. */\nexport interface ServiceDelegationPropertiesFormat {\n /** The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). */\n serviceName?: string;\n}\n\n/** Pool of backend IP addresses. */\nexport interface BackendAddressPool extends SubResource {\n /** Properties of load balancer backend address pool. */\n properties?: BackendAddressPoolPropertiesFormat;\n /** The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the backend address pool. */\nexport interface BackendAddressPoolPropertiesFormat {\n /** The location of the backend address pool. */\n location?: string;\n /** An array of gateway load balancer tunnel interfaces. */\n tunnelInterfaces?: Array<GatewayLoadBalancerTunnelInterface>;\n /** An array of backend addresses. */\n loadBalancerBackendAddresses?: Array<LoadBalancerBackendAddress>;\n /** Amount of seconds Load Balancer waits for before sending RESET to client and backend address. */\n drainPeriodInSeconds?: number;\n}\n\n/** Gateway load balancer tunnel interface of a load balancer backend address pool. */\nexport interface GatewayLoadBalancerTunnelInterface {\n /** Port of gateway load balancer tunnel interface. */\n port?: number;\n /** Identifier of gateway load balancer tunnel interface. */\n identifier?: number;\n /** Protocol of gateway load balancer tunnel interface. */\n protocol?: \"None\" | \"Native\" | \"VXLAN\";\n /** Traffic type of gateway load balancer tunnel interface. */\n type?: \"None\" | \"Internal\" | \"External\";\n}\n\n/** Load balancer backend addresses. */\nexport interface LoadBalancerBackendAddress {\n /** Properties of load balancer backend address pool. */\n properties?: LoadBalancerBackendAddressPropertiesFormat;\n /** Name of the backend address. */\n name?: string;\n}\n\n/** Properties of the load balancer backend addresses. */\nexport interface LoadBalancerBackendAddressPropertiesFormat {\n /** Reference to an existing virtual network. */\n virtualNetwork?: SubResource;\n /** Reference to an existing subnet. */\n subnet?: SubResource;\n /** IP Address belonging to the referenced virtual network. */\n ipAddress?: string;\n /** Reference to the frontend ip address configuration defined in regional loadbalancer. */\n loadBalancerFrontendIPConfiguration?: SubResource;\n /** A list of administrative states which once set can override health probe so that Load Balancer will always forward new connections to backend, or deny new connections and reset existing connections. */\n adminState?: \"None\" | \"Up\" | \"Down\" | \"Drain\";\n}\n\n/** Individual port mappings for inbound NAT rule created for backend pool. */\nexport interface NatRulePortMapping {\n /** Name of inbound NAT rule. */\n inboundNatRuleName?: string;\n /** Frontend port. */\n frontendPort?: number;\n /** Backend port. */\n backendPort?: number;\n}\n\n/** Inbound NAT rule of the load balancer. */\nexport interface InboundNatRule extends SubResource {\n /** Properties of load balancer inbound NAT rule. */\n properties?: InboundNatRulePropertiesFormat;\n /** The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the inbound NAT rule. */\nexport interface InboundNatRulePropertiesFormat {\n /** A reference to frontend IP addresses. */\n frontendIPConfiguration?: SubResource;\n /** The reference to the transport protocol used by the load balancing rule. */\n protocol?: \"Udp\" | \"Tcp\" | \"All\";\n /** The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. */\n frontendPort?: number;\n /** The port used for the internal endpoint. Acceptable values range from 1 to 65535. */\n backendPort?: number;\n /** The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. */\n idleTimeoutInMinutes?: number;\n /** Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. */\n enableFloatingIP?: boolean;\n /** Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. */\n enableTcpReset?: boolean;\n /** The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. */\n frontendPortRangeStart?: number;\n /** The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. */\n frontendPortRangeEnd?: number;\n /** A reference to backendAddressPool resource. */\n backendAddressPool?: SubResource;\n}\n\n/** PrivateLinkConnection properties for the network interface. */\nexport interface NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties {}\n\n/** Backend address of an application gateway. */\nexport interface ApplicationGatewayBackendAddress {\n /** Fully qualified domain name (FQDN). */\n fqdn?: string;\n /** IP address. */\n ipAddress?: string;\n}\n\n/** Backend address pool settings of an application gateway. */\nexport interface ApplicationGatewayBackendHttpSettings extends SubResource {\n /** Properties of the application gateway backend HTTP settings. */\n properties?: ApplicationGatewayBackendHttpSettingsPropertiesFormat;\n /** Name of the backend http settings that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of Backend address pool settings of an application gateway. */\nexport interface ApplicationGatewayBackendHttpSettingsPropertiesFormat {\n /** The destination port on the backend. */\n port?: number;\n /** The protocol used to communicate with the backend. */\n protocol?: \"Http\" | \"Https\" | \"Tcp\" | \"Tls\";\n /** Cookie based affinity. */\n cookieBasedAffinity?: \"Enabled\" | \"Disabled\";\n /** Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds. */\n requestTimeout?: number;\n /** Probe resource of an application gateway. */\n probe?: SubResource;\n /** Array of references to application gateway authentication certificates. */\n authenticationCertificates?: Array<SubResource>;\n /** Array of references to application gateway trusted root certificates. */\n trustedRootCertificates?: Array<SubResource>;\n /** Connection draining of the backend http settings resource. */\n connectionDraining?: ApplicationGatewayConnectionDraining;\n /** Host header to be sent to the backend servers. */\n hostName?: string;\n /** Whether to pick host header should be picked from the host name of the backend server. Default value is false. */\n pickHostNameFromBackendAddress?: boolean;\n /** Cookie name to use for the affinity cookie. */\n affinityCookieName?: string;\n /** Whether the probe is enabled. Default value is false. */\n probeEnabled?: boolean;\n /** Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null. */\n path?: string;\n}\n\n/** 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. */\nexport interface ApplicationGatewayConnectionDraining {\n /** Whether connection draining is enabled or not. */\n enabled: boolean;\n /** The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds. */\n drainTimeoutInSec: number;\n}\n\n/** Backend address pool settings of an application gateway. */\nexport interface ApplicationGatewayBackendSettings extends SubResource {\n /** Properties of the application gateway backend settings. */\n properties?: ApplicationGatewayBackendSettingsPropertiesFormat;\n /** Name of the backend settings that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of Backend address pool settings of an application gateway. */\nexport interface ApplicationGatewayBackendSettingsPropertiesFormat {\n /** The destination port on the backend. */\n port?: number;\n /** The protocol used to communicate with the backend. */\n protocol?: \"Http\" | \"Https\" | \"Tcp\" | \"Tls\";\n /** Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds. */\n timeout?: number;\n /** Probe resource of an application gateway. */\n probe?: SubResource;\n /** Array of references to application gateway trusted root certificates. */\n trustedRootCertificates?: Array<SubResource>;\n /** Server name indication to be sent to the backend servers for Tls protocol. */\n hostName?: string;\n /** Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false. */\n pickHostNameFromBackendAddress?: boolean;\n}\n\n/** Http listener of an application gateway. */\nexport interface ApplicationGatewayHttpListener extends SubResource {\n /** Properties of the application gateway HTTP listener. */\n properties?: ApplicationGatewayHttpListenerPropertiesFormat;\n /** Name of the HTTP listener that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of HTTP listener of an application gateway. */\nexport interface ApplicationGatewayHttpListenerPropertiesFormat {\n /** Frontend IP configuration resource of an application gateway. */\n frontendIPConfiguration?: SubResource;\n /** Frontend port resource of an application gateway. */\n frontendPort?: SubResource;\n /** Protocol of the HTTP listener. */\n protocol?: \"Http\" | \"Https\" | \"Tcp\" | \"Tls\";\n /** Host name of HTTP listener. */\n hostName?: string;\n /** SSL certificate resource of an application gateway. */\n sslCertificate?: SubResource;\n /** SSL profile resource of the application gateway. */\n sslProfile?: SubResource;\n /** Applicable only if protocol is https. Enables SNI for multi-hosting. */\n requireServerNameIndication?: boolean;\n /** Custom error configurations of the HTTP listener. */\n customErrorConfigurations?: Array<ApplicationGatewayCustomError>;\n /** Reference to the FirewallPolicy resource. */\n firewallPolicy?: SubResource;\n /** List of Host names for HTTP Listener that allows special wildcard characters as well. */\n hostNames?: Array<string>;\n}\n\n/** Customer error of an application gateway. */\nexport interface ApplicationGatewayCustomError {\n /** Status code of the application gateway customer error. */\n statusCode?: \"HttpStatus403\" | \"HttpStatus502\";\n /** Error page URL of the application gateway customer error. */\n customErrorPageUrl?: string;\n}\n\n/** Listener of an application gateway. */\nexport interface ApplicationGatewayListener extends SubResource {\n /** Properties of the application gateway listener. */\n properties?: ApplicationGatewayListenerPropertiesFormat;\n /** Name of the listener that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of listener of an application gateway. */\nexport interface ApplicationGatewayListenerPropertiesFormat {\n /** Frontend IP configuration resource of an application gateway. */\n frontendIPConfiguration?: SubResource;\n /** Frontend port resource of an application gateway. */\n frontendPort?: SubResource;\n /** Protocol of the listener. */\n protocol?: \"Http\" | \"Https\" | \"Tcp\" | \"Tls\";\n /** SSL certificate resource of an application gateway. */\n sslCertificate?: SubResource;\n /** SSL profile resource of the application gateway. */\n sslProfile?: SubResource;\n}\n\n/** SSL profile of an application gateway. */\nexport interface ApplicationGatewaySslProfile extends SubResource {\n /** Properties of the application gateway SSL profile. */\n properties?: ApplicationGatewaySslProfilePropertiesFormat;\n /** Name of the SSL profile that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of SSL profile of an application gateway. */\nexport interface ApplicationGatewaySslProfilePropertiesFormat {\n /** Array of references to application gateway trusted client certificates. */\n trustedClientCertificates?: Array<SubResource>;\n /** SSL policy of the application gateway resource. */\n sslPolicy?: ApplicationGatewaySslPolicy;\n /** Client authentication configuration of the application gateway resource. */\n clientAuthConfiguration?: ApplicationGatewayClientAuthConfiguration;\n}\n\n/** Application gateway client authentication configuration. */\nexport interface ApplicationGatewayClientAuthConfiguration {\n /** Verify client certificate issuer name on the application gateway. */\n verifyClientCertIssuerDN?: boolean;\n /** Verify client certificate revocation status. */\n verifyClientRevocation?: \"None\" | \"OCSP\";\n}\n\n/** UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. */\nexport interface ApplicationGatewayUrlPathMap extends SubResource {\n /** Properties of the application gateway URL path map. */\n properties?: ApplicationGatewayUrlPathMapPropertiesFormat;\n /** Name of the URL path map that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of UrlPathMap of the application gateway. */\nexport interface ApplicationGatewayUrlPathMapPropertiesFormat {\n /** Default backend address pool resource of URL path map. */\n defaultBackendAddressPool?: SubResource;\n /** Default backend http settings resource of URL path map. */\n defaultBackendHttpSettings?: SubResource;\n /** Default Rewrite rule set resource of URL path map. */\n defaultRewriteRuleSet?: SubResource;\n /** Default redirect configuration resource of URL path map. */\n defaultRedirectConfiguration?: SubResource;\n /** Default Load Distribution Policy resource of URL path map. */\n defaultLoadDistributionPolicy?: SubResource;\n /** Path rule of URL path map resource. */\n pathRules?: Array<ApplicationGatewayPathRule>;\n}\n\n/** Path rule of URL path map of an application gateway. */\nexport interface ApplicationGatewayPathRule extends SubResource {\n /** Properties of the application gateway path rule. */\n properties?: ApplicationGatewayPathRulePropertiesFormat;\n /** Name of the path rule that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of path rule of an application gateway. */\nexport interface ApplicationGatewayPathRulePropertiesFormat {\n /** Path rules of URL path map. */\n paths?: Array<string>;\n /** Backend address pool resource of URL path map path rule. */\n backendAddressPool?: SubResource;\n /** Backend http settings resource of URL path map path rule. */\n backendHttpSettings?: SubResource;\n /** Redirect configuration resource of URL path map path rule. */\n redirectConfiguration?: SubResource;\n /** Rewrite rule set resource of URL path map path rule. */\n rewriteRuleSet?: SubResource;\n /** Load Distribution Policy resource of URL path map path rule. */\n loadDistributionPolicy?: SubResource;\n /** Reference to the FirewallPolicy resource. */\n firewallPolicy?: SubResource;\n}\n\n/** Request routing rule of an application gateway. */\nexport interface ApplicationGatewayRequestRoutingRule extends SubResource {\n /** Properties of the application gateway request routing rule. */\n properties?: ApplicationGatewayRequestRoutingRulePropertiesFormat;\n /** Name of the request routing rule that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of request routing rule of the application gateway. */\nexport interface ApplicationGatewayRequestRoutingRulePropertiesFormat {\n /** Rule type. */\n ruleType?: \"Basic\" | \"PathBasedRouting\";\n /** Priority of the request routing rule. */\n priority?: number;\n /** Backend address pool resource of the application gateway. */\n backendAddressPool?: SubResource;\n /** Backend http settings resource of the application gateway. */\n backendHttpSettings?: SubResource;\n /** Http listener resource of the application gateway. */\n httpListener?: SubResource;\n /** URL path map resource of the application gateway. */\n urlPathMap?: SubResource;\n /** Rewrite Rule Set resource in Basic rule of the application gateway. */\n rewriteRuleSet?: SubResource;\n /** Redirect configuration resource of the application gateway. */\n redirectConfiguration?: SubResource;\n /** Load Distribution Policy resource of the application gateway. */\n loadDistributionPolicy?: SubResource;\n}\n\n/** Routing rule of an application gateway. */\nexport interface ApplicationGatewayRoutingRule extends SubResource {\n /** Properties of the application gateway routing rule. */\n properties?: ApplicationGatewayRoutingRulePropertiesFormat;\n /** Name of the routing rule that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of routing rule of the application gateway. */\nexport interface ApplicationGatewayRoutingRulePropertiesFormat {\n /** Rule type. */\n ruleType?: \"Basic\" | \"PathBasedRouting\";\n /** Priority of the routing rule. */\n priority: number;\n /** Backend address pool resource of the application gateway. */\n backendAddressPool?: SubResource;\n /** Backend settings resource of the application gateway. */\n backendSettings?: SubResource;\n /** Listener resource of the application gateway. */\n listener?: SubResource;\n}\n\n/** Rewrite rule set of an application gateway. */\nexport interface ApplicationGatewayRewriteRuleSet extends SubResource {\n /** Properties of the application gateway rewrite rule set. */\n properties?: ApplicationGatewayRewriteRuleSetPropertiesFormat;\n /** Name of the rewrite rule set that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of rewrite rule set of the application gateway. */\nexport interface ApplicationGatewayRewriteRuleSetPropertiesFormat {\n /** Rewrite rules in the rewrite rule set. */\n rewriteRules?: Array<ApplicationGatewayRewriteRule>;\n}\n\n/** Rewrite rule of an application gateway. */\nexport interface ApplicationGatewayRewriteRule {\n /** Name of the rewrite rule that is unique within an Application Gateway. */\n name?: string;\n /** Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet. */\n ruleSequence?: number;\n /** Conditions based on which the action set execution will be evaluated. */\n conditions?: Array<ApplicationGatewayRewriteRuleCondition>;\n /** Set of actions to be done as part of the rewrite Rule. */\n actionSet?: ApplicationGatewayRewriteRuleActionSet;\n}\n\n/** Set of conditions in the Rewrite Rule in Application Gateway. */\nexport interface ApplicationGatewayRewriteRuleCondition {\n /** The condition parameter of the RewriteRuleCondition. */\n variable?: string;\n /** The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition. */\n pattern?: string;\n /** Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison. */\n ignoreCase?: boolean;\n /** Setting this value as truth will force to check the negation of the condition given by the user. */\n negate?: boolean;\n}\n\n/** Set of actions in the Rewrite Rule in Application Gateway. */\nexport interface ApplicationGatewayRewriteRuleActionSet {\n /** Request Header Actions in the Action Set. */\n requestHeaderConfigurations?: Array<ApplicationGatewayHeaderConfiguration>;\n /** Response Header Actions in the Action Set. */\n responseHeaderConfigurations?: Array<ApplicationGatewayHeaderConfiguration>;\n /** Url Configuration Action in the Action Set. */\n urlConfiguration?: ApplicationGatewayUrlConfiguration;\n}\n\n/** Header configuration of the Actions set in Application Gateway. */\nexport interface ApplicationGatewayHeaderConfiguration {\n /** Header name of the header configuration. */\n headerName?: string;\n /** Header value of the header configuration. */\n headerValue?: string;\n}\n\n/** Url configuration of the Actions set in Application Gateway. */\nexport interface ApplicationGatewayUrlConfiguration {\n /** Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null. */\n modifiedPath?: string;\n /** Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null. */\n modifiedQueryString?: string;\n /** If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false. */\n reroute?: boolean;\n}\n\n/** Redirect configuration of an application gateway. */\nexport interface ApplicationGatewayRedirectConfiguration extends SubResource {\n /** Properties of the application gateway redirect configuration. */\n properties?: ApplicationGatewayRedirectConfigurationPropertiesFormat;\n /** Name of the redirect configuration that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of redirect configuration of the application gateway. */\nexport interface ApplicationGatewayRedirectConfigurationPropertiesFormat {\n /** HTTP redirection type. */\n redirectType?: \"Permanent\" | \"Found\" | \"SeeOther\" | \"Temporary\";\n /** Reference to a listener to redirect the request to. */\n targetListener?: SubResource;\n /** Url to redirect the request to. */\n targetUrl?: string;\n /** Include path in the redirected url. */\n includePath?: boolean;\n /** Include query string in the redirected url. */\n includeQueryString?: boolean;\n /** Request routing specifying redirect configuration. */\n requestRoutingRules?: Array<SubResource>;\n /** Url path maps specifying default redirect configuration. */\n urlPathMaps?: Array<SubResource>;\n /** Path rules specifying redirect configuration. */\n pathRules?: Array<SubResource>;\n}\n\n/** Application gateway web application firewall configuration. */\nexport interface ApplicationGatewayWebApplicationFirewallConfiguration {\n /** Whether the web application firewall is enabled or not. */\n enabled: boolean;\n /** Web application firewall mode. */\n firewallMode: \"Detection\" | \"Prevention\";\n /** The type of the web application firewall rule set. Possible values are: 'OWASP'. */\n ruleSetType: string;\n /** The version of the rule set type. */\n ruleSetVersion: string;\n /** The disabled rule groups. */\n disabledRuleGroups?: Array<ApplicationGatewayFirewallDisabledRuleGroup>;\n /** Whether allow WAF to check request Body. */\n requestBodyCheck?: boolean;\n /** Maximum request body size for WAF. */\n maxRequestBodySize?: number;\n /** Maximum request body size in Kb for WAF. */\n maxRequestBodySizeInKb?: number;\n /** Maximum file upload size in Mb for WAF. */\n fileUploadLimitInMb?: number;\n /** The exclusion list. */\n exclusions?: Array<ApplicationGatewayFirewallExclusion>;\n}\n\n/** Allows to disable rules within a rule group or an entire rule group. */\nexport interface ApplicationGatewayFirewallDisabledRuleGroup {\n /** The name of the rule group that will be disabled. */\n ruleGroupName: string;\n /** The list of rules that will be disabled. If null, all rules of the rule group will be disabled. */\n rules?: Array<number>;\n}\n\n/** Allow to exclude some variable satisfy the condition for the WAF check. */\nexport interface ApplicationGatewayFirewallExclusion {\n /** The variable to be excluded. */\n matchVariable: string;\n /** When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. */\n selectorMatchOperator: string;\n /** When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. */\n selector: string;\n}\n\n/** Application Gateway autoscale configuration. */\nexport interface ApplicationGatewayAutoscaleConfiguration {\n /** Lower bound on number of Application Gateway capacity. */\n minCapacity: number;\n /** Upper bound on number of Application Gateway capacity. */\n maxCapacity?: number;\n}\n\n/** Private Link Configuration on an application gateway. */\nexport interface ApplicationGatewayPrivateLinkConfiguration extends SubResource {\n /** Properties of the application gateway private link configuration. */\n properties?: ApplicationGatewayPrivateLinkConfigurationProperties;\n /** Name of the private link configuration that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of private link configuration on an application gateway. */\nexport interface ApplicationGatewayPrivateLinkConfigurationProperties {\n /** An array of application gateway private link ip configurations. */\n ipConfigurations?: Array<ApplicationGatewayPrivateLinkIpConfiguration>;\n}\n\n/** The application gateway private link ip configuration. */\nexport interface ApplicationGatewayPrivateLinkIpConfiguration extends SubResource {\n /** Properties of an application gateway private link ip configuration. */\n properties?: ApplicationGatewayPrivateLinkIpConfigurationProperties;\n /** The name of application gateway private link ip configuration. */\n name?: string;\n}\n\n/** Properties of an application gateway private link IP configuration. */\nexport interface ApplicationGatewayPrivateLinkIpConfigurationProperties {\n /** The private IP address of the IP configuration. */\n privateIPAddress?: string;\n /** The private IP address allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** Reference to the subnet resource. */\n subnet?: SubResource;\n /** Whether the ip configuration is primary or not. */\n primary?: boolean;\n}\n\n/** Private Endpoint connection on an application gateway. */\nexport interface ApplicationGatewayPrivateEndpointConnection extends SubResource {\n /** Properties of the application gateway private endpoint connection. */\n properties?: ApplicationGatewayPrivateEndpointConnectionProperties;\n /** Name of the private endpoint connection on an application gateway. */\n name?: string;\n}\n\n/** Properties of Private Link Resource of an application gateway. */\nexport interface ApplicationGatewayPrivateEndpointConnectionProperties {\n /** A collection of information about the state of the connection between service consumer and provider. */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState;\n}\n\n/** Load Distribution Policy of an application gateway. */\nexport interface ApplicationGatewayLoadDistributionPolicy extends SubResource {\n /** Properties of the application gateway load distribution policy. */\n properties?: ApplicationGatewayLoadDistributionPolicyPropertiesFormat;\n /** Name of the load distribution policy that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of Load Distribution Policy of an application gateway. */\nexport interface ApplicationGatewayLoadDistributionPolicyPropertiesFormat {\n /** Load Distribution Targets resource of an application gateway. */\n loadDistributionTargets?: Array<ApplicationGatewayLoadDistributionTarget>;\n /** Load Distribution Targets resource of an application gateway. */\n loadDistributionAlgorithm?: \"RoundRobin\" | \"LeastConnections\" | \"IpHash\";\n}\n\n/** Load Distribution Target of an application gateway. */\nexport interface ApplicationGatewayLoadDistributionTarget extends SubResource {\n /** Properties of the application gateway load distribution target. */\n properties?: ApplicationGatewayLoadDistributionTargetPropertiesFormat;\n /** Name of the load distribution policy that is unique within an Application Gateway. */\n name?: string;\n}\n\nexport interface ApplicationGatewayLoadDistributionTargetPropertiesFormat {\n /** Weight per server. Range between 1 and 100. */\n weightPerServer?: number;\n /** Backend address pool resource of the application gateway. */\n backendAddressPool?: SubResource;\n}\n\n/** Application Gateway global configuration. */\nexport interface ApplicationGatewayGlobalConfiguration {\n /** Enable request buffering. */\n enableRequestBuffering?: boolean;\n /** Enable response buffering. */\n enableResponseBuffering?: boolean;\n}\n\n/** Identity for the resource. */\nexport interface ManagedServiceIdentity {\n /** The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. */\n type?: \"SystemAssigned\" | \"UserAssigned\" | \"SystemAssigned, UserAssigned\" | \"None\";\n /** The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */\n userAssignedIdentities?: Record<\n string,\n Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties\n >;\n}\n\nexport interface Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties {}\n\n/** Tags object for patch operations. */\nexport interface TagsObject {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\n/** Details of on demand test probe request. */\nexport interface ApplicationGatewayOnDemandProbe {\n /** The protocol used for the probe. */\n protocol?: \"Http\" | \"Https\" | \"Tcp\" | \"Tls\";\n /** Host name to send the probe to. */\n host?: string;\n /** Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>. */\n path?: string;\n /** The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. */\n timeout?: number;\n /** Whether the host header should be picked from the backend http settings. Default value is false. */\n pickHostNameFromBackendHttpSettings?: boolean;\n /** Criterion for classifying a healthy probe response. */\n match?: ApplicationGatewayProbeHealthResponseMatch;\n /** Reference to backend pool of application gateway to which probe request will be sent. */\n backendAddressPool?: SubResource;\n /** Reference to backend http setting of application gateway to be used for test probe. */\n backendHttpSettings?: SubResource;\n}\n\n/** PrivateLink Resource of an application gateway. */\nexport interface ApplicationGatewayPrivateLinkResource extends SubResource {\n /** Properties of the application gateway private link resource. */\n properties?: ApplicationGatewayPrivateLinkResourceProperties;\n /** Name of the private link resource that is unique within an Application Gateway. */\n name?: string;\n}\n\n/** Properties of a private link resource. */\nexport interface ApplicationGatewayPrivateLinkResourceProperties {\n /** Required DNS zone names of the the private link resource. */\n requiredZoneNames?: Array<string>;\n}\n\n/** A web application firewall rule set. */\nexport interface ApplicationGatewayFirewallRuleSet extends Resource {\n /** Properties of the application gateway firewall rule set. */\n properties?: ApplicationGatewayFirewallRuleSetPropertiesFormat;\n}\n\n/** Properties of the web application firewall rule set. */\nexport interface ApplicationGatewayFirewallRuleSetPropertiesFormat {\n /** The type of the web application firewall rule set. */\n ruleSetType: string;\n /** The version of the web application firewall rule set type. */\n ruleSetVersion: string;\n /** The rule groups of the web application firewall rule set. */\n ruleGroups: Array<ApplicationGatewayFirewallRuleGroup>;\n /** Tier of an application gateway that support the rule set. */\n tiers?: Array<\"Standard\" | \"WAF\" | \"Standard_v2\" | \"WAF_v2\">;\n}\n\n/** A web application firewall rule group. */\nexport interface ApplicationGatewayFirewallRuleGroup {\n /** The name of the web application firewall rule group. */\n ruleGroupName: string;\n /** The description of the web application firewall rule group. */\n description?: string;\n /** The rules of the web application firewall rule group. */\n rules: Array<ApplicationGatewayFirewallRule>;\n}\n\n/** A web application firewall rule. */\nexport interface ApplicationGatewayFirewallRule {\n /** The identifier of the web application firewall rule. */\n ruleId: number;\n /** The string representation of the web application firewall rule identifier. */\n ruleIdString?: string;\n /** The string representation of the web application firewall rule state. */\n state?: \"Enabled\" | \"Disabled\";\n /** The string representation of the web application firewall rule action. */\n action?: \"None\" | \"AnomalyScoring\" | \"Allow\" | \"Block\" | \"Log\";\n /** The description of the web application firewall rule. */\n description?: string;\n}\n\n/** Response for ApplicationGatewayAvailableSslOptions API service call. */\nexport interface ApplicationGatewayAvailableSslOptions extends Resource {\n /** Properties of the application gateway available SSL options. */\n properties?: ApplicationGatewayAvailableSslOptionsPropertiesFormat;\n}\n\n/** Properties of ApplicationGatewayAvailableSslOptions. */\nexport interface ApplicationGatewayAvailableSslOptionsPropertiesFormat {\n /** List of available Ssl predefined policy. */\n predefinedPolicies?: Array<SubResource>;\n /** Name of the Ssl predefined policy applied by default to application gateway. */\n defaultPolicy?:\n | \"AppGwSslPolicy20150501\"\n | \"AppGwSslPolicy20170401\"\n | \"AppGwSslPolicy20170401S\"\n | \"AppGwSslPolicy20220101\"\n | \"AppGwSslPolicy20220101S\";\n /** List of available Ssl cipher suites. */\n availableCipherSuites?: Array<\n | \"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_DHE_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_RSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_RSA_WITH_AES_256_CBC_SHA256\"\n | \"TLS_RSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256\"\n | \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256\"\n | \"TLS_DHE_DSS_WITH_AES_256_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"\n | \"TLS_RSA_WITH_3DES_EDE_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\"\n >;\n /** List of available Ssl protocols. */\n availableProtocols?: Array<\"TLSv1_0\" | \"TLSv1_1\" | \"TLSv1_2\" | \"TLSv1_3\">;\n}\n\n/** An Ssl predefined policy. */\nexport interface ApplicationGatewaySslPredefinedPolicy extends SubResource {\n /** Name of the Ssl predefined policy. */\n name?: string;\n /** Properties of the application gateway SSL predefined policy. */\n properties?: ApplicationGatewaySslPredefinedPolicyPropertiesFormat;\n}\n\n/** Properties of ApplicationGatewaySslPredefinedPolicy. */\nexport interface ApplicationGatewaySslPredefinedPolicyPropertiesFormat {\n /** Ssl cipher suites to be enabled in the specified order for application gateway. */\n cipherSuites?: Array<\n | \"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_DHE_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_RSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_RSA_WITH_AES_256_CBC_SHA256\"\n | \"TLS_RSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_RSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_RSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\"\n | \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256\"\n | \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256\"\n | \"TLS_DHE_DSS_WITH_AES_256_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"\n | \"TLS_RSA_WITH_3DES_EDE_CBC_SHA\"\n | \"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA\"\n | \"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\"\n | \"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\"\n >;\n /** Minimum version of Ssl protocol to be supported on application gateway. */\n minProtocolVersion?: \"TLSv1_0\" | \"TLSv1_1\" | \"TLSv1_2\" | \"TLSv1_3\";\n}\n\n/** Azure Firewall resource. */\nexport interface AzureFirewall extends Resource {\n /** Properties of the azure firewall. */\n properties?: AzureFirewallPropertiesFormat;\n /** A list of availability zones denoting where the resource needs to come from. */\n zones?: Array<string>;\n}\n\n/** Properties of the Azure Firewall. */\nexport interface AzureFirewallPropertiesFormat {\n /** Collection of application rule collections used by Azure Firewall. */\n applicationRuleCollections?: Array<AzureFirewallApplicationRuleCollection>;\n /** Collection of NAT rule collections used by Azure Firewall. */\n natRuleCollections?: Array<AzureFirewallNatRuleCollection>;\n /** Collection of network rule collections used by Azure Firewall. */\n networkRuleCollections?: Array<AzureFirewallNetworkRuleCollection>;\n /** IP configuration of the Azure Firewall resource. */\n ipConfigurations?: Array<AzureFirewallIPConfiguration>;\n /** IP configuration of the Azure Firewall used for management traffic. */\n managementIpConfiguration?: AzureFirewallIPConfiguration;\n /** The operation mode for Threat Intelligence. */\n threatIntelMode?: \"Alert\" | \"Deny\" | \"Off\";\n /** The virtualHub to which the firewall belongs. */\n virtualHub?: SubResource;\n /** The firewallPolicy associated with this azure firewall. */\n firewallPolicy?: SubResource;\n /** IP addresses associated with AzureFirewall. */\n hubIPAddresses?: HubIPAddresses;\n /** The Azure Firewall Resource SKU. */\n sku?: AzureFirewallSku;\n /** The additional properties used to further config this azure firewall. */\n additionalProperties?: Record<string, string>;\n}\n\n/** Application rule collection resource. */\nexport interface AzureFirewallApplicationRuleCollection extends SubResource {\n /** Properties of the azure firewall application rule collection. */\n properties?: AzureFirewallApplicationRuleCollectionPropertiesFormat;\n /** The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the application rule collection. */\nexport interface AzureFirewallApplicationRuleCollectionPropertiesFormat {\n /** Priority of the application rule collection resource. */\n priority?: number;\n /** The action type of a rule collection. */\n action?: AzureFirewallRCAction;\n /** Collection of rules used by a application rule collection. */\n rules?: Array<AzureFirewallApplicationRule>;\n}\n\n/** Properties of the AzureFirewallRCAction. */\nexport interface AzureFirewallRCAction {\n /** The type of action. */\n type?: \"Allow\" | \"Deny\";\n}\n\n/** Properties of an application rule. */\nexport interface AzureFirewallApplicationRule {\n /** Name of the application rule. */\n name?: string;\n /** Description of the rule. */\n description?: string;\n /** List of source IP addresses for this rule. */\n sourceAddresses?: Array<string>;\n /** Array of ApplicationRuleProtocols. */\n protocols?: Array<AzureFirewallApplicationRuleProtocol>;\n /** List of FQDNs for this rule. */\n targetFqdns?: Array<string>;\n /** List of FQDN Tags for this rule. */\n fqdnTags?: Array<string>;\n /** List of source IpGroups for this rule. */\n sourceIpGroups?: Array<string>;\n}\n\n/** Properties of the application rule protocol. */\nexport interface AzureFirewallApplicationRuleProtocol {\n /** Protocol type. */\n protocolType?: \"Http\" | \"Https\" | \"Mssql\";\n /** Port number for the protocol, cannot be greater than 64000. This field is optional. */\n port?: number;\n}\n\n/** NAT rule collection resource. */\nexport interface AzureFirewallNatRuleCollection extends SubResource {\n /** Properties of the azure firewall NAT rule collection. */\n properties?: AzureFirewallNatRuleCollectionProperties;\n /** The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the NAT rule collection. */\nexport interface AzureFirewallNatRuleCollectionProperties {\n /** Priority of the NAT rule collection resource. */\n priority?: number;\n /** The action type of a NAT rule collection. */\n action?: AzureFirewallNatRCAction;\n /** Collection of rules used by a NAT rule collection. */\n rules?: Array<AzureFirewallNatRule>;\n}\n\n/** AzureFirewall NAT Rule Collection Action. */\nexport interface AzureFirewallNatRCAction {\n /** The type of action. */\n type?: \"Snat\" | \"Dnat\";\n}\n\n/** Properties of a NAT rule. */\nexport interface AzureFirewallNatRule {\n /** Name of the NAT rule. */\n name?: string;\n /** Description of the rule. */\n description?: string;\n /** List of source IP addresses for this rule. */\n sourceAddresses?: Array<string>;\n /** List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags. */\n destinationAddresses?: Array<string>;\n /** List of destination ports. */\n destinationPorts?: Array<string>;\n /** Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. */\n protocols?: Array<\"TCP\" | \"UDP\" | \"Any\" | \"ICMP\">;\n /** The translated address for this NAT rule. */\n translatedAddress?: string;\n /** The translated port for this NAT rule. */\n translatedPort?: string;\n /** The translated FQDN for this NAT rule. */\n translatedFqdn?: string;\n /** List of source IpGroups for this rule. */\n sourceIpGroups?: Array<string>;\n}\n\n/** Network rule collection resource. */\nexport interface AzureFirewallNetworkRuleCollection extends SubResource {\n /** Properties of the azure firewall network rule collection. */\n properties?: AzureFirewallNetworkRuleCollectionPropertiesFormat;\n /** The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the network rule collection. */\nexport interface AzureFirewallNetworkRuleCollectionPropertiesFormat {\n /** Priority of the network rule collection resource. */\n priority?: number;\n /** The action type of a rule collection. */\n action?: AzureFirewallRCAction;\n /** Collection of rules used by a network rule collection. */\n rules?: Array<AzureFirewallNetworkRule>;\n}\n\n/** Properties of the network rule. */\nexport interface AzureFirewallNetworkRule {\n /** Name of the network rule. */\n name?: string;\n /** Description of the rule. */\n description?: string;\n /** Array of AzureFirewallNetworkRuleProtocols. */\n protocols?: Array<\"TCP\" | \"UDP\" | \"Any\" | \"ICMP\">;\n /** List of source IP addresses for this rule. */\n sourceAddresses?: Array<string>;\n /** List of destination IP addresses. */\n destinationAddresses?: Array<string>;\n /** List of destination ports. */\n destinationPorts?: Array<string>;\n /** List of destination FQDNs. */\n destinationFqdns?: Array<string>;\n /** List of source IpGroups for this rule. */\n sourceIpGroups?: Array<string>;\n /** List of destination IpGroups for this rule. */\n destinationIpGroups?: Array<string>;\n}\n\n/** IP configuration of an Azure Firewall. */\nexport interface AzureFirewallIPConfiguration extends SubResource {\n /** Properties of the azure firewall IP configuration. */\n properties?: AzureFirewallIPConfigurationPropertiesFormat;\n /** Name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of IP configuration of an Azure Firewall. */\nexport interface AzureFirewallIPConfigurationPropertiesFormat {\n /** Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. */\n subnet?: SubResource;\n /** Reference to the PublicIP resource. This field is a mandatory input if subnet is not null. */\n publicIPAddress?: SubResource;\n}\n\n/** IP addresses associated with azure firewall. */\nexport interface HubIPAddresses {\n /** Public IP addresses associated with azure firewall. */\n publicIPs?: HubPublicIPAddresses;\n /** Private IP Address associated with azure firewall. */\n privateIPAddress?: string;\n}\n\n/** Public IP addresses associated with azure firewall. */\nexport interface HubPublicIPAddresses {\n /** The list of Public IP addresses associated with azure firewall or IP addresses to be retained. */\n addresses?: Array<AzureFirewallPublicIPAddress>;\n /** The number of Public IP addresses associated with azure firewall. */\n count?: number;\n}\n\n/** Public IP Address associated with azure firewall. */\nexport interface AzureFirewallPublicIPAddress {\n /** Public IP Address value. */\n address?: string;\n}\n\n/** IpGroups associated with azure firewall. */\nexport interface AzureFirewallIpGroups {}\n\n/** SKU of an Azure Firewall. */\nexport interface AzureFirewallSku {\n /** Name of an Azure Firewall SKU. */\n name?: \"AZFW_VNet\" | \"AZFW_Hub\";\n /** Tier of an Azure Firewall. */\n tier?: \"Standard\" | \"Premium\" | \"Basic\";\n}\n\n/** Azure Firewall FQDN Tag Resource. */\nexport interface AzureFirewallFqdnTag extends Resource {\n /** Properties of the azure firewall FQDN tag. */\n properties?: AzureFirewallFqdnTagPropertiesFormat;\n}\n\n/** Azure Firewall FQDN Tag Properties. */\nexport interface AzureFirewallFqdnTagPropertiesFormat {}\n\n/** Bastion Host resource. */\nexport interface BastionHost extends Resource {\n /** Represents the bastion host resource. */\n properties?: BastionHostPropertiesFormat;\n /** The sku of this Bastion Host. */\n sku?: Sku;\n}\n\n/** Properties of the Bastion Host. */\nexport interface BastionHostPropertiesFormat {\n /** IP configuration of the Bastion Host resource. */\n ipConfigurations?: Array<BastionHostIPConfiguration>;\n /** FQDN for the endpoint on which bastion host is accessible. */\n dnsName?: string;\n /** The scale units for the Bastion Host resource. */\n scaleUnits?: number;\n /** Enable/Disable Copy/Paste feature of the Bastion Host resource. */\n disableCopyPaste?: boolean;\n /** Enable/Disable File Copy feature of the Bastion Host resource. */\n enableFileCopy?: boolean;\n /** Enable/Disable IP Connect feature of the Bastion Host resource. */\n enableIpConnect?: boolean;\n /** Enable/Disable Shareable Link of the Bastion Host resource. */\n enableShareableLink?: boolean;\n /** Enable/Disable Tunneling feature of the Bastion Host resource. */\n enableTunneling?: boolean;\n}\n\n/** IP configuration of an Bastion Host. */\nexport interface BastionHostIPConfiguration extends SubResource {\n /** Represents the ip configuration associated with the resource. */\n properties?: BastionHostIPConfigurationPropertiesFormat;\n /** Name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of IP configuration of an Bastion Host. */\nexport interface BastionHostIPConfigurationPropertiesFormat {\n /** Reference of the subnet resource. */\n subnet: SubResource;\n /** Reference of the PublicIP resource. */\n publicIPAddress: SubResource;\n /** Private IP allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n}\n\n/** The sku of this Bastion Host. */\nexport interface Sku {\n /** The name of this Bastion Host. */\n name?: \"Basic\" | \"Standard\";\n}\n\n/** Post request for all the Bastion Shareable Link endpoints. */\nexport interface BastionShareableLinkListRequest {\n /** List of VM references. */\n vms?: Array<BastionShareableLink>;\n}\n\n/** Bastion Shareable Link. */\nexport interface BastionShareableLink {\n /** Reference of the virtual machine resource. */\n vm: Vm;\n}\n\n/** Describes a Virtual Machine. */\nexport interface Vm extends Resource {}\n\n/** List of session IDs. */\nexport interface SessionIds {\n /** List of session IDs. */\n sessionIds?: Array<string>;\n}\n\n/** Custom IP prefix resource. */\nexport interface CustomIpPrefix extends Resource {\n /** The extended location of the custom IP prefix. */\n extendedLocation?: ExtendedLocation;\n /** Custom IP prefix properties. */\n properties?: CustomIpPrefixPropertiesFormat;\n /** A list of availability zones denoting the IP allocated for the resource needs to come from. */\n zones?: Array<string>;\n}\n\n/** Custom IP prefix properties. */\nexport interface CustomIpPrefixPropertiesFormat {\n /** The ASN for CIDR advertising. Should be an integer as string. */\n asn?: string;\n /** The prefix range in CIDR notation. Should include the start address and the prefix length. */\n cidr?: string;\n /** Signed message for WAN validation. */\n signedMessage?: string;\n /** Authorization message for WAN validation. */\n authorizationMessage?: string;\n /** The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix. */\n customIpPrefixParent?: SubResource;\n /** The commissioned state of the Custom IP Prefix. */\n commissionedState?:\n | \"Provisioning\"\n | \"Provisioned\"\n | \"Commissioning\"\n | \"CommissionedNoInternetAdvertise\"\n | \"Commissioned\"\n | \"Decommissioning\"\n | \"Deprovisioning\"\n | \"Deprovisioned\";\n /** Whether to do express route advertise. */\n expressRouteAdvertise?: boolean;\n /** The Geo for CIDR advertising. Should be an Geo code. */\n geo?: \"GLOBAL\" | \"AFRI\" | \"APAC\" | \"EURO\" | \"LATAM\" | \"NAM\" | \"ME\" | \"OCEANIA\" | \"AQ\";\n /** Whether to Advertise the range to Internet. */\n noInternetAdvertise?: boolean;\n /** Type of custom IP prefix. Should be Singular, Parent, or Child. */\n prefixType?: \"Singular\" | \"Parent\" | \"Child\";\n}\n\n/** A DDoS custom policy in a resource group. */\nexport interface DdosCustomPolicy extends Resource {\n /** Properties of the DDoS custom policy. */\n properties?: DdosCustomPolicyPropertiesFormat;\n}\n\n/** DDoS custom policy properties. */\nexport interface DdosCustomPolicyPropertiesFormat {}\n\n/** A DDoS protection plan in a resource group. */\nexport interface DdosProtectionPlan {\n /** Resource location. */\n location?: string;\n /** Resource tags. */\n tags?: Record<string, string>;\n /** Properties of the DDoS protection plan. */\n properties?: DdosProtectionPlanPropertiesFormat;\n}\n\n/** DDoS protection plan properties. */\nexport interface DdosProtectionPlanPropertiesFormat {}\n\n/** Differentiated Services Code Point configuration for any given network interface */\nexport interface DscpConfiguration extends Resource {\n /** Properties of the network interface. */\n properties?: DscpConfigurationPropertiesFormat;\n}\n\n/** Differentiated Services Code Point configuration properties. */\nexport interface DscpConfigurationPropertiesFormat {\n /** List of markings to be used in the configuration. */\n markings?: Array<number>;\n /** Source IP ranges. */\n sourceIpRanges?: Array<QosIpRange>;\n /** Destination IP ranges. */\n destinationIpRanges?: Array<QosIpRange>;\n /** Sources port ranges. */\n sourcePortRanges?: Array<QosPortRange>;\n /** Destination port ranges. */\n destinationPortRanges?: Array<QosPortRange>;\n /** RNM supported protocol types. */\n protocol?: \"DoNotUse\" | \"Icmp\" | \"Tcp\" | \"Udp\" | \"Gre\" | \"Esp\" | \"Ah\" | \"Vxlan\" | \"All\";\n /** QoS object definitions */\n qosDefinitionCollection?: Array<QosDefinition>;\n}\n\n/** Qos Traffic Profiler IP Range properties. */\nexport interface QosIpRange {\n /** Start IP Address. */\n startIP?: string;\n /** End IP Address. */\n endIP?: string;\n}\n\n/** Qos Traffic Profiler Port range properties. */\nexport interface QosPortRange {\n /** Qos Port Range start. */\n start?: number;\n /** Qos Port Range end. */\n end?: number;\n}\n\n/** Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. */\nexport interface QosDefinition {\n /** List of markings to be used in the configuration. */\n markings?: Array<number>;\n /** Source IP ranges. */\n sourceIpRanges?: Array<QosIpRange>;\n /** Destination IP ranges. */\n destinationIpRanges?: Array<QosIpRange>;\n /** Sources port ranges. */\n sourcePortRanges?: Array<QosPortRange>;\n /** Destination port ranges. */\n destinationPortRanges?: Array<QosPortRange>;\n /** RNM supported protocol types. */\n protocol?: \"DoNotUse\" | \"Icmp\" | \"Tcp\" | \"Udp\" | \"Gre\" | \"Esp\" | \"Ah\" | \"Vxlan\" | \"All\";\n}\n\n/** Endpoint service. */\nexport interface EndpointServiceResult extends SubResource {}\n\n/** Authorization in an ExpressRouteCircuit resource. */\nexport interface ExpressRouteCircuitAuthorization extends SubResource {\n /** Properties of the express route circuit authorization. */\n properties?: AuthorizationPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of ExpressRouteCircuitAuthorization. */\nexport interface AuthorizationPropertiesFormat {\n /** The authorization key. */\n authorizationKey?: string;\n /** The authorization use status. */\n authorizationUseStatus?: \"Available\" | \"InUse\";\n}\n\n/** Peering in an ExpressRouteCircuit resource. */\nexport interface ExpressRouteCircuitPeering extends SubResource {\n /** Properties of the express route circuit peering. */\n properties?: ExpressRouteCircuitPeeringPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the express route circuit peering. */\nexport interface ExpressRouteCircuitPeeringPropertiesFormat {\n /** The peering type. */\n peeringType?: \"AzurePublicPeering\" | \"AzurePrivatePeering\" | \"MicrosoftPeering\";\n /** The peering state. */\n state?: \"Disabled\" | \"Enabled\";\n /** The Azure ASN. */\n azureASN?: number;\n /** The peer ASN. */\n peerASN?: number;\n /** The primary address prefix. */\n primaryPeerAddressPrefix?: string;\n /** The secondary address prefix. */\n secondaryPeerAddressPrefix?: string;\n /** The primary port. */\n primaryAzurePort?: string;\n /** The secondary port. */\n secondaryAzurePort?: string;\n /** The shared key. */\n sharedKey?: string;\n /** The VLAN ID. */\n vlanId?: number;\n /** The Microsoft peering configuration. */\n microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig;\n /** The peering stats of express route circuit. */\n stats?: ExpressRouteCircuitStats;\n /** The GatewayManager Etag. */\n gatewayManagerEtag?: string;\n /** The reference to the RouteFilter resource. */\n routeFilter?: SubResource;\n /** The IPv6 peering configuration. */\n ipv6PeeringConfig?: Ipv6ExpressRouteCircuitPeeringConfig;\n /** The ExpressRoute connection. */\n expressRouteConnection?: ExpressRouteConnectionId;\n /** The list of circuit connections associated with Azure Private Peering for this circuit. */\n connections?: Array<ExpressRouteCircuitConnection>;\n}\n\n/** Specifies the peering configuration. */\nexport interface ExpressRouteCircuitPeeringConfig {\n /** The reference to AdvertisedPublicPrefixes. */\n advertisedPublicPrefixes?: Array<string>;\n /** The communities of bgp peering. Specified for microsoft peering. */\n advertisedCommunities?: Array<string>;\n /** The legacy mode of the peering. */\n legacyMode?: number;\n /** The CustomerASN of the peering. */\n customerASN?: number;\n /** The RoutingRegistryName of the configuration. */\n routingRegistryName?: string;\n}\n\n/** Contains stats associated with the peering. */\nexport interface ExpressRouteCircuitStats {\n /** The Primary BytesIn of the peering. */\n primarybytesIn?: number;\n /** The primary BytesOut of the peering. */\n primarybytesOut?: number;\n /** The secondary BytesIn of the peering. */\n secondarybytesIn?: number;\n /** The secondary BytesOut of the peering. */\n secondarybytesOut?: number;\n}\n\n/** Contains IPv6 peering config. */\nexport interface Ipv6ExpressRouteCircuitPeeringConfig {\n /** The primary address prefix. */\n primaryPeerAddressPrefix?: string;\n /** The secondary address prefix. */\n secondaryPeerAddressPrefix?: string;\n /** The Microsoft peering configuration. */\n microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig;\n /** The reference to the RouteFilter resource. */\n routeFilter?: SubResource;\n /** The state of peering. */\n state?: \"Disabled\" | \"Enabled\";\n}\n\n/** The ID of the ExpressRouteConnection. */\nexport interface ExpressRouteConnectionId {}\n\n/** Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. */\nexport interface ExpressRouteCircuitConnection extends SubResource {\n /** Properties of the express route circuit connection. */\n properties?: ExpressRouteCircuitConnectionPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the express route circuit connection. */\nexport interface ExpressRouteCircuitConnectionPropertiesFormat {\n /** Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection. */\n expressRouteCircuitPeering?: SubResource;\n /** Reference to Express Route Circuit Private Peering Resource of the peered circuit. */\n peerExpressRouteCircuitPeering?: SubResource;\n /** /29 IP address space to carve out Customer addresses for tunnels. */\n addressPrefix?: string;\n /** The authorization key. */\n authorizationKey?: string;\n /** IPv6 Address PrefixProperties of the express route circuit connection. */\n ipv6CircuitConnectionConfig?: Ipv6CircuitConnectionConfig;\n}\n\n/** IPv6 Circuit Connection properties for global reach. */\nexport interface Ipv6CircuitConnectionConfig {\n /** /125 IP address space to carve out customer addresses for global reach. */\n addressPrefix?: string;\n}\n\n/** Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. */\nexport interface PeerExpressRouteCircuitConnection extends SubResource {\n /** Properties of the peer express route circuit connection. */\n properties?: PeerExpressRouteCircuitConnectionPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the peer express route circuit connection. */\nexport interface PeerExpressRouteCircuitConnectionPropertiesFormat {\n /** Reference to Express Route Circuit Private Peering Resource of the circuit. */\n expressRouteCircuitPeering?: SubResource;\n /** Reference to Express Route Circuit Private Peering Resource of the peered circuit. */\n peerExpressRouteCircuitPeering?: SubResource;\n /** /29 IP address space to carve out Customer addresses for tunnels. */\n addressPrefix?: string;\n /** The name of the express route circuit connection resource. */\n connectionName?: string;\n /** The resource guid of the authorization used for the express route circuit connection. */\n authResourceGuid?: string;\n}\n\n/** ExpressRouteCircuit resource. */\nexport interface ExpressRouteCircuit extends Resource {\n /** The SKU. */\n sku?: ExpressRouteCircuitSku;\n /** Properties of the express route circuit. */\n properties?: ExpressRouteCircuitPropertiesFormat;\n}\n\n/** Contains SKU in an ExpressRouteCircuit. */\nexport interface ExpressRouteCircuitSku {\n /** The name of the SKU. */\n name?: string;\n /** The tier of the SKU. */\n tier?: \"Standard\" | \"Premium\" | \"Basic\" | \"Local\";\n /** The family of the SKU. */\n family?: \"UnlimitedData\" | \"MeteredData\";\n}\n\n/** Properties of ExpressRouteCircuit. */\nexport interface ExpressRouteCircuitPropertiesFormat {\n /** Allow classic operations. */\n allowClassicOperations?: boolean;\n /** The CircuitProvisioningState state of the resource. */\n circuitProvisioningState?: string;\n /** The ServiceProviderProvisioningState state of the resource. */\n serviceProviderProvisioningState?:\n | \"NotProvisioned\"\n | \"Provisioning\"\n | \"Provisioned\"\n | \"Deprovisioning\";\n /** The list of authorizations. */\n authorizations?: Array<ExpressRouteCircuitAuthorization>;\n /** The list of peerings. */\n peerings?: Array<ExpressRouteCircuitPeering>;\n /** The ServiceKey. */\n serviceKey?: string;\n /** The ServiceProviderNotes. */\n serviceProviderNotes?: string;\n /** The ServiceProviderProperties. */\n serviceProviderProperties?: ExpressRouteCircuitServiceProviderProperties;\n /** The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource. */\n expressRoutePort?: SubResource;\n /** The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. */\n bandwidthInGbps?: number;\n /** The GatewayManager Etag. */\n gatewayManagerEtag?: string;\n /** Flag denoting global reach status. */\n globalReachEnabled?: boolean;\n /** The authorizationKey. */\n authorizationKey?: string;\n}\n\n/** Contains ServiceProviderProperties in an ExpressRouteCircuit. */\nexport interface ExpressRouteCircuitServiceProviderProperties {\n /** The serviceProviderName. */\n serviceProviderName?: string;\n /** The peering location. */\n peeringLocation?: string;\n /** The BandwidthInMbps. */\n bandwidthInMbps?: number;\n}\n\n/** A ExpressRouteResourceProvider object. */\nexport interface ExpressRouteServiceProvider extends Resource {\n /** Properties of the express route service provider. */\n properties?: ExpressRouteServiceProviderPropertiesFormat;\n}\n\n/** Properties of ExpressRouteServiceProvider. */\nexport interface ExpressRouteServiceProviderPropertiesFormat {\n /** A list of peering locations. */\n peeringLocations?: Array<string>;\n /** A list of bandwidths offered. */\n bandwidthsOffered?: Array<ExpressRouteServiceProviderBandwidthsOffered>;\n}\n\n/** Contains bandwidths offered in ExpressRouteServiceProvider resources. */\nexport interface ExpressRouteServiceProviderBandwidthsOffered {\n /** The OfferName. */\n offerName?: string;\n /** The ValueInMbps. */\n valueInMbps?: number;\n}\n\n/** ExpressRouteCrossConnection resource. */\nexport interface ExpressRouteCrossConnection extends Resource {\n /** Properties of the express route cross connection. */\n properties?: ExpressRouteCrossConnectionProperties;\n}\n\n/** Properties of ExpressRouteCrossConnection. */\nexport interface ExpressRouteCrossConnectionProperties {\n /** The ExpressRouteCircuit. */\n expressRouteCircuit?: ExpressRouteCircuitReference;\n /** The provisioning state of the circuit in the connectivity provider system. */\n serviceProviderProvisioningState?:\n | \"NotProvisioned\"\n | \"Provisioning\"\n | \"Provisioned\"\n | \"Deprovisioning\";\n /** Additional read only notes set by the connectivity provider. */\n serviceProviderNotes?: string;\n /** The list of peerings. */\n peerings?: Array<ExpressRouteCrossConnectionPeering>;\n}\n\n/** Reference to an express route circuit. */\nexport interface ExpressRouteCircuitReference {\n /** Corresponding Express Route Circuit Id. */\n id?: string;\n}\n\n/** Peering in an ExpressRoute Cross Connection resource. */\nexport interface ExpressRouteCrossConnectionPeering extends SubResource {\n /** Properties of the express route cross connection peering. */\n properties?: ExpressRouteCrossConnectionPeeringProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of express route cross connection peering. */\nexport interface ExpressRouteCrossConnectionPeeringProperties {\n /** The peering type. */\n peeringType?: \"AzurePublicPeering\" | \"AzurePrivatePeering\" | \"MicrosoftPeering\";\n /** The peering state. */\n state?: \"Disabled\" | \"Enabled\";\n /** The peer ASN. */\n peerASN?: number;\n /** The primary address prefix. */\n primaryPeerAddressPrefix?: string;\n /** The secondary address prefix. */\n secondaryPeerAddressPrefix?: string;\n /** The shared key. */\n sharedKey?: string;\n /** The VLAN ID. */\n vlanId?: number;\n /** The Microsoft peering configuration. */\n microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig;\n /** The GatewayManager Etag. */\n gatewayManagerEtag?: string;\n /** The IPv6 peering configuration. */\n ipv6PeeringConfig?: Ipv6ExpressRouteCircuitPeeringConfig;\n}\n\n/** Definition of the ExpressRoutePorts peering location resource. */\nexport interface ExpressRoutePortsLocation extends Resource {\n /** ExpressRoutePort peering location properties. */\n properties?: ExpressRoutePortsLocationPropertiesFormat;\n}\n\n/** Properties specific to ExpressRoutePorts peering location resources. */\nexport interface ExpressRoutePortsLocationPropertiesFormat {\n /** The inventory of available ExpressRoutePort bandwidths. */\n availableBandwidths?: Array<ExpressRoutePortsLocationBandwidths>;\n}\n\n/** Real-time inventory of available ExpressRoute port bandwidths. */\nexport interface ExpressRoutePortsLocationBandwidths {}\n\n/** ExpressRoutePort resource definition. */\nexport interface ExpressRoutePort extends Resource {\n /** ExpressRoutePort properties. */\n properties?: ExpressRoutePortPropertiesFormat;\n /** The identity of ExpressRoutePort, if configured. */\n identity?: ManagedServiceIdentity;\n}\n\n/** Properties specific to ExpressRoutePort resources. */\nexport interface ExpressRoutePortPropertiesFormat {\n /** The name of the peering location that the ExpressRoutePort is mapped to physically. */\n peeringLocation?: string;\n /** Bandwidth of procured ports in Gbps. */\n bandwidthInGbps?: number;\n /** Encapsulation method on physical ports. */\n encapsulation?: \"Dot1Q\" | \"QinQ\";\n /** The set of physical links of the ExpressRoutePort resource. */\n links?: Array<ExpressRouteLink>;\n /** The billing type of the ExpressRoutePort resource. */\n billingType?: \"MeteredData\" | \"UnlimitedData\";\n}\n\n/** ExpressRouteLink child resource definition. */\nexport interface ExpressRouteLink extends SubResource {\n /** ExpressRouteLink properties. */\n properties?: ExpressRouteLinkPropertiesFormat;\n /** Name of child port resource that is unique among child port resources of the parent. */\n name?: string;\n}\n\n/** Properties specific to ExpressRouteLink resources. */\nexport interface ExpressRouteLinkPropertiesFormat {\n /** Administrative state of the physical port. */\n adminState?: \"Enabled\" | \"Disabled\";\n /** MacSec configuration. */\n macSecConfig?: ExpressRouteLinkMacSecConfig;\n}\n\n/** ExpressRouteLink Mac Security Configuration. */\nexport interface ExpressRouteLinkMacSecConfig {\n /** Keyvault Secret Identifier URL containing Mac security CKN key. */\n cknSecretIdentifier?: string;\n /** Keyvault Secret Identifier URL containing Mac security CAK key. */\n cakSecretIdentifier?: string;\n /** Mac security cipher. */\n cipher?: \"GcmAes256\" | \"GcmAes128\" | \"GcmAesXpn128\" | \"GcmAesXpn256\";\n /** Sci mode enabled/disabled. */\n sciState?: \"Disabled\" | \"Enabled\";\n}\n\n/** The customer name to be printed on a letter of authorization. */\nexport interface GenerateExpressRoutePortsLOARequest {\n /** The customer name. */\n customerName: string;\n}\n\n/** ExpressRoutePort Authorization resource definition. */\nexport interface ExpressRoutePortAuthorization extends SubResource {\n /** ExpressRoutePort properties. */\n properties?: ExpressRoutePortAuthorizationPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of ExpressRoutePort Authorization. */\nexport interface ExpressRoutePortAuthorizationPropertiesFormat {}\n\n/** Properties of ExpressRouteProviderPort. */\nexport interface ExpressRouteProviderPortProperties {\n /** The peering location of the port pair. */\n peeringLocation?: string;\n /** Overprovisioning factor for the port pair. */\n overprovisionFactor?: number;\n /** Bandwidth of the port in Mbps */\n portBandwidthInMbps?: number;\n /** Used Bandwidth of the port in Mbps */\n usedBandwidthInMbps?: number;\n /** Remaining Bandwidth of the port in Mbps */\n remainingBandwidthInMbps?: number;\n}\n\n/** FirewallPolicy Resource. */\nexport interface FirewallPolicy extends Resource {\n /** Properties of the firewall policy. */\n properties?: FirewallPolicyPropertiesFormat;\n /** The identity of the firewall policy. */\n identity?: ManagedServiceIdentity;\n}\n\n/** Firewall Policy definition. */\nexport interface FirewallPolicyPropertiesFormat {\n /** The parent firewall policy from which rules are inherited. */\n basePolicy?: SubResource;\n /** The operation mode for Threat Intelligence. */\n threatIntelMode?: \"Alert\" | \"Deny\" | \"Off\";\n /** ThreatIntel Whitelist for Firewall Policy. */\n threatIntelWhitelist?: FirewallPolicyThreatIntelWhitelist;\n /** Insights on Firewall Policy. */\n insights?: FirewallPolicyInsights;\n /** The private IP addresses/IP ranges to which traffic will not be SNAT. */\n snat?: FirewallPolicySnat;\n /** SQL Settings definition. */\n sql?: FirewallPolicySQL;\n /** DNS Proxy Settings definition. */\n dnsSettings?: DnsSettings;\n /** Explicit Proxy Settings definition. */\n explicitProxy?: ExplicitProxy;\n /** The configuration for Intrusion detection. */\n intrusionDetection?: FirewallPolicyIntrusionDetection;\n /** TLS Configuration definition. */\n transportSecurity?: FirewallPolicyTransportSecurity;\n /** The Firewall Policy SKU. */\n sku?: FirewallPolicySku;\n}\n\n/** ThreatIntel Whitelist for Firewall Policy. */\nexport interface FirewallPolicyThreatIntelWhitelist {\n /** List of IP addresses for the ThreatIntel Whitelist. */\n ipAddresses?: Array<string>;\n /** List of FQDNs for the ThreatIntel Whitelist. */\n fqdns?: Array<string>;\n}\n\n/** Firewall Policy Insights. */\nexport interface FirewallPolicyInsights {\n /** A flag to indicate if the insights are enabled on the policy. */\n isEnabled?: boolean;\n /** Number of days the insights should be enabled on the policy. */\n retentionDays?: number;\n /** Workspaces needed to configure the Firewall Policy Insights. */\n logAnalyticsResources?: FirewallPolicyLogAnalyticsResources;\n}\n\n/** Log Analytics Resources for Firewall Policy Insights. */\nexport interface FirewallPolicyLogAnalyticsResources {\n /** List of workspaces for Firewall Policy Insights. */\n workspaces?: Array<FirewallPolicyLogAnalyticsWorkspace>;\n /** The default workspace Id for Firewall Policy Insights. */\n defaultWorkspaceId?: SubResource;\n}\n\n/** Log Analytics Workspace for Firewall Policy Insights. */\nexport interface FirewallPolicyLogAnalyticsWorkspace {\n /** Region to configure the Workspace. */\n region?: string;\n /** The workspace Id for Firewall Policy Insights. */\n workspaceId?: SubResource;\n}\n\n/** The private IP addresses/IP ranges to which traffic will not be SNAT. */\nexport interface FirewallPolicySnat {\n /** List of private IP addresses/IP address ranges to not be SNAT. */\n privateRanges?: Array<string>;\n /** The operation mode for automatically learning private ranges to not be SNAT */\n autoLearnPrivateRanges?: \"Enabled\" | \"Disabled\";\n}\n\n/** SQL Settings in Firewall Policy. */\nexport interface FirewallPolicySQL {\n /** A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999. */\n allowSqlRedirect?: boolean;\n}\n\n/** DNS Proxy Settings in Firewall Policy. */\nexport interface DnsSettings {\n /** List of Custom DNS Servers. */\n servers?: Array<string>;\n /** Enable DNS Proxy on Firewalls attached to the Firewall Policy. */\n enableProxy?: boolean;\n /** FQDNs in Network Rules are supported when set to true. */\n requireProxyForNetworkRules?: boolean;\n}\n\n/** Explicit Proxy Settings in Firewall Policy. */\nexport interface ExplicitProxy {\n /** When set to true, explicit proxy mode is enabled. */\n enableExplicitProxy?: boolean;\n /** Port number for explicit proxy http protocol, cannot be greater than 64000. */\n httpPort?: number;\n /** Port number for explicit proxy https protocol, cannot be greater than 64000. */\n httpsPort?: number;\n /** When set to true, pac file port and url needs to be provided. */\n enablePacFile?: boolean;\n /** Port number for firewall to serve PAC file. */\n pacFilePort?: number;\n /** SAS URL for PAC file. */\n pacFile?: string;\n}\n\n/** Configuration for intrusion detection mode and rules. */\nexport interface FirewallPolicyIntrusionDetection {\n /** Intrusion detection general state. */\n mode?: \"Off\" | \"Alert\" | \"Deny\";\n /** Intrusion detection configuration properties. */\n configuration?: FirewallPolicyIntrusionDetectionConfiguration;\n}\n\n/** The operation for configuring intrusion detection. */\nexport interface FirewallPolicyIntrusionDetectionConfiguration {\n /** List of specific signatures states. */\n signatureOverrides?: Array<FirewallPolicyIntrusionDetectionSignatureSpecification>;\n /** List of rules for traffic to bypass. */\n bypassTrafficSettings?: Array<FirewallPolicyIntrusionDetectionBypassTrafficSpecifications>;\n /** IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By default, only ranges defined by IANA RFC 1918 are considered private IP addresses. To modify default ranges, specify your Private IP address ranges with this property */\n privateRanges?: Array<string>;\n}\n\n/** Intrusion detection signatures specification states. */\nexport interface FirewallPolicyIntrusionDetectionSignatureSpecification {\n /** Signature id. */\n id?: string;\n /** The signature state. */\n mode?: \"Off\" | \"Alert\" | \"Deny\";\n}\n\n/** Intrusion detection bypass traffic specification. */\nexport interface FirewallPolicyIntrusionDetectionBypassTrafficSpecifications {\n /** Name of the bypass traffic rule. */\n name?: string;\n /** Description of the bypass traffic rule. */\n description?: string;\n /** The rule bypass protocol. */\n protocol?: \"TCP\" | \"UDP\" | \"ICMP\" | \"ANY\";\n /** List of source IP addresses or ranges for this rule. */\n sourceAddresses?: Array<string>;\n /** List of destination IP addresses or ranges for this rule. */\n destinationAddresses?: Array<string>;\n /** List of destination ports or ranges. */\n destinationPorts?: Array<string>;\n /** List of source IpGroups for this rule. */\n sourceIpGroups?: Array<string>;\n /** List of destination IpGroups for this rule. */\n destinationIpGroups?: Array<string>;\n}\n\n/** Configuration needed to perform TLS termination & initiation. */\nexport interface FirewallPolicyTransportSecurity {\n /** The CA used for intermediate CA generation. */\n certificateAuthority?: FirewallPolicyCertificateAuthority;\n}\n\n/** Trusted Root certificates properties for tls. */\nexport interface FirewallPolicyCertificateAuthority {\n /** Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. */\n keyVaultSecretId?: string;\n /** Name of the CA certificate. */\n name?: string;\n}\n\n/** SKU of Firewall policy. */\nexport interface FirewallPolicySku {\n /** Tier of Firewall Policy. */\n tier?: \"Standard\" | \"Premium\" | \"Basic\";\n}\n\n/** Rule Collection Group resource. */\nexport interface FirewallPolicyRuleCollectionGroup extends SubResource {\n /** The properties of the firewall policy rule collection group. */\n properties?: FirewallPolicyRuleCollectionGroupProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the rule collection group. */\nexport interface FirewallPolicyRuleCollectionGroupProperties {\n /** Priority of the Firewall Policy Rule Collection Group resource. */\n priority?: number;\n /** Group of Firewall Policy rule collections. */\n ruleCollections?: Array<FirewallPolicyRuleCollection>;\n}\n\n/** Properties of the rule collection. */\nexport interface FirewallPolicyRuleCollectionParent {\n /** The name of the rule collection. */\n name?: string;\n /** Priority of the Firewall Policy Rule Collection resource. */\n priority?: number;\n ruleCollectionType:\n | \"FirewallPolicyRuleCollection\"\n | \"FirewallPolicyNatRuleCollection\"\n | \"FirewallPolicyFilterRuleCollection\";\n}\n\n/** Will describe the query to run against the IDPS signatures DB */\nexport interface IdpsQueryObject {\n /** Contain all filters names and values */\n filters?: Array<FilterItems>;\n /** Search term in all columns */\n search?: string;\n /** Column to sort response by */\n orderBy?: OrderBy;\n /** The number of the results to return in each page */\n resultsPerPage?: number;\n /** The number of records matching the filter to skip */\n skip?: number;\n}\n\n/** Will contain the filter name and values to operate on */\nexport interface FilterItems {\n /** The name of the field we would like to filter */\n field?: string;\n /** List of values to filter the current field by */\n values?: Array<string>;\n}\n\n/** Describes a column to sort */\nexport interface OrderBy {\n /** Describes the actual column name to sort by */\n field?: string;\n /** Describes if results should be in ascending/descending order */\n order?: \"Ascending\" | \"Descending\";\n}\n\n/** Contains all specific policy signatures overrides for the IDPS */\nexport interface SignaturesOverrides {\n /** Contains the name of the resource (default) */\n name?: string;\n /** Will contain the resource id of the signature override resource */\n id?: string;\n /** Will contain the type of the resource: Microsoft.Network/firewallPolicies/intrusionDetectionSignaturesOverrides */\n type?: string;\n /** Will contain the properties of the resource (the actual signature overrides) */\n properties?: SignaturesOverridesProperties;\n}\n\n/** Will contain the properties of the resource (the actual signature overrides) */\nexport interface SignaturesOverridesProperties {\n /** Dictionary of <string> */\n signatures?: Record<string, string>;\n}\n\n/** Describes the filter values possibles for a given column */\nexport interface SignatureOverridesFilterValuesQuery {\n /** Describes the name of the column which values will be returned */\n filterName?: string;\n}\n\n/** IpAllocation resource. */\nexport interface IpAllocation extends Resource {\n /** Properties of the IpAllocation. */\n properties?: IpAllocationPropertiesFormat;\n}\n\n/** Properties of the IpAllocation. */\nexport interface IpAllocationPropertiesFormat {\n /** The type for the IpAllocation. */\n type?: \"Undefined\" | \"Hypernet\";\n /** The address prefix for the IpAllocation. */\n prefix?: string;\n /** The address prefix length for the IpAllocation. */\n prefixLength?: number;\n /** The address prefix Type for the IpAllocation. */\n prefixType?: \"IPv4\" | \"IPv6\";\n /** The IPAM allocation ID. */\n ipamAllocationId?: string;\n /** IpAllocation tags. */\n allocationTags?: Record<string, string>;\n}\n\n/** The IpGroups resource information. */\nexport interface IpGroup extends Resource {\n /** Properties of the IpGroups. */\n properties?: IpGroupPropertiesFormat;\n}\n\n/** The IpGroups property information. */\nexport interface IpGroupPropertiesFormat {\n /** IpAddresses/IpAddressPrefixes in the IpGroups resource. */\n ipAddresses?: Array<string>;\n}\n\n/** LoadBalancer resource. */\nexport interface LoadBalancer extends Resource {\n /** The extended location of the load balancer. */\n extendedLocation?: ExtendedLocation;\n /** The load balancer SKU. */\n sku?: LoadBalancerSku;\n /** Properties of load balancer. */\n properties?: LoadBalancerPropertiesFormat;\n}\n\n/** SKU of a load balancer. */\nexport interface LoadBalancerSku {\n /** Name of a load balancer SKU. */\n name?: \"Basic\" | \"Standard\" | \"Gateway\";\n /** Tier of a load balancer SKU. */\n tier?: \"Regional\" | \"Global\";\n}\n\n/** Properties of the load balancer. */\nexport interface LoadBalancerPropertiesFormat {\n /** Object representing the frontend IPs to be used for the load balancer. */\n frontendIPConfigurations?: Array<FrontendIPConfiguration>;\n /** Collection of backend address pools used by a load balancer. */\n backendAddressPools?: Array<BackendAddressPool>;\n /** Object collection representing the load balancing rules Gets the provisioning. */\n loadBalancingRules?: Array<LoadBalancingRule>;\n /** Collection of probe objects used in the load balancer. */\n probes?: Array<Probe>;\n /** Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules. */\n inboundNatRules?: Array<InboundNatRule>;\n /** Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. */\n inboundNatPools?: Array<InboundNatPool>;\n /** The outbound rules. */\n outboundRules?: Array<OutboundRule>;\n}\n\n/** A load balancing rule for a load balancer. */\nexport interface LoadBalancingRule extends SubResource {\n /** Properties of load balancer load balancing rule. */\n properties?: LoadBalancingRulePropertiesFormat;\n /** The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the load balancer. */\nexport interface LoadBalancingRulePropertiesFormat {\n /** A reference to frontend IP addresses. */\n frontendIPConfiguration?: SubResource;\n /** A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. */\n backendAddressPool?: SubResource;\n /** An array of references to pool of DIPs. */\n backendAddressPools?: Array<SubResource>;\n /** The reference to the load balancer probe used by the load balancing rule. */\n probe?: SubResource;\n /** The reference to the transport protocol used by the load balancing rule. */\n protocol: \"Udp\" | \"Tcp\" | \"All\";\n /** The load distribution policy for this rule. */\n loadDistribution?: \"Default\" | \"SourceIP\" | \"SourceIPProtocol\";\n /** The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables \"Any Port\". */\n frontendPort: number;\n /** The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables \"Any Port\". */\n backendPort?: number;\n /** The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. */\n idleTimeoutInMinutes?: number;\n /** Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. */\n enableFloatingIP?: boolean;\n /** Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. */\n enableTcpReset?: boolean;\n /** Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. */\n disableOutboundSnat?: boolean;\n}\n\n/** A load balancer probe. */\nexport interface Probe extends SubResource {\n /** Properties of load balancer probe. */\n properties?: ProbePropertiesFormat;\n /** The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Load balancer probe resource. */\nexport interface ProbePropertiesFormat {\n /** The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. */\n protocol: \"Http\" | \"Tcp\" | \"Https\";\n /** The port for communicating the probe. Possible values range from 1 to 65535, inclusive. */\n port: number;\n /** The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. */\n intervalInSeconds?: number;\n /** The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. */\n numberOfProbes?: number;\n /** The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. */\n probeThreshold?: number;\n /** The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. */\n requestPath?: string;\n}\n\n/** Inbound NAT pool of the load balancer. */\nexport interface InboundNatPool extends SubResource {\n /** Properties of load balancer inbound nat pool. */\n properties?: InboundNatPoolPropertiesFormat;\n /** The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of Inbound NAT pool. */\nexport interface InboundNatPoolPropertiesFormat {\n /** A reference to frontend IP addresses. */\n frontendIPConfiguration?: SubResource;\n /** The reference to the transport protocol used by the inbound NAT pool. */\n protocol: \"Udp\" | \"Tcp\" | \"All\";\n /** The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534. */\n frontendPortRangeStart: number;\n /** The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535. */\n frontendPortRangeEnd: number;\n /** The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. */\n backendPort: number;\n /** The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. */\n idleTimeoutInMinutes?: number;\n /** Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. */\n enableFloatingIP?: boolean;\n /** Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. */\n enableTcpReset?: boolean;\n}\n\n/** Outbound rule of the load balancer. */\nexport interface OutboundRule extends SubResource {\n /** Properties of load balancer outbound rule. */\n properties?: OutboundRulePropertiesFormat;\n /** The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Outbound rule of the load balancer. */\nexport interface OutboundRulePropertiesFormat {\n /** The number of outbound ports to be used for NAT. */\n allocatedOutboundPorts?: number;\n /** The Frontend IP addresses of the load balancer. */\n frontendIPConfigurations: Array<SubResource>;\n /** A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. */\n backendAddressPool: SubResource;\n /** The protocol for the outbound rule in load balancer. */\n protocol: \"Tcp\" | \"Udp\" | \"All\";\n /** Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. */\n enableTcpReset?: boolean;\n /** The timeout for the TCP idle connection. */\n idleTimeoutInMinutes?: number;\n}\n\n/** The request for a VIP swap. */\nexport interface LoadBalancerVipSwapRequest {\n /** A list of frontend IP configuration resources that should swap VIPs. */\n frontendIPConfigurations?: Array<LoadBalancerVipSwapRequestFrontendIPConfiguration>;\n}\n\n/** VIP swap request's frontend IP configuration object. */\nexport interface LoadBalancerVipSwapRequestFrontendIPConfiguration {\n /** The ID of frontend IP configuration resource. */\n id?: string;\n /** The properties of VIP swap request's frontend IP configuration object. */\n properties?: LoadBalancerVipSwapRequestFrontendIPConfigurationProperties;\n}\n\n/** The properties of VIP swap request's frontend IP configuration object. */\nexport interface LoadBalancerVipSwapRequestFrontendIPConfigurationProperties {\n /** A reference to public IP address resource. */\n publicIPAddress?: SubResource;\n}\n\n/** The request for a QueryInboundNatRulePortMapping API. Either IpConfiguration or IpAddress should be set */\nexport interface QueryInboundNatRulePortMappingRequest {\n /** NetworkInterfaceIPConfiguration set in load balancer backend address. */\n ipConfiguration?: SubResource;\n /** IP address set in load balancer backend address. */\n ipAddress?: string;\n}\n\n/** The Managed Network resource */\nexport interface NetworkManager extends Resource {\n /** The network manager properties */\n properties?: NetworkManagerProperties;\n}\n\n/** Properties of Managed Network */\nexport interface NetworkManagerProperties {\n /** A description of the network manager. */\n description?: string;\n /** Scope of Network Manager. */\n networkManagerScopes: NetworkManagerPropertiesNetworkManagerScopes;\n /** Scope Access. */\n networkManagerScopeAccesses: Array<\"SecurityAdmin\" | \"Connectivity\">;\n}\n\n/** Scope of Network Manager. */\nexport interface NetworkManagerPropertiesNetworkManagerScopes {\n /** List of management groups. */\n managementGroups?: Array<string>;\n /** List of subscriptions. */\n subscriptions?: Array<string>;\n}\n\n/** Cross tenant scopes. */\nexport interface CrossTenantScopes {}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: \"User\" | \"Application\" | \"ManagedIdentity\" | \"Key\";\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date | string;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: \"User\" | \"Application\" | \"ManagedIdentity\" | \"Key\";\n /** The type of identity that last modified the resource. */\n lastModifiedAt?: Date | string;\n}\n\n/** Object for patch operations. */\nexport interface PatchObject {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\n/** Network Manager Commit. */\nexport interface NetworkManagerCommit {\n /** List of target locations. */\n targetLocations: Array<string>;\n /** List of configuration ids. */\n configurationIds?: Array<string>;\n /** Commit Type. */\n commitType: \"SecurityAdmin\" | \"Connectivity\";\n}\n\n/** Network Manager Deployment Status Parameter. */\nexport interface NetworkManagerDeploymentStatusParameter {\n /** List of locations. */\n regions?: Array<string>;\n /** List of deployment types. */\n deploymentTypes?: Array<\"SecurityAdmin\" | \"Connectivity\">;\n /** Continuation token for pagination, capturing the next page size and offset, as well as the context of the query. */\n skipToken?: string;\n}\n\n/** Effective Virtual Networks Parameter. */\nexport interface ActiveConfigurationParameter {\n /** List of regions. */\n regions?: Array<string>;\n /** When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. */\n skipToken?: string;\n}\n\n/** Properties of network manager connectivity configuration */\nexport interface ConnectivityConfigurationProperties {\n /** A description of the connectivity configuration. */\n description?: string;\n /** Connectivity topology type. */\n connectivityTopology: \"HubAndSpoke\" | \"Mesh\";\n /** List of hubItems */\n hubs?: Array<Hub>;\n /** Flag if global mesh is supported. */\n isGlobal?: \"False\" | \"True\";\n /** Groups for configuration */\n appliesToGroups: Array<ConnectivityGroupItem>;\n /** Flag if need to remove current existing peerings. */\n deleteExistingPeering?: \"False\" | \"True\";\n}\n\n/** Hub Item. */\nexport interface Hub {\n /** Resource Id. */\n resourceId?: string;\n /** Resource Type. */\n resourceType?: string;\n}\n\n/** Connectivity group item. */\nexport interface ConnectivityGroupItem {\n /** Network group Id. */\n networkGroupId: string;\n /** Flag if need to use hub gateway. */\n useHubGateway?: \"False\" | \"True\";\n /** Flag if global is supported. */\n isGlobal?: \"False\" | \"True\";\n /** Group connectivity type. */\n groupConnectivity: \"None\" | \"DirectlyConnected\";\n}\n\n/** Properties of network group */\nexport interface NetworkGroupProperties {\n /** A description of the network group. */\n description?: string;\n}\n\n/** Network manager security group item. */\nexport interface NetworkManagerSecurityGroupItem {\n /** Network manager group Id. */\n networkGroupId: string;\n}\n\n/** The Network Manager Connection resource */\nexport interface NetworkManagerConnection extends ChildResource {\n /** The scope connection properties */\n properties?: NetworkManagerConnectionProperties;\n}\n\n/** Information about the network manager connection. */\nexport interface NetworkManagerConnectionProperties {\n /** Network Manager Id. */\n networkManagerId?: string;\n /** A description of the network manager connection. */\n description?: string;\n}\n\n/** Proxy resource representation. */\nexport interface ChildResource {}\n\n/** The network manager connectivity configuration resource */\nexport interface ConnectivityConfiguration extends ChildResource {\n /** Properties of a network manager connectivity configuration */\n properties?: ConnectivityConfigurationProperties;\n}\n\n/** Query Request Options */\nexport interface QueryRequestOptions {\n /** When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. */\n skipToken?: string;\n}\n\n/** The network group resource */\nexport interface NetworkGroup extends ChildResource {\n /** The Network Group properties */\n properties?: NetworkGroupProperties;\n}\n\n/** StaticMember Item. */\nexport interface StaticMember extends ChildResource {\n /** The Static Member properties */\n properties?: StaticMemberProperties;\n}\n\n/** Properties of static member. */\nexport interface StaticMemberProperties {\n /** Resource Id. */\n resourceId?: string;\n}\n\n/** The Scope Connections resource */\nexport interface ScopeConnection extends ChildResource {\n /** The scope connection properties */\n properties?: ScopeConnectionProperties;\n}\n\n/** Scope connection. */\nexport interface ScopeConnectionProperties {\n /** Tenant ID. */\n tenantId?: string;\n /** Resource ID. */\n resourceId?: string;\n /** A description of the scope connection. */\n description?: string;\n}\n\n/** Defines the security admin configuration */\nexport interface SecurityAdminConfiguration extends ChildResource {\n /** Indicates the properties for the network manager security admin configuration. */\n properties?: SecurityAdminConfigurationPropertiesFormat;\n}\n\n/** Defines the security admin configuration properties. */\nexport interface SecurityAdminConfigurationPropertiesFormat {\n /** A description of the security configuration. */\n description?: string;\n /** Enum list of network intent policy based services. */\n applyOnNetworkIntentPolicyBasedServices?: Array<\"None\" | \"All\" | \"AllowRulesOnly\">;\n}\n\n/** Defines the admin rule collection. */\nexport interface AdminRuleCollection extends ChildResource {\n /** Indicates the properties for the network manager admin rule collection. */\n properties?: AdminRuleCollectionPropertiesFormat;\n}\n\n/** Defines the admin rule collection properties. */\nexport interface AdminRuleCollectionPropertiesFormat {\n /** A description of the admin rule collection. */\n description?: string;\n /** Groups for configuration */\n appliesToGroups: Array<NetworkManagerSecurityGroupItem>;\n}\n\n/** Network base admin rule. */\nexport interface BaseAdminRuleParent extends ChildResource {\n kind: \"BaseAdminRule\" | \"Custom\" | \"Default\";\n}\n\n/** Network profile resource. */\nexport interface NetworkProfile extends Resource {\n /** Network profile properties. */\n properties?: NetworkProfilePropertiesFormat;\n}\n\n/** Network profile properties. */\nexport interface NetworkProfilePropertiesFormat {\n /** List of chid container network interface configurations. */\n containerNetworkInterfaceConfigurations?: Array<ContainerNetworkInterfaceConfiguration>;\n}\n\n/** Container network interface child resource. */\nexport interface ContainerNetworkInterface extends SubResource {\n /** Container network interface properties. */\n properties?: ContainerNetworkInterfacePropertiesFormat;\n /** The name of the resource. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of container network interface. */\nexport interface ContainerNetworkInterfacePropertiesFormat {\n /** Reference to the container to which this container network interface is attached. */\n container?: Container;\n}\n\n/** Container network interface configuration child resource. */\nexport interface ContainerNetworkInterfaceConfiguration extends SubResource {\n /** Container network interface configuration properties. */\n properties?: ContainerNetworkInterfaceConfigurationPropertiesFormat;\n /** The name of the resource. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Container network interface configuration properties. */\nexport interface ContainerNetworkInterfaceConfigurationPropertiesFormat {\n /** A list of ip configurations of the container network interface configuration. */\n ipConfigurations?: Array<IPConfigurationProfile>;\n /** A list of container network interfaces created from this container network interface configuration. */\n containerNetworkInterfaces?: Array<SubResource>;\n}\n\n/** Reference to container resource in remote resource provider. */\nexport interface Container extends SubResource {}\n\n/** The ip configuration for a container network interface. */\nexport interface ContainerNetworkInterfaceIpConfiguration {\n /** Properties of the container network interface IP configuration. */\n properties?: ContainerNetworkInterfaceIpConfigurationPropertiesFormat;\n /** The name of the resource. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the container network interface IP configuration. */\nexport interface ContainerNetworkInterfaceIpConfigurationPropertiesFormat {}\n\n/** NetworkVirtualAppliance Resource. */\nexport interface NetworkVirtualAppliance extends Resource {\n /** Properties of the Network Virtual Appliance. */\n properties?: NetworkVirtualAppliancePropertiesFormat;\n /** The service principal that has read access to cloud-init and config blob. */\n identity?: ManagedServiceIdentity;\n}\n\n/** Network Virtual Appliance definition. */\nexport interface NetworkVirtualAppliancePropertiesFormat {\n /** Network Virtual Appliance SKU. */\n nvaSku?: VirtualApplianceSkuProperties;\n /** BootStrapConfigurationBlobs storage URLs. */\n bootStrapConfigurationBlobs?: Array<string>;\n /** The Virtual Hub where Network Virtual Appliance is being deployed. */\n virtualHub?: SubResource;\n /** CloudInitConfigurationBlob storage URLs. */\n cloudInitConfigurationBlobs?: Array<string>;\n /** CloudInitConfiguration string in plain text. */\n cloudInitConfiguration?: string;\n /** VirtualAppliance ASN. */\n virtualApplianceAsn?: number;\n /** Public key for SSH login. */\n sshPublicKey?: string;\n}\n\n/** Network Virtual Appliance Sku Properties. */\nexport interface VirtualApplianceSkuProperties {\n /** Virtual Appliance Vendor. */\n vendor?: string;\n /** Virtual Appliance Scale Unit. */\n bundledScaleUnit?: string;\n /** Virtual Appliance Version. */\n marketPlaceVersion?: string;\n}\n\n/** Network Virtual Appliance NIC properties. */\nexport interface VirtualApplianceNicProperties {}\n\n/** Virtual Appliance Site resource. */\nexport interface VirtualApplianceSite extends SubResource {\n /** The properties of the Virtual Appliance Sites. */\n properties?: VirtualApplianceSiteProperties;\n /** Name of the virtual appliance site. */\n name?: string;\n}\n\n/** Properties of the rule group. */\nexport interface VirtualApplianceSiteProperties {\n /** Address Prefix. */\n addressPrefix?: string;\n /** Office 365 Policy. */\n o365Policy?: Office365PolicyProperties;\n}\n\n/** Network Virtual Appliance Sku Properties. */\nexport interface Office365PolicyProperties {\n /** Office 365 breakout categories. */\n breakOutCategories?: BreakOutCategoryPolicies;\n}\n\n/** Network Virtual Appliance Sku Properties. */\nexport interface BreakOutCategoryPolicies {\n /** Flag to control breakout of o365 allow category. */\n allow?: boolean;\n /** Flag to control breakout of o365 optimize category. */\n optimize?: boolean;\n /** Flag to control breakout of o365 default category. */\n default?: boolean;\n}\n\n/** Definition of the NetworkVirtualApplianceSkus resource. */\nexport interface NetworkVirtualApplianceSku extends Resource {\n /** NetworkVirtualApplianceSku properties. */\n properties?: NetworkVirtualApplianceSkuPropertiesFormat;\n}\n\n/** Properties specific to NetworkVirtualApplianceSkus. */\nexport interface NetworkVirtualApplianceSkuPropertiesFormat {\n /** The list of scale units available. */\n availableScaleUnits?: Array<NetworkVirtualApplianceSkuInstances>;\n}\n\n/** List of available Sku and instances. */\nexport interface NetworkVirtualApplianceSkuInstances {}\n\n/** NVA Inbound Security Rule resource. */\nexport interface InboundSecurityRule extends SubResource {\n /** The properties of the Inbound Security Rules. */\n properties?: InboundSecurityRuleProperties;\n /** Name of security rule collection. */\n name?: string;\n}\n\n/** Properties of the Inbound Security Rules resource. */\nexport interface InboundSecurityRuleProperties {\n /** List of allowed rules. */\n rules?: Array<InboundSecurityRules>;\n}\n\n/** Properties of the Inbound Security Rules resource. */\nexport interface InboundSecurityRules {\n /** Protocol. This should be either TCP or UDP. */\n protocol?: \"TCP\" | \"UDP\";\n /** The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed. */\n sourceAddressPrefix?: string;\n /** NVA port ranges to be opened up. One needs to provide specific ports. */\n destinationPortRange?: number;\n}\n\n/** Network watcher in a resource group. */\nexport interface NetworkWatcher extends Resource {\n /** Properties of the network watcher. */\n properties?: NetworkWatcherPropertiesFormat;\n}\n\n/** The network watcher properties. */\nexport interface NetworkWatcherPropertiesFormat {}\n\n/** Parameters that define the representation of topology. */\nexport interface TopologyParameters {\n /** The name of the target resource group to perform topology on. */\n targetResourceGroupName?: string;\n /** The reference to the Virtual Network resource. */\n targetVirtualNetwork?: SubResource;\n /** The reference to the Subnet resource. */\n targetSubnet?: SubResource;\n}\n\n/** Parameters that define the IP flow to be verified. */\nexport interface VerificationIPFlowParameters {\n /** The ID of the target resource to perform next-hop on. */\n targetResourceId: string;\n /** The direction of the packet represented as a 5-tuple. */\n direction: \"Inbound\" | \"Outbound\";\n /** Protocol to be verified on. */\n protocol: \"TCP\" | \"UDP\";\n /** The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. */\n localPort: string;\n /** The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. */\n remotePort: string;\n /** The local IP address. Acceptable values are valid IPv4 addresses. */\n localIPAddress: string;\n /** The remote IP address. Acceptable values are valid IPv4 addresses. */\n remoteIPAddress: string;\n /** The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional). */\n targetNicResourceId?: string;\n}\n\n/** Parameters that define the source and destination endpoint. */\nexport interface NextHopParameters {\n /** The resource identifier of the target resource against which the action is to be performed. */\n targetResourceId: string;\n /** The source IP address. */\n sourceIPAddress: string;\n /** The destination IP address. */\n destinationIPAddress: string;\n /** The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional). */\n targetNicResourceId?: string;\n}\n\n/** Parameters that define the VM to check security groups for. */\nexport interface SecurityGroupViewParameters {\n /** ID of the target VM. */\n targetResourceId: string;\n}\n\n/** Parameters that define the create packet capture operation. */\nexport interface PacketCapture {\n /** Properties of the packet capture. */\n properties: PacketCaptureParameters;\n}\n\n/** Parameters that define the create packet capture operation. */\nexport interface PacketCaptureParameters {\n /** The ID of the targeted resource, only AzureVM and AzureVMSS as target type are currently supported. */\n target: string;\n /** A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. */\n scope?: PacketCaptureMachineScope;\n /** Target type of the resource provided. */\n targetType?: \"AzureVM\" | \"AzureVMSS\";\n /** Number of bytes captured per packet, the remaining bytes are truncated. */\n bytesToCapturePerPacket?: number;\n /** Maximum size of the capture output. */\n totalBytesPerSession?: number;\n /** Maximum duration of the capture session in seconds. */\n timeLimitInSeconds?: number;\n /** The storage location for a packet capture session. */\n storageLocation: PacketCaptureStorageLocation;\n /** A list of packet capture filters. */\n filters?: Array<PacketCaptureFilter>;\n}\n\n/** A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. */\nexport interface PacketCaptureMachineScope {\n /** List of AzureVMSS instances to run packet capture on. */\n include?: Array<string>;\n /** List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. */\n exclude?: Array<string>;\n}\n\n/** The storage location for a packet capture session. */\nexport interface PacketCaptureStorageLocation {\n /** The ID of the storage account to save the packet capture session. Required if no local file path is provided. */\n storageId?: string;\n /** The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. */\n storagePath?: string;\n /** A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. */\n filePath?: string;\n}\n\n/** Filter that is applied to packet capture request. Multiple filters can be applied. */\nexport interface PacketCaptureFilter {\n /** Protocol to be filtered on. */\n protocol?: \"TCP\" | \"UDP\" | \"Any\";\n /** Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. */\n localIPAddress?: string;\n /** Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. */\n remoteIPAddress?: string;\n /** Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. */\n localPort?: string;\n /** Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. */\n remotePort?: string;\n}\n\n/** The properties of a packet capture session. */\nexport interface PacketCaptureResultProperties extends PacketCaptureParameters {}\n\n/** Parameters that define the resource to troubleshoot. */\nexport interface TroubleshootingParameters {\n /** The target resource to troubleshoot. */\n targetResourceId: string;\n /** Properties of the troubleshooting resource. */\n properties: TroubleshootingProperties;\n}\n\n/** Storage location provided for troubleshoot. */\nexport interface TroubleshootingProperties {\n /** The ID for the storage account to save the troubleshoot result. */\n storageId: string;\n /** The path to the blob to save the troubleshoot result in. */\n storagePath: string;\n}\n\n/** Parameters that define the resource to query the troubleshooting result. */\nexport interface QueryTroubleshootingParameters {\n /** The target resource ID to query the troubleshooting result. */\n targetResourceId: string;\n}\n\n/** Information on the configuration of flow log and traffic analytics (optional) . */\nexport interface FlowLogInformation {\n /** The ID of the resource to configure for flow log and traffic analytics (optional) . */\n targetResourceId: string;\n /** Properties of the flow log. */\n properties: FlowLogProperties;\n /** Parameters that define the configuration of traffic analytics. */\n flowAnalyticsConfiguration?: TrafficAnalyticsProperties;\n}\n\n/** Parameters that define the configuration of flow log. */\nexport interface FlowLogProperties {\n /** ID of the storage account which is used to store the flow log. */\n storageId: string;\n /** Flag to enable/disable flow logging. */\n enabled: boolean;\n /** Parameters that define the retention policy for flow log. */\n retentionPolicy?: RetentionPolicyParameters;\n /** Parameters that define the flow log format. */\n format?: FlowLogFormatParameters;\n}\n\n/** Parameters that define a resource to query flow log and traffic analytics (optional) status. */\nexport interface FlowLogStatusParameters {\n /** The target resource where getting the flow log and traffic analytics (optional) status. */\n targetResourceId: string;\n}\n\n/** Parameters that determine how the connectivity check will be performed. */\nexport interface ConnectivityParameters {\n /** The source of the connection. */\n source: ConnectivitySource;\n /** The destination of connection. */\n destination: ConnectivityDestination;\n /** Network protocol. */\n protocol?: \"Tcp\" | \"Http\" | \"Https\" | \"Icmp\";\n /** Configuration of the protocol. */\n protocolConfiguration?: ProtocolConfiguration;\n /** Preferred IP version of the connection. */\n preferredIPVersion?: \"IPv4\" | \"IPv6\";\n}\n\n/** Parameters that define the source of the connection. */\nexport interface ConnectivitySource {\n /** The ID of the resource from which a connectivity check will be initiated. */\n resourceId: string;\n /** The source port from which a connectivity check will be performed. */\n port?: number;\n}\n\n/** Parameters that define destination of connection. */\nexport interface ConnectivityDestination {\n /** The ID of the resource to which a connection attempt will be made. */\n resourceId?: string;\n /** The IP address or URI the resource to which a connection attempt will be made. */\n address?: string;\n /** Port on which check connectivity will be performed. */\n port?: number;\n}\n\n/** Configuration of the protocol. */\nexport interface ProtocolConfiguration {\n /** HTTP configuration of the connectivity check. */\n HTTPConfiguration?: HttpConfiguration;\n}\n\n/** HTTP configuration of the connectivity check. */\nexport interface HttpConfiguration {\n /** HTTP method. */\n method?: \"Get\";\n /** List of HTTP headers. */\n headers?: Array<HttpHeader>;\n /** Valid status codes. */\n validStatusCodes?: Array<number>;\n}\n\n/** The HTTP header. */\nexport interface HttpHeader {\n /** The name in HTTP header. */\n name?: string;\n /** The value in HTTP header. */\n value?: string;\n}\n\n/** Geographic and time constraints for Azure reachability report. */\nexport interface AzureReachabilityReportParameters {\n /** Parameters that define a geographic location. */\n providerLocation: AzureReachabilityReportLocation;\n /** List of Internet service providers. */\n providers?: Array<string>;\n /** Optional Azure regions to scope the query to. */\n azureLocations?: Array<string>;\n /** The start time for the Azure reachability report. */\n startTime: Date | string;\n /** The end time for the Azure reachability report. */\n endTime: Date | string;\n}\n\n/** Parameters that define a geographic location. */\nexport interface AzureReachabilityReportLocation {\n /** The name of the country. */\n country: string;\n /** The name of the state. */\n state?: string;\n /** The name of the city or town. */\n city?: string;\n}\n\n/** Constraints that determine the list of available Internet service providers. */\nexport interface AvailableProvidersListParameters {\n /** A list of Azure regions. */\n azureLocations?: Array<string>;\n /** The country for available providers list. */\n country?: string;\n /** The state for available providers list. */\n state?: string;\n /** The city or town for available providers list. */\n city?: string;\n}\n\n/** Parameters to get network configuration diagnostic. */\nexport interface NetworkConfigurationDiagnosticParameters {\n /** The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway. */\n targetResourceId: string;\n /** Verbosity level. */\n verbosityLevel?: \"Normal\" | \"Minimum\" | \"Full\";\n /** List of network configuration diagnostic profiles. */\n profiles: Array<NetworkConfigurationDiagnosticProfile>;\n}\n\n/** Parameters to compare with network configuration. */\nexport interface NetworkConfigurationDiagnosticProfile {\n /** The direction of the traffic. */\n direction: \"Inbound\" | \"Outbound\";\n /** Protocol to be verified on. Accepted values are '*', TCP, UDP. */\n protocol: string;\n /** Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. */\n source: string;\n /** Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag. */\n destination: string;\n /** Traffic destination port. Accepted values are '*' and a single port in the range (0 - 65535). */\n destinationPort: string;\n}\n\n/** Parameters that define the operation to create a connection monitor. */\nexport interface ConnectionMonitor {\n /** Connection monitor location. */\n location?: string;\n /** Connection monitor tags. */\n tags?: Record<string, string>;\n /** Properties of the connection monitor. */\n properties: ConnectionMonitorParameters;\n}\n\n/** Parameters that define the operation to create a connection monitor. */\nexport interface ConnectionMonitorParameters {\n /** Describes the source of connection monitor. */\n source?: ConnectionMonitorSource;\n /** Describes the destination of connection monitor. */\n destination?: ConnectionMonitorDestination;\n /** Determines if the connection monitor will start automatically once created. */\n autoStart?: boolean;\n /** Monitoring interval in seconds. */\n monitoringIntervalInSeconds?: number;\n /** List of connection monitor endpoints. */\n endpoints?: Array<ConnectionMonitorEndpoint>;\n /** List of connection monitor test configurations. */\n testConfigurations?: Array<ConnectionMonitorTestConfiguration>;\n /** List of connection monitor test groups. */\n testGroups?: Array<ConnectionMonitorTestGroup>;\n /** List of connection monitor outputs. */\n outputs?: Array<ConnectionMonitorOutput>;\n /** Optional notes to be associated with the connection monitor. */\n notes?: string;\n}\n\n/** Describes the source of connection monitor. */\nexport interface ConnectionMonitorSource {\n /** The ID of the resource used as the source by connection monitor. */\n resourceId: string;\n /** The source port used by connection monitor. */\n port?: number;\n}\n\n/** Describes the destination of connection monitor. */\nexport interface ConnectionMonitorDestination {\n /** The ID of the resource used as the destination by connection monitor. */\n resourceId?: string;\n /** Address of the connection monitor destination (IP or domain name). */\n address?: string;\n /** The destination port used by connection monitor. */\n port?: number;\n}\n\n/** Describes the connection monitor endpoint. */\nexport interface ConnectionMonitorEndpoint {\n /** The name of the connection monitor endpoint. */\n name: string;\n /** The endpoint type. */\n type?:\n | \"AzureVM\"\n | \"AzureVNet\"\n | \"AzureSubnet\"\n | \"ExternalAddress\"\n | \"MMAWorkspaceMachine\"\n | \"MMAWorkspaceNetwork\"\n | \"AzureArcVM\"\n | \"AzureVMSS\";\n /** Resource ID of the connection monitor endpoint. */\n resourceId?: string;\n /** Address of the connection monitor endpoint (IP or domain name). */\n address?: string;\n /** Filter for sub-items within the endpoint. */\n filter?: ConnectionMonitorEndpointFilter;\n /** Endpoint scope. */\n scope?: ConnectionMonitorEndpointScope;\n /** Test coverage for the endpoint. */\n coverageLevel?: \"Default\" | \"Low\" | \"BelowAverage\" | \"Average\" | \"AboveAverage\" | \"Full\";\n}\n\n/** Describes the connection monitor endpoint filter. */\nexport interface ConnectionMonitorEndpointFilter {\n /** The behavior of the endpoint filter. Currently only 'Include' is supported. */\n type?: \"Include\";\n /** List of items in the filter. */\n items?: Array<ConnectionMonitorEndpointFilterItem>;\n}\n\n/** Describes the connection monitor endpoint filter item. */\nexport interface ConnectionMonitorEndpointFilterItem {\n /** The type of item included in the filter. Currently only 'AgentAddress' is supported. */\n type?: \"AgentAddress\";\n /** The address of the filter item. */\n address?: string;\n}\n\n/** Describes the connection monitor endpoint scope. */\nexport interface ConnectionMonitorEndpointScope {\n /** List of items which needs to be included to the endpoint scope. */\n include?: Array<ConnectionMonitorEndpointScopeItem>;\n /** List of items which needs to be excluded from the endpoint scope. */\n exclude?: Array<ConnectionMonitorEndpointScopeItem>;\n}\n\n/** Describes the connection monitor endpoint scope item. */\nexport interface ConnectionMonitorEndpointScopeItem {\n /** The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address. */\n address?: string;\n}\n\n/** Describes a connection monitor test configuration. */\nexport interface ConnectionMonitorTestConfiguration {\n /** The name of the connection monitor test configuration. */\n name: string;\n /** The frequency of test evaluation, in seconds. */\n testFrequencySec?: number;\n /** The protocol to use in test evaluation. */\n protocol: \"Tcp\" | \"Http\" | \"Icmp\";\n /** The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters. */\n preferredIPVersion?: \"IPv4\" | \"IPv6\";\n /** The parameters used to perform test evaluation over HTTP. */\n httpConfiguration?: ConnectionMonitorHttpConfiguration;\n /** The parameters used to perform test evaluation over TCP. */\n tcpConfiguration?: ConnectionMonitorTcpConfiguration;\n /** The parameters used to perform test evaluation over ICMP. */\n icmpConfiguration?: ConnectionMonitorIcmpConfiguration;\n /** The threshold for declaring a test successful. */\n successThreshold?: ConnectionMonitorSuccessThreshold;\n}\n\n/** Describes the HTTP configuration. */\nexport interface ConnectionMonitorHttpConfiguration {\n /** The port to connect to. */\n port?: number;\n /** The HTTP method to use. */\n method?: \"Get\" | \"Post\";\n /** The path component of the URI. For instance, \"/dir1/dir2\". */\n path?: string;\n /** The HTTP headers to transmit with the request. */\n requestHeaders?: Array<HttpHeader>;\n /** HTTP status codes to consider successful. For instance, \"2xx,301-304,418\". */\n validStatusCodeRanges?: Array<string>;\n /** Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit. */\n preferHTTPS?: boolean;\n}\n\n/** Describes the TCP configuration. */\nexport interface ConnectionMonitorTcpConfiguration {\n /** The port to connect to. */\n port?: number;\n /** Value indicating whether path evaluation with trace route should be disabled. */\n disableTraceRoute?: boolean;\n /** Destination port behavior. */\n destinationPortBehavior?: \"None\" | \"ListenIfAvailable\";\n}\n\n/** Describes the ICMP configuration. */\nexport interface ConnectionMonitorIcmpConfiguration {\n /** Value indicating whether path evaluation with trace route should be disabled. */\n disableTraceRoute?: boolean;\n}\n\n/** Describes the threshold for declaring a test successful. */\nexport interface ConnectionMonitorSuccessThreshold {\n /** The maximum percentage of failed checks permitted for a test to evaluate as successful. */\n checksFailedPercent?: number;\n /** The maximum round-trip time in milliseconds permitted for a test to evaluate as successful. */\n roundTripTimeMs?: number;\n}\n\n/** Describes the connection monitor test group. */\nexport interface ConnectionMonitorTestGroup {\n /** The name of the connection monitor test group. */\n name: string;\n /** Value indicating whether test group is disabled. */\n disable?: boolean;\n /** List of test configuration names. */\n testConfigurations: Array<string>;\n /** List of source endpoint names. */\n sources: Array<string>;\n /** List of destination endpoint names. */\n destinations: Array<string>;\n}\n\n/** Describes a connection monitor output destination. */\nexport interface ConnectionMonitorOutput {\n /** Connection monitor output destination type. Currently, only \"Workspace\" is supported. */\n type?: \"Workspace\";\n /** Describes the settings for producing output into a log analytics workspace. */\n workspaceSettings?: ConnectionMonitorWorkspaceSettings;\n}\n\n/** Describes the settings for producing output into a log analytics workspace. */\nexport interface ConnectionMonitorWorkspaceSettings {\n /** Log analytics workspace resource ID. */\n workspaceResourceId?: string;\n}\n\n/** Describes the properties of a connection monitor. */\nexport interface ConnectionMonitorResultProperties extends ConnectionMonitorParameters {}\n\n/** Private dns zone group resource. */\nexport interface PrivateDnsZoneGroup extends SubResource {\n /** Name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** Properties of the private dns zone group. */\n properties?: PrivateDnsZoneGroupPropertiesFormat;\n}\n\n/** Properties of the private dns zone group. */\nexport interface PrivateDnsZoneGroupPropertiesFormat {\n /** A collection of private dns zone configurations of the private dns zone group. */\n privateDnsZoneConfigs?: Array<PrivateDnsZoneConfig>;\n}\n\n/** PrivateDnsZoneConfig resource. */\nexport interface PrivateDnsZoneConfig {\n /** Name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** Properties of the private dns zone configuration. */\n properties?: PrivateDnsZonePropertiesFormat;\n}\n\n/** Properties of the private dns zone configuration resource. */\nexport interface PrivateDnsZonePropertiesFormat {\n /** The resource id of the private dns zone. */\n privateDnsZoneId?: string;\n}\n\n/** A collective group of information about the record set information. */\nexport interface RecordSet {\n /** Resource record type. */\n recordType?: string;\n /** Recordset name. */\n recordSetName?: string;\n /** Fqdn that resolves to private endpoint ip address. */\n fqdn?: string;\n /** Recordset time to live. */\n ttl?: number;\n /** The private ip address of the private endpoint. */\n ipAddresses?: Array<string>;\n}\n\n/** Request body of the CheckPrivateLinkServiceVisibility API service call. */\nexport interface CheckPrivateLinkServiceVisibilityRequest {\n /** The alias of the private link service. */\n privateLinkServiceAlias?: string;\n}\n\n/** Public IP prefix resource. */\nexport interface PublicIPPrefix extends Resource {\n /** The extended location of the public ip address. */\n extendedLocation?: ExtendedLocation;\n /** The public IP prefix SKU. */\n sku?: PublicIPPrefixSku;\n /** Public IP prefix properties. */\n properties?: PublicIPPrefixPropertiesFormat;\n /** A list of availability zones denoting the IP allocated for the resource needs to come from. */\n zones?: Array<string>;\n}\n\n/** SKU of a public IP prefix. */\nexport interface PublicIPPrefixSku {\n /** Name of a public IP prefix SKU. */\n name?: \"Standard\";\n /** Tier of a public IP prefix SKU. */\n tier?: \"Regional\" | \"Global\";\n}\n\n/** Public IP prefix properties. */\nexport interface PublicIPPrefixPropertiesFormat {\n /** The public IP address version. */\n publicIPAddressVersion?: \"IPv4\" | \"IPv6\";\n /** The list of tags associated with the public IP prefix. */\n ipTags?: Array<IpTag>;\n /** The Length of the Public IP Prefix. */\n prefixLength?: number;\n /** The customIpPrefix that this prefix is associated with. */\n customIPPrefix?: SubResource;\n /** NatGateway of Public IP Prefix. */\n natGateway?: NatGateway;\n}\n\n/** Reference to a public IP address. */\nexport interface ReferencedPublicIpAddress {\n /** The PublicIPAddress Reference. */\n id?: string;\n}\n\n/** Route Filter Resource. */\nexport interface RouteFilter extends Resource {\n /** Properties of the route filter. */\n properties?: RouteFilterPropertiesFormat;\n}\n\n/** Route Filter Resource. */\nexport interface RouteFilterPropertiesFormat {\n /** Collection of RouteFilterRules contained within a route filter. */\n rules?: Array<RouteFilterRule>;\n}\n\n/** Route Filter Rule Resource. */\nexport interface RouteFilterRule extends SubResource {\n /** Properties of the route filter rule. */\n properties?: RouteFilterRulePropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** Resource location. */\n location?: string;\n}\n\n/** Route Filter Rule Resource. */\nexport interface RouteFilterRulePropertiesFormat {\n /** The access type of the rule. */\n access: \"Allow\" | \"Deny\";\n /** The rule type of the rule. */\n routeFilterRuleType: \"Community\";\n /** The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. */\n communities: Array<string>;\n}\n\n/** Security Partner Provider resource. */\nexport interface SecurityPartnerProvider extends Resource {\n /** Properties of the Security Partner Provider. */\n properties?: SecurityPartnerProviderPropertiesFormat;\n}\n\n/** Properties of the Security Partner Provider. */\nexport interface SecurityPartnerProviderPropertiesFormat {\n /** The security provider name. */\n securityProviderName?: \"ZScaler\" | \"IBoss\" | \"Checkpoint\";\n /** The virtualHub to which the Security Partner Provider belongs. */\n virtualHub?: SubResource;\n}\n\n/** Service Community Properties. */\nexport interface BgpServiceCommunity extends Resource {\n /** Properties of the BGP service community. */\n properties?: BgpServiceCommunityPropertiesFormat;\n}\n\n/** Properties of Service Community. */\nexport interface BgpServiceCommunityPropertiesFormat {\n /** The name of the bgp community. e.g. Skype. */\n serviceName?: string;\n /** A list of bgp communities. */\n bgpCommunities?: Array<BGPCommunity>;\n}\n\n/** Contains bgp community information offered in Service Community resources. */\nexport interface BGPCommunity {\n /** The region which the service support. e.g. For O365, region is Global. */\n serviceSupportedRegion?: string;\n /** The name of the bgp community. e.g. Skype. */\n communityName?: string;\n /** The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. */\n communityValue?: string;\n /** The prefixes that the bgp community contains. */\n communityPrefixes?: Array<string>;\n /** Customer is authorized to use bgp community or not. */\n isAuthorizedToUse?: boolean;\n /** The service group of the bgp community contains. */\n serviceGroup?: string;\n}\n\n/** Virtual Network resource. */\nexport interface VirtualNetwork extends Resource {\n /** The extended location of the virtual network. */\n extendedLocation?: ExtendedLocation;\n /** Properties of the virtual network. */\n properties?: VirtualNetworkPropertiesFormat;\n}\n\n/** Properties of the virtual network. */\nexport interface VirtualNetworkPropertiesFormat {\n /** The AddressSpace that contains an array of IP address ranges that can be used by subnets. */\n addressSpace?: AddressSpace;\n /** The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. */\n dhcpOptions?: DhcpOptions;\n /** The FlowTimeout value (in minutes) for the Virtual Network */\n flowTimeoutInMinutes?: number;\n /** A list of subnets in a Virtual Network. */\n subnets?: Array<Subnet>;\n /** A list of peerings in a Virtual Network. */\n virtualNetworkPeerings?: Array<VirtualNetworkPeering>;\n /** Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource. */\n enableDdosProtection?: boolean;\n /** Indicates if VM protection is enabled for all the subnets in the virtual network. */\n enableVmProtection?: boolean;\n /** The DDoS protection plan associated with the virtual network. */\n ddosProtectionPlan?: SubResource;\n /** Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. */\n bgpCommunities?: VirtualNetworkBgpCommunities;\n /** Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet. */\n encryption?: VirtualNetworkEncryption;\n /** Array of IpAllocation which reference this VNET. */\n ipAllocations?: Array<SubResource>;\n}\n\n/** AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. */\nexport interface AddressSpace {\n /** A list of address blocks reserved for this virtual network in CIDR notation. */\n addressPrefixes?: Array<string>;\n}\n\n/** 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. */\nexport interface DhcpOptions {\n /** The list of DNS servers IP addresses. */\n dnsServers?: Array<string>;\n}\n\n/** Peerings in a virtual network resource. */\nexport interface VirtualNetworkPeering extends SubResource {\n /** Properties of the virtual network peering. */\n properties?: VirtualNetworkPeeringPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n /** Resource type. */\n type?: string;\n}\n\n/** Properties of the virtual network peering. */\nexport interface VirtualNetworkPeeringPropertiesFormat {\n /** Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. */\n allowVirtualNetworkAccess?: boolean;\n /** Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. */\n allowForwardedTraffic?: boolean;\n /** If gateway links can be used in remote virtual networking to link to this virtual network. */\n allowGatewayTransit?: boolean;\n /** If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. */\n useRemoteGateways?: boolean;\n /** 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). */\n remoteVirtualNetwork?: SubResource;\n /** The reference to the address space peered with the remote virtual network. */\n remoteAddressSpace?: AddressSpace;\n /** The reference to the current address space of the remote virtual network. */\n remoteVirtualNetworkAddressSpace?: AddressSpace;\n /** The reference to the remote virtual network's Bgp Communities. */\n remoteBgpCommunities?: VirtualNetworkBgpCommunities;\n /** The status of the virtual network peering. */\n peeringState?: \"Initiated\" | \"Connected\" | \"Disconnected\";\n /** The peering sync status of the virtual network peering. */\n peeringSyncLevel?:\n | \"FullyInSync\"\n | \"RemoteNotInSync\"\n | \"LocalNotInSync\"\n | \"LocalAndRemoteNotInSync\";\n /** If we need to verify the provisioning state of the remote gateway. */\n doNotVerifyRemoteGateways?: boolean;\n}\n\n/** Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. */\nexport interface VirtualNetworkBgpCommunities {\n /** The BGP community associated with the virtual network. */\n virtualNetworkCommunity: string;\n}\n\n/** Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet. */\nexport interface VirtualNetworkEncryption {\n /** Indicates if encryption is enabled on the virtual network. */\n enabled: boolean;\n /** If the encrypted VNet allows VM that does not support encryption */\n enforcement?: \"DropUnencrypted\" | \"AllowUnencrypted\";\n}\n\n/** Details of PrepareNetworkPolicies for Subnet. */\nexport interface PrepareNetworkPoliciesRequest {\n /** The name of the service for which subnet is being prepared for. */\n serviceName?: string;\n /** A list of NetworkIntentPolicyConfiguration. */\n networkIntentPolicyConfigurations?: Array<NetworkIntentPolicyConfiguration>;\n}\n\n/** Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. */\nexport interface NetworkIntentPolicyConfiguration {\n /** The name of the Network Intent Policy for storing in target subscription. */\n networkIntentPolicyName?: string;\n /** Source network intent policy. */\n sourceNetworkIntentPolicy?: NetworkIntentPolicy;\n}\n\n/** Network Intent Policy resource. */\nexport interface NetworkIntentPolicy extends Resource {}\n\n/** Details of UnprepareNetworkPolicies for Subnet. */\nexport interface UnprepareNetworkPoliciesRequest {\n /** The name of the service for which subnet is being unprepared for. */\n serviceName?: string;\n}\n\n/** A common class for general resource information. */\nexport interface VirtualNetworkGateway extends Resource {\n /** Properties of the virtual network gateway. */\n properties: VirtualNetworkGatewayPropertiesFormat;\n /** The extended location of type local virtual network gateway. */\n extendedLocation?: ExtendedLocation;\n}\n\n/** VirtualNetworkGateway properties. */\nexport interface VirtualNetworkGatewayPropertiesFormat {\n /** IP configurations for virtual network gateway. */\n ipConfigurations?: Array<VirtualNetworkGatewayIPConfiguration>;\n /** The type of this virtual network gateway. */\n gatewayType?: \"Vpn\" | \"ExpressRoute\" | \"LocalGateway\";\n /** The type of this virtual network gateway. */\n vpnType?: \"PolicyBased\" | \"RouteBased\";\n /** The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN. */\n vpnGatewayGeneration?: \"None\" | \"Generation1\" | \"Generation2\";\n /** Whether BGP is enabled for this virtual network gateway or not. */\n enableBgp?: boolean;\n /** Whether private IP needs to be enabled on this gateway for connections or not. */\n enablePrivateIpAddress?: boolean;\n /** ActiveActive flag. */\n activeActive?: boolean;\n /** disableIPSecReplayProtection flag. */\n disableIPSecReplayProtection?: boolean;\n /** 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. */\n gatewayDefaultSite?: SubResource;\n /** The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway. */\n sku?: VirtualNetworkGatewaySku;\n /** The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations. */\n vpnClientConfiguration?: VpnClientConfiguration;\n /** The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup for the gateway. */\n virtualNetworkGatewayPolicyGroups?: Array<VirtualNetworkGatewayPolicyGroup>;\n /** Virtual network gateway's BGP speaker settings. */\n bgpSettings?: BgpSettings;\n /** The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient. */\n customRoutes?: AddressSpace;\n /** Whether dns forwarding is enabled or not. */\n enableDnsForwarding?: boolean;\n /** Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet. */\n vNetExtendedLocationResourceId?: string;\n /** NatRules for virtual network gateway. */\n natRules?: Array<VirtualNetworkGatewayNatRule>;\n /** EnableBgpRouteTranslationForNat flag. */\n enableBgpRouteTranslationForNat?: boolean;\n}\n\n/** IP configuration for virtual network gateway. */\nexport interface VirtualNetworkGatewayIPConfiguration extends SubResource {\n /** Properties of the virtual network gateway ip configuration. */\n properties?: VirtualNetworkGatewayIPConfigurationPropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of VirtualNetworkGatewayIPConfiguration. */\nexport interface VirtualNetworkGatewayIPConfigurationPropertiesFormat {\n /** The private IP address allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** The reference to the subnet resource. */\n subnet?: SubResource;\n /** The reference to the public IP resource. */\n publicIPAddress?: SubResource;\n}\n\n/** VirtualNetworkGatewaySku details. */\nexport interface VirtualNetworkGatewaySku {\n /** Gateway SKU name. */\n name?:\n | \"Basic\"\n | \"HighPerformance\"\n | \"Standard\"\n | \"UltraPerformance\"\n | \"VpnGw1\"\n | \"VpnGw2\"\n | \"VpnGw3\"\n | \"VpnGw4\"\n | \"VpnGw5\"\n | \"VpnGw1AZ\"\n | \"VpnGw2AZ\"\n | \"VpnGw3AZ\"\n | \"VpnGw4AZ\"\n | \"VpnGw5AZ\"\n | \"ErGw1AZ\"\n | \"ErGw2AZ\"\n | \"ErGw3AZ\";\n /** Gateway SKU tier. */\n tier?:\n | \"Basic\"\n | \"HighPerformance\"\n | \"Standard\"\n | \"UltraPerformance\"\n | \"VpnGw1\"\n | \"VpnGw2\"\n | \"VpnGw3\"\n | \"VpnGw4\"\n | \"VpnGw5\"\n | \"VpnGw1AZ\"\n | \"VpnGw2AZ\"\n | \"VpnGw3AZ\"\n | \"VpnGw4AZ\"\n | \"VpnGw5AZ\"\n | \"ErGw1AZ\"\n | \"ErGw2AZ\"\n | \"ErGw3AZ\";\n}\n\n/** VpnClientConfiguration for P2S client. */\nexport interface VpnClientConfiguration {\n /** The reference to the address space resource which represents Address space for P2S VpnClient. */\n vpnClientAddressPool?: AddressSpace;\n /** VpnClientRootCertificate for virtual network gateway. */\n vpnClientRootCertificates?: Array<VpnClientRootCertificate>;\n /** VpnClientRevokedCertificate for Virtual network gateway. */\n vpnClientRevokedCertificates?: Array<VpnClientRevokedCertificate>;\n /** VpnClientProtocols for Virtual network gateway. */\n vpnClientProtocols?: Array<\"IkeV2\" | \"SSTP\" | \"OpenVPN\">;\n /** VPN authentication types for the virtual network gateway.. */\n vpnAuthenticationTypes?: Array<\"Certificate\" | \"Radius\" | \"AAD\">;\n /** VpnClientIpsecPolicies for virtual network gateway P2S client. */\n vpnClientIpsecPolicies?: Array<IpsecPolicy>;\n /** The radius server address property of the VirtualNetworkGateway resource for vpn client connection. */\n radiusServerAddress?: string;\n /** The radius secret property of the VirtualNetworkGateway resource for vpn client connection. */\n radiusServerSecret?: string;\n /** The radiusServers property for multiple radius server configuration. */\n radiusServers?: Array<RadiusServer>;\n /** The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. */\n aadTenant?: string;\n /** The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. */\n aadAudience?: string;\n /** The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. */\n aadIssuer?: string;\n /** per ip address pool connection policy for virtual network gateway P2S client. */\n vngClientConnectionConfigurations?: Array<VngClientConnectionConfiguration>;\n}\n\n/** VPN client root certificate of virtual network gateway. */\nexport interface VpnClientRootCertificate extends SubResource {\n /** Properties of the vpn client root certificate. */\n properties: VpnClientRootCertificatePropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of SSL certificates of application gateway. */\nexport interface VpnClientRootCertificatePropertiesFormat {\n /** The certificate public data. */\n publicCertData: string;\n}\n\n/** VPN client revoked certificate of virtual network gateway. */\nexport interface VpnClientRevokedCertificate extends SubResource {\n /** Properties of the vpn client revoked certificate. */\n properties?: VpnClientRevokedCertificatePropertiesFormat;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of the revoked VPN client certificate of virtual network gateway. */\nexport interface VpnClientRevokedCertificatePropertiesFormat {\n /** The revoked VPN client certificate thumbprint. */\n thumbprint?: string;\n}\n\n/** An IPSec Policy configuration for a virtual network gateway connection. */\nexport interface IpsecPolicy {\n /** The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. */\n saLifeTimeSeconds: number;\n /** The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel. */\n saDataSizeKilobytes: number;\n /** The IPSec encryption algorithm (IKE phase 1). */\n ipsecEncryption:\n | \"None\"\n | \"DES\"\n | \"DES3\"\n | \"AES128\"\n | \"AES192\"\n | \"AES256\"\n | \"GCMAES128\"\n | \"GCMAES192\"\n | \"GCMAES256\";\n /** The IPSec integrity algorithm (IKE phase 1). */\n ipsecIntegrity: \"MD5\" | \"SHA1\" | \"SHA256\" | \"GCMAES128\" | \"GCMAES192\" | \"GCMAES256\";\n /** The IKE encryption algorithm (IKE phase 2). */\n ikeEncryption: \"DES\" | \"DES3\" | \"AES128\" | \"AES192\" | \"AES256\" | \"GCMAES256\" | \"GCMAES128\";\n /** The IKE integrity algorithm (IKE phase 2). */\n ikeIntegrity: \"MD5\" | \"SHA1\" | \"SHA256\" | \"SHA384\" | \"GCMAES256\" | \"GCMAES128\";\n /** The DH Group used in IKE Phase 1 for initial SA. */\n dhGroup:\n | \"None\"\n | \"DHGroup1\"\n | \"DHGroup2\"\n | \"DHGroup14\"\n | \"DHGroup2048\"\n | \"ECP256\"\n | \"ECP384\"\n | \"DHGroup24\";\n /** The Pfs Group used in IKE Phase 2 for new child SA. */\n pfsGroup:\n | \"None\"\n | \"PFS1\"\n | \"PFS2\"\n | \"PFS2048\"\n | \"ECP256\"\n | \"ECP384\"\n | \"PFS24\"\n | \"PFS14\"\n | \"PFSMM\";\n}\n\n/** Radius Server Settings. */\nexport interface RadiusServer {\n /** The address of this radius server. */\n radiusServerAddress: string;\n /** The initial score assigned to this radius server. */\n radiusServerScore?: number;\n /** The secret used for this radius server. */\n radiusServerSecret?: string;\n}\n\n/** A vpn client connection configuration for client connection configuration. */\nexport interface VngClientConnectionConfiguration extends SubResource {\n /** Properties of the vpn client root certificate. */\n properties?: VngClientConnectionConfigurationProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of VngClientConnectionConfiguration. */\nexport interface VngClientConnectionConfigurationProperties {\n /** The reference to the address space resource which represents Address space for P2S VpnClient. */\n vpnClientAddressPool: AddressSpace;\n /** List of references to virtualNetworkGatewayPolicyGroups */\n virtualNetworkGatewayPolicyGroups: Array<SubResource>;\n}\n\n/** Parameters for VirtualNetworkGatewayPolicyGroup. */\nexport interface VirtualNetworkGatewayPolicyGroup extends SubResource {\n /** Properties of tVirtualNetworkGatewayPolicyGroup. */\n properties?: VirtualNetworkGatewayPolicyGroupProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Properties of VirtualNetworkGatewayPolicyGroup. */\nexport interface VirtualNetworkGatewayPolicyGroupProperties {\n /** Shows if this is a Default VirtualNetworkGatewayPolicyGroup or not. */\n isDefault: boolean;\n /** Priority for VirtualNetworkGatewayPolicyGroup. */\n priority: number;\n /** Multiple PolicyMembers for VirtualNetworkGatewayPolicyGroup. */\n policyMembers: Array<VirtualNetworkGatewayPolicyGroupMember>;\n}\n\n/** Vpn Client Connection configuration PolicyGroup member */\nexport interface VirtualNetworkGatewayPolicyGroupMember {\n /** Name of the VirtualNetworkGatewayPolicyGroupMember. */\n name?: string;\n /** The Vpn Policy member attribute type. */\n attributeType?: \"CertificateGroupId\" | \"AADGroupId\" | \"RadiusAzureGroupId\";\n /** The value of Attribute used for this VirtualNetworkGatewayPolicyGroupMember. */\n attributeValue?: string;\n}\n\n/** BGP settings details. */\nexport interface BgpSettings {\n /** The BGP speaker's ASN. */\n asn?: number;\n /** The BGP peering address and BGP identifier of this BGP speaker. */\n bgpPeeringAddress?: string;\n /** The weight added to routes learned from this BGP speaker. */\n peerWeight?: number;\n /** BGP peering address with IP configuration ID for virtual network gateway. */\n bgpPeeringAddresses?: Array<IPConfigurationBgpPeeringAddress>;\n}\n\n/** Properties of IPConfigurationBgpPeeringAddress. */\nexport interface IPConfigurationBgpPeeringAddress {\n /** The ID of IP configuration which belongs to gateway. */\n ipconfigurationId?: string;\n /** The list of custom BGP peering addresses which belong to IP configuration. */\n customBgpIpAddresses?: Array<string>;\n}\n\n/** VirtualNetworkGatewayNatRule Resource. */\nexport interface VirtualNetworkGatewayNatRule extends SubResource {\n /** Properties of the Virtual Network Gateway NAT rule. */\n properties?: VirtualNetworkGatewayNatRuleProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for VirtualNetworkGatewayNatRule. */\nexport interface VirtualNetworkGatewayNatRuleProperties {\n /** The type of NAT rule for VPN NAT. */\n type?: \"Static\" | \"Dynamic\";\n /** The Source NAT direction of a VPN NAT. */\n mode?: \"EgressSnat\" | \"IngressSnat\";\n /** The private IP address internal mapping for NAT. */\n internalMappings?: Array<VpnNatRuleMapping>;\n /** The private IP address external mapping for NAT. */\n externalMappings?: Array<VpnNatRuleMapping>;\n /** The IP Configuration ID this NAT rule applies to. */\n ipConfigurationId?: string;\n}\n\n/** Vpn NatRule mapping. */\nexport interface VpnNatRuleMapping {\n /** Address space for Vpn NatRule mapping. */\n addressSpace?: string;\n /** Port range for Vpn NatRule mapping. */\n portRange?: string;\n}\n\n/** A common class for general resource information. */\nexport interface VirtualNetworkGatewayConnectionListEntity extends Resource {\n /** Properties of the virtual network gateway connection. */\n properties: VirtualNetworkGatewayConnectionListEntityPropertiesFormat;\n}\n\n/** VirtualNetworkGatewayConnection properties. */\nexport interface VirtualNetworkGatewayConnectionListEntityPropertiesFormat {\n /** The authorizationKey. */\n authorizationKey?: string;\n /** The reference to virtual network gateway resource. */\n virtualNetworkGateway1: VirtualNetworkConnectionGatewayReference;\n /** The reference to virtual network gateway resource. */\n virtualNetworkGateway2?: VirtualNetworkConnectionGatewayReference;\n /** The reference to local network gateway resource. */\n localNetworkGateway2?: VirtualNetworkConnectionGatewayReference;\n /** Gateway connection type. */\n connectionType: \"IPsec\" | \"Vnet2Vnet\" | \"ExpressRoute\" | \"VPNClient\";\n /** Connection protocol used for this connection. */\n connectionProtocol?: \"IKEv2\" | \"IKEv1\";\n /** The routing weight. */\n routingWeight?: number;\n /** The connection mode for this connection. */\n connectionMode?: \"Default\" | \"ResponderOnly\" | \"InitiatorOnly\";\n /** The IPSec shared key. */\n sharedKey?: string;\n /** The reference to peerings resource. */\n peer?: SubResource;\n /** EnableBgp flag. */\n enableBgp?: boolean;\n /** GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection. */\n gatewayCustomBgpIpAddresses?: Array<GatewayCustomBgpIpAddressIpConfiguration>;\n /** Enable policy-based traffic selectors. */\n usePolicyBasedTrafficSelectors?: boolean;\n /** The IPSec Policies to be considered by this connection. */\n ipsecPolicies?: Array<IpsecPolicy>;\n /** The Traffic Selector Policies to be considered by this connection. */\n trafficSelectorPolicies?: Array<TrafficSelectorPolicy>;\n /** Bypass ExpressRoute Gateway for data forwarding. */\n expressRouteGatewayBypass?: boolean;\n /** Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. */\n enablePrivateLinkFastPath?: boolean;\n}\n\n/** A reference to VirtualNetworkGateway or LocalNetworkGateway resource. */\nexport interface VirtualNetworkConnectionGatewayReference {\n /** The ID of VirtualNetworkGateway or LocalNetworkGateway resource. */\n id: string;\n}\n\n/** VirtualNetworkGatewayConnection properties. */\nexport interface TunnelConnectionHealth {}\n\n/** GatewayCustomBgpIpAddressIpConfiguration for a virtual network gateway connection. */\nexport interface GatewayCustomBgpIpAddressIpConfiguration {\n /** The IpconfigurationId of ipconfiguration which belongs to gateway. */\n ipConfigurationId: string;\n /** The custom BgpPeeringAddress which belongs to IpconfigurationId. */\n customBgpIpAddress: string;\n}\n\n/** An traffic selector policy for a virtual network gateway connection. */\nexport interface TrafficSelectorPolicy {\n /** A collection of local address spaces in CIDR format. */\n localAddressRanges: Array<string>;\n /** A collection of remote address spaces in CIDR format. */\n remoteAddressRanges: Array<string>;\n}\n\n/** Vpn Client Parameters for package generation. */\nexport interface VpnClientParameters {\n /** VPN client Processor Architecture. */\n processorArchitecture?: \"Amd64\" | \"X86\";\n /** VPN client authentication method. */\n authenticationMethod?: \"EAPTLS\" | \"EAPMSCHAPv2\";\n /** The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication. */\n radiusServerAuthCertificate?: string;\n /** A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS. */\n clientRootCertificates?: Array<string>;\n}\n\n/** An IPSec parameters for a virtual network gateway P2S connection. */\nexport interface VpnClientIPsecParameters {\n /** The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. */\n saLifeTimeSeconds: number;\n /** The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. */\n saDataSizeKilobytes: number;\n /** The IPSec encryption algorithm (IKE phase 1). */\n ipsecEncryption:\n | \"None\"\n | \"DES\"\n | \"DES3\"\n | \"AES128\"\n | \"AES192\"\n | \"AES256\"\n | \"GCMAES128\"\n | \"GCMAES192\"\n | \"GCMAES256\";\n /** The IPSec integrity algorithm (IKE phase 1). */\n ipsecIntegrity: \"MD5\" | \"SHA1\" | \"SHA256\" | \"GCMAES128\" | \"GCMAES192\" | \"GCMAES256\";\n /** The IKE encryption algorithm (IKE phase 2). */\n ikeEncryption: \"DES\" | \"DES3\" | \"AES128\" | \"AES192\" | \"AES256\" | \"GCMAES256\" | \"GCMAES128\";\n /** The IKE integrity algorithm (IKE phase 2). */\n ikeIntegrity: \"MD5\" | \"SHA1\" | \"SHA256\" | \"SHA384\" | \"GCMAES256\" | \"GCMAES128\";\n /** The DH Group used in IKE Phase 1 for initial SA. */\n dhGroup:\n | \"None\"\n | \"DHGroup1\"\n | \"DHGroup2\"\n | \"DHGroup14\"\n | \"DHGroup2048\"\n | \"ECP256\"\n | \"ECP384\"\n | \"DHGroup24\";\n /** The Pfs Group used in IKE Phase 2 for new child SA. */\n pfsGroup:\n | \"None\"\n | \"PFS1\"\n | \"PFS2\"\n | \"PFS2048\"\n | \"ECP256\"\n | \"ECP384\"\n | \"PFS24\"\n | \"PFS14\"\n | \"PFSMM\";\n}\n\n/** Vpn device configuration script generation parameters. */\nexport interface VpnDeviceScriptParameters {\n /** The vendor for the vpn device. */\n vendor?: string;\n /** The device family for the vpn device. */\n deviceFamily?: string;\n /** The firmware version for the vpn device. */\n firmwareVersion?: string;\n}\n\n/** Start packet capture parameters on virtual network gateway. */\nexport interface VpnPacketCaptureStartParameters {\n /** Start Packet capture parameters. */\n filterData?: string;\n}\n\n/** Stop packet capture parameters. */\nexport interface VpnPacketCaptureStopParameters {\n /** SAS url for packet capture on virtual network gateway. */\n sasUrl?: string;\n}\n\n/** A common class for general resource information. */\nexport interface VirtualNetworkGatewayConnection extends Resource {\n /** Properties of the virtual network gateway connection. */\n properties: VirtualNetworkGatewayConnectionPropertiesFormat;\n}\n\n/** VirtualNetworkGatewayConnection properties. */\nexport interface VirtualNetworkGatewayConnectionPropertiesFormat {\n /** The authorizationKey. */\n authorizationKey?: string;\n /** The reference to virtual network gateway resource. */\n virtualNetworkGateway1: VirtualNetworkGateway;\n /** The reference to virtual network gateway resource. */\n virtualNetworkGateway2?: VirtualNetworkGateway;\n /** The reference to local network gateway resource. */\n localNetworkGateway2?: LocalNetworkGateway;\n /** List of ingress NatRules. */\n ingressNatRules?: Array<SubResource>;\n /** List of egress NatRules. */\n egressNatRules?: Array<SubResource>;\n /** Gateway connection type. */\n connectionType: \"IPsec\" | \"Vnet2Vnet\" | \"ExpressRoute\" | \"VPNClient\";\n /** Connection protocol used for this connection. */\n connectionProtocol?: \"IKEv2\" | \"IKEv1\";\n /** The routing weight. */\n routingWeight?: number;\n /** The dead peer detection timeout of this connection in seconds. */\n dpdTimeoutSeconds?: number;\n /** The connection mode for this connection. */\n connectionMode?: \"Default\" | \"ResponderOnly\" | \"InitiatorOnly\";\n /** The IPSec shared key. */\n sharedKey?: string;\n /** The reference to peerings resource. */\n peer?: SubResource;\n /** EnableBgp flag. */\n enableBgp?: boolean;\n /** GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection. */\n gatewayCustomBgpIpAddresses?: Array<GatewayCustomBgpIpAddressIpConfiguration>;\n /** Use private local Azure IP for the connection. */\n useLocalAzureIpAddress?: boolean;\n /** Enable policy-based traffic selectors. */\n usePolicyBasedTrafficSelectors?: boolean;\n /** The IPSec Policies to be considered by this connection. */\n ipsecPolicies?: Array<IpsecPolicy>;\n /** The Traffic Selector Policies to be considered by this connection. */\n trafficSelectorPolicies?: Array<TrafficSelectorPolicy>;\n /** Bypass ExpressRoute Gateway for data forwarding. */\n expressRouteGatewayBypass?: boolean;\n /** Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. */\n enablePrivateLinkFastPath?: boolean;\n}\n\n/** A common class for general resource information. */\nexport interface LocalNetworkGateway extends Resource {\n /** Properties of the local network gateway. */\n properties: LocalNetworkGatewayPropertiesFormat;\n}\n\n/** LocalNetworkGateway properties. */\nexport interface LocalNetworkGatewayPropertiesFormat {\n /** Local network site address space. */\n localNetworkAddressSpace?: AddressSpace;\n /** IP address of local network gateway. */\n gatewayIpAddress?: string;\n /** FQDN of local network gateway. */\n fqdn?: string;\n /** Local network gateway's BGP speaker settings. */\n bgpSettings?: BgpSettings;\n}\n\n/** Response for GetConnectionSharedKey API service call. */\nexport interface ConnectionSharedKey extends SubResource {\n /** The virtual network connection shared key value. */\n value: string;\n}\n\n/** The virtual network connection reset shared key. */\nexport interface ConnectionResetSharedKey {\n /** The virtual network connection reset shared key length, should between 1 and 128. */\n keyLength: number;\n}\n\n/** List of p2s vpn connections to be disconnected. */\nexport interface P2SVpnConnectionRequest {\n /** List of p2s vpn connection Ids. */\n vpnConnectionIds?: Array<string>;\n}\n\n/** VirtualRouter Resource. */\nexport interface VirtualRouter extends Resource {\n /** Properties of the Virtual Router. */\n properties?: VirtualRouterPropertiesFormat;\n}\n\n/** Virtual Router definition. */\nexport interface VirtualRouterPropertiesFormat {\n /** VirtualRouter ASN. */\n virtualRouterAsn?: number;\n /** VirtualRouter IPs. */\n virtualRouterIps?: Array<string>;\n /** The Subnet on which VirtualRouter is hosted. */\n hostedSubnet?: SubResource;\n /** The Gateway on which VirtualRouter is hosted. */\n hostedGateway?: SubResource;\n}\n\n/** Virtual Router Peering resource. */\nexport interface VirtualRouterPeering extends SubResource {\n /** The properties of the Virtual Router Peering. */\n properties?: VirtualRouterPeeringProperties;\n /** Name of the virtual router peering that is unique within a virtual router. */\n name?: string;\n}\n\n/** Properties of the rule group. */\nexport interface VirtualRouterPeeringProperties {\n /** Peer ASN. */\n peerAsn?: number;\n /** Peer IP. */\n peerIp?: string;\n}\n\n/** VirtualWAN Resource. */\nexport interface VirtualWAN extends Resource {\n /** Properties of the virtual WAN. */\n properties?: VirtualWanProperties;\n}\n\n/** Parameters for VirtualWAN. */\nexport interface VirtualWanProperties {\n /** Vpn encryption to be disabled or not. */\n disableVpnEncryption?: boolean;\n /** True if branch to branch traffic is allowed. */\n allowBranchToBranchTraffic?: boolean;\n /** True if Vnet to Vnet traffic is allowed. */\n allowVnetToVnetTraffic?: boolean;\n /** The type of the VirtualWAN. */\n type?: string;\n}\n\n/** VpnSite Resource. */\nexport interface VpnSite extends Resource {\n /** Properties of the VPN site. */\n properties?: VpnSiteProperties;\n}\n\n/** Parameters for VpnSite. */\nexport interface VpnSiteProperties {\n /** The VirtualWAN to which the vpnSite belongs. */\n virtualWan?: SubResource;\n /** The device properties. */\n deviceProperties?: DeviceProperties;\n /** The ip-address for the vpn-site. */\n ipAddress?: string;\n /** The key for vpn-site that can be used for connections. */\n siteKey?: string;\n /** The AddressSpace that contains an array of IP address ranges. */\n addressSpace?: AddressSpace;\n /** The set of bgp properties. */\n bgpProperties?: BgpSettings;\n /** IsSecuritySite flag. */\n isSecuritySite?: boolean;\n /** List of all vpn site links. */\n vpnSiteLinks?: Array<VpnSiteLink>;\n /** Office365 Policy. */\n o365Policy?: O365PolicyProperties;\n}\n\n/** List of properties of the device. */\nexport interface DeviceProperties {\n /** Name of the device Vendor. */\n deviceVendor?: string;\n /** Model of the device. */\n deviceModel?: string;\n /** Link speed. */\n linkSpeedInMbps?: number;\n}\n\n/** VpnSiteLink Resource. */\nexport interface VpnSiteLink extends SubResource {\n /** Properties of the VPN site link. */\n properties?: VpnSiteLinkProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for VpnSite. */\nexport interface VpnSiteLinkProperties {\n /** The link provider properties. */\n linkProperties?: VpnLinkProviderProperties;\n /** The ip-address for the vpn-site-link. */\n ipAddress?: string;\n /** FQDN of vpn-site-link. */\n fqdn?: string;\n /** The set of bgp properties. */\n bgpProperties?: VpnLinkBgpSettings;\n}\n\n/** List of properties of a link provider. */\nexport interface VpnLinkProviderProperties {\n /** Name of the link provider. */\n linkProviderName?: string;\n /** Link speed. */\n linkSpeedInMbps?: number;\n}\n\n/** BGP settings details for a link. */\nexport interface VpnLinkBgpSettings {\n /** The BGP speaker's ASN. */\n asn?: number;\n /** The BGP peering address and BGP identifier of this BGP speaker. */\n bgpPeeringAddress?: string;\n}\n\n/** The Office365 breakout policy. */\nexport interface O365PolicyProperties {\n /** Office365 breakout categories. */\n breakOutCategories?: O365BreakOutCategoryPolicies;\n}\n\n/** Office365 breakout categories. */\nexport interface O365BreakOutCategoryPolicies {\n /** Flag to control allow category. */\n allow?: boolean;\n /** Flag to control optimize category. */\n optimize?: boolean;\n /** Flag to control default category. */\n default?: boolean;\n}\n\n/** List of Vpn-Sites. */\nexport interface GetVpnSitesConfigurationRequest {\n /** List of resource-ids of the vpn-sites for which config is to be downloaded. */\n vpnSites?: Array<string>;\n /** The sas-url to download the configurations for vpn-sites. */\n outputBlobSasUrl: string;\n}\n\n/** VpnServerConfiguration Resource. */\nexport interface VpnServerConfiguration extends Resource {\n /** Properties of the P2SVpnServer configuration. */\n properties?: VpnServerConfigurationProperties;\n}\n\n/** Parameters for VpnServerConfiguration. */\nexport interface VpnServerConfigurationProperties {\n /** The name of the VpnServerConfiguration that is unique within a resource group. */\n name?: string;\n /** VPN protocols for the VpnServerConfiguration. */\n vpnProtocols?: Array<\"IkeV2\" | \"OpenVPN\">;\n /** VPN authentication types for the VpnServerConfiguration. */\n vpnAuthenticationTypes?: Array<\"Certificate\" | \"Radius\" | \"AAD\">;\n /** VPN client root certificate of VpnServerConfiguration. */\n vpnClientRootCertificates?: Array<VpnServerConfigVpnClientRootCertificate>;\n /** VPN client revoked certificate of VpnServerConfiguration. */\n vpnClientRevokedCertificates?: Array<VpnServerConfigVpnClientRevokedCertificate>;\n /** Radius Server root certificate of VpnServerConfiguration. */\n radiusServerRootCertificates?: Array<VpnServerConfigRadiusServerRootCertificate>;\n /** Radius client root certificate of VpnServerConfiguration. */\n radiusClientRootCertificates?: Array<VpnServerConfigRadiusClientRootCertificate>;\n /** VpnClientIpsecPolicies for VpnServerConfiguration. */\n vpnClientIpsecPolicies?: Array<IpsecPolicy>;\n /** The radius server address property of the VpnServerConfiguration resource for point to site client connection. */\n radiusServerAddress?: string;\n /** The radius secret property of the VpnServerConfiguration resource for point to site client connection. */\n radiusServerSecret?: string;\n /** Multiple Radius Server configuration for VpnServerConfiguration. */\n radiusServers?: Array<RadiusServer>;\n /** The set of aad vpn authentication parameters. */\n aadAuthenticationParameters?: AadAuthenticationParameters;\n /** List of all VpnServerConfigurationPolicyGroups. */\n configurationPolicyGroups?: Array<VpnServerConfigurationPolicyGroup>;\n}\n\n/** Properties of VPN client root certificate of VpnServerConfiguration. */\nexport interface VpnServerConfigVpnClientRootCertificate {\n /** The certificate name. */\n name?: string;\n /** The certificate public data. */\n publicCertData?: string;\n}\n\n/** Properties of the revoked VPN client certificate of VpnServerConfiguration. */\nexport interface VpnServerConfigVpnClientRevokedCertificate {\n /** The certificate name. */\n name?: string;\n /** The revoked VPN client certificate thumbprint. */\n thumbprint?: string;\n}\n\n/** Properties of Radius Server root certificate of VpnServerConfiguration. */\nexport interface VpnServerConfigRadiusServerRootCertificate {\n /** The certificate name. */\n name?: string;\n /** The certificate public data. */\n publicCertData?: string;\n}\n\n/** Properties of the Radius client root certificate of VpnServerConfiguration. */\nexport interface VpnServerConfigRadiusClientRootCertificate {\n /** The certificate name. */\n name?: string;\n /** The Radius client root certificate thumbprint. */\n thumbprint?: string;\n}\n\n/** AAD Vpn authentication type related parameters. */\nexport interface AadAuthenticationParameters {\n /** AAD Vpn authentication parameter AAD tenant. */\n aadTenant?: string;\n /** AAD Vpn authentication parameter AAD audience. */\n aadAudience?: string;\n /** AAD Vpn authentication parameter AAD issuer. */\n aadIssuer?: string;\n}\n\n/** P2SVpnGateway Resource. */\nexport interface P2SVpnGateway extends Resource {\n /** Properties of the P2SVpnGateway. */\n properties?: P2SVpnGatewayProperties;\n}\n\n/** Parameters for P2SVpnGateway. */\nexport interface P2SVpnGatewayProperties {\n /** The VirtualHub to which the gateway belongs. */\n virtualHub?: SubResource;\n /** List of all p2s connection configurations of the gateway. */\n p2SConnectionConfigurations?: Array<P2SConnectionConfiguration>;\n /** The scale unit for this p2s vpn gateway. */\n vpnGatewayScaleUnit?: number;\n /** The VpnServerConfiguration to which the p2sVpnGateway is attached to. */\n vpnServerConfiguration?: SubResource;\n /** List of all customer specified DNS servers IP addresses. */\n customDnsServers?: Array<string>;\n /** Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. */\n isRoutingPreferenceInternet?: boolean;\n}\n\n/** P2SConnectionConfiguration Resource. */\nexport interface P2SConnectionConfiguration extends SubResource {\n /** Properties of the P2S connection configuration. */\n properties?: P2SConnectionConfigurationProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for P2SConnectionConfiguration. */\nexport interface P2SConnectionConfigurationProperties {\n /** The reference to the address space resource which represents Address space for P2S VpnClient. */\n vpnClientAddressPool?: AddressSpace;\n /** The Routing Configuration indicating the associated and propagated route tables on this connection. */\n routingConfiguration?: RoutingConfiguration;\n /** Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. */\n enableInternetSecurity?: boolean;\n}\n\n/** Routing Configuration indicating the associated and propagated route tables for this connection. */\nexport interface RoutingConfiguration {\n /** The resource id RouteTable associated with this RoutingConfiguration. */\n associatedRouteTable?: SubResource;\n /** The list of RouteTables to advertise the routes to. */\n propagatedRouteTables?: PropagatedRouteTable;\n /** List of routes that control routing from VirtualHub into a virtual network connection. */\n vnetRoutes?: VnetRoute;\n /** The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. */\n inboundRouteMap?: SubResource;\n /** The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. */\n outboundRouteMap?: SubResource;\n}\n\n/** The list of RouteTables to advertise the routes to. */\nexport interface PropagatedRouteTable {\n /** The list of labels. */\n labels?: Array<string>;\n /** The list of resource ids of all the RouteTables. */\n ids?: Array<SubResource>;\n}\n\n/** List of routes that control routing from VirtualHub into a virtual network connection. */\nexport interface VnetRoute {\n /** Configuration for static routes on this HubVnetConnection. */\n staticRoutesConfig?: StaticRoutesConfig;\n /** List of all Static Routes. */\n staticRoutes?: Array<StaticRoute>;\n}\n\n/** Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. */\nexport interface StaticRoutesConfig {\n /** Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. */\n vnetLocalRouteOverrideCriteria?: \"Contains\" | \"Equal\";\n}\n\n/** List of all Static Routes. */\nexport interface StaticRoute {\n /** The name of the StaticRoute that is unique within a VnetRoute. */\n name?: string;\n /** List of all address prefixes. */\n addressPrefixes?: Array<string>;\n /** The ip address of the next hop. */\n nextHopIpAddress?: string;\n}\n\n/** VpnServerConfigurationPolicyGroup Resource. */\nexport interface VpnServerConfigurationPolicyGroup extends SubResource {\n /** Properties of the VpnServerConfigurationPolicyGroup. */\n properties?: VpnServerConfigurationPolicyGroupProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for VpnServerConfigurationPolicyGroup. */\nexport interface VpnServerConfigurationPolicyGroupProperties {\n /** Shows if this is a Default VpnServerConfigurationPolicyGroup or not. */\n isDefault?: boolean;\n /** Priority for VpnServerConfigurationPolicyGroup. */\n priority?: number;\n /** Multiple PolicyMembers for VpnServerConfigurationPolicyGroup. */\n policyMembers?: Array<VpnServerConfigurationPolicyGroupMember>;\n}\n\n/** VpnServerConfiguration PolicyGroup member */\nexport interface VpnServerConfigurationPolicyGroupMember {\n /** Name of the VpnServerConfigurationPolicyGroupMember. */\n name?: string;\n /** The Vpn Policy member attribute type. */\n attributeType?: \"CertificateGroupId\" | \"AADGroupId\" | \"RadiusAzureGroupId\";\n /** The value of Attribute used for this VpnServerConfigurationPolicyGroupMember. */\n attributeValue?: string;\n}\n\n/** VpnClientConnectionHealth properties. */\nexport interface VpnClientConnectionHealth {\n /** The total of p2s vpn clients connected at this time to this P2SVpnGateway. */\n vpnClientConnectionsCount?: number;\n /** List of allocated ip addresses to the connected p2s vpn clients. */\n allocatedIpAddresses?: Array<string>;\n}\n\n/** VirtualHub Resource. */\nexport interface VirtualHub extends Resource {\n /** Properties of the virtual hub. */\n properties?: VirtualHubProperties;\n}\n\n/** Parameters for VirtualHub. */\nexport interface VirtualHubProperties {\n /** The VirtualWAN to which the VirtualHub belongs. */\n virtualWan?: SubResource;\n /** The VpnGateway associated with this VirtualHub. */\n vpnGateway?: SubResource;\n /** The P2SVpnGateway associated with this VirtualHub. */\n p2SVpnGateway?: SubResource;\n /** The expressRouteGateway associated with this VirtualHub. */\n expressRouteGateway?: SubResource;\n /** The azureFirewall associated with this VirtualHub. */\n azureFirewall?: SubResource;\n /** The securityPartnerProvider associated with this VirtualHub. */\n securityPartnerProvider?: SubResource;\n /** Address-prefix for this VirtualHub. */\n addressPrefix?: string;\n /** The routeTable associated with this virtual hub. */\n routeTable?: VirtualHubRouteTable;\n /** The Security Provider name. */\n securityProviderName?: string;\n /** List of all virtual hub route table v2s associated with this VirtualHub. */\n virtualHubRouteTableV2s?: Array<VirtualHubRouteTableV2>;\n /** The sku of this VirtualHub. */\n sku?: string;\n /** VirtualRouter ASN. */\n virtualRouterAsn?: number;\n /** VirtualRouter IPs. */\n virtualRouterIps?: Array<string>;\n /** Flag to control transit for VirtualRouter hub. */\n allowBranchToBranchTraffic?: boolean;\n /** The preferred gateway to route on-prem traffic */\n preferredRoutingGateway?: \"ExpressRoute\" | \"VpnGateway\" | \"None\";\n /** The hubRoutingPreference of this VirtualHub. */\n hubRoutingPreference?: \"ExpressRoute\" | \"VpnGateway\" | \"ASPath\";\n /** The VirtualHub Router autoscale configuration. */\n virtualRouterAutoScaleConfiguration?: VirtualRouterAutoScaleConfiguration;\n}\n\n/** VirtualHub route table. */\nexport interface VirtualHubRouteTable {\n /** List of all routes. */\n routes?: Array<VirtualHubRoute>;\n}\n\n/** VirtualHub route. */\nexport interface VirtualHubRoute {\n /** List of all addressPrefixes. */\n addressPrefixes?: Array<string>;\n /** NextHop ip address. */\n nextHopIpAddress?: string;\n}\n\n/** VirtualHubRouteTableV2 Resource. */\nexport interface VirtualHubRouteTableV2 extends SubResource {\n /** Properties of the virtual hub route table v2. */\n properties?: VirtualHubRouteTableV2Properties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for VirtualHubRouteTableV2. */\nexport interface VirtualHubRouteTableV2Properties {\n /** List of all routes. */\n routes?: Array<VirtualHubRouteV2>;\n /** List of all connections attached to this route table v2. */\n attachedConnections?: Array<string>;\n}\n\n/** VirtualHubRouteTableV2 route. */\nexport interface VirtualHubRouteV2 {\n /** The type of destinations. */\n destinationType?: string;\n /** List of all destinations. */\n destinations?: Array<string>;\n /** The type of next hops. */\n nextHopType?: string;\n /** NextHops ip address. */\n nextHops?: Array<string>;\n}\n\n/** The VirtualHub Router autoscale configuration. */\nexport interface VirtualRouterAutoScaleConfiguration {\n /** The minimum number of scale units for VirtualHub Router. */\n minCapacity?: number;\n}\n\n/** The RouteMap child resource of a Virtual hub. */\nexport interface RouteMap extends SubResource {\n /** Properties of the RouteMap resource. */\n properties?: RouteMapProperties;\n}\n\n/** Properties of RouteMap resource */\nexport interface RouteMapProperties {\n /** List of connections which have this RoutMap associated for inbound traffic. */\n associatedInboundConnections?: Array<string>;\n /** List of connections which have this RoutMap associated for outbound traffic. */\n associatedOutboundConnections?: Array<string>;\n /** List of RouteMap rules to be applied. */\n rules?: Array<RouteMapRule>;\n}\n\n/** A RouteMap Rule. */\nexport interface RouteMapRule {\n /** The unique name for the rule. */\n name?: string;\n /** List of matching criterion which will be applied to traffic. */\n matchCriteria?: Array<Criterion>;\n /** List of actions which will be applied on a match. */\n actions?: Array<Action>;\n /** Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. */\n nextStepIfMatched?: \"Unknown\" | \"Continue\" | \"Terminate\";\n}\n\n/** A matching criteria which matches routes based on route prefix, community, and AS path. */\nexport interface Criterion {\n /** List of route prefixes which this criteria matches. */\n routePrefix?: Array<string>;\n /** List of BGP communities which this criteria matches. */\n community?: Array<string>;\n /** List of AS paths which this criteria matches. */\n asPath?: Array<string>;\n /** Match condition to apply RouteMap rules. */\n matchCondition?: \"Unknown\" | \"Contains\" | \"Equals\" | \"NotContains\" | \"NotEquals\";\n}\n\n/** Action to be taken on a route matching a RouteMap criterion. */\nexport interface Action {\n /** Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.' */\n type?: \"Unknown\" | \"Remove\" | \"Add\" | \"Replace\" | \"Drop\";\n /** List of parameters relevant to the action.For instance if type is drop then parameters has list of prefixes to be dropped.If type is add, parameters would have list of ASN numbers to be added */\n parameters?: Array<Parameter>;\n}\n\n/** Parameters for an Action. */\nexport interface Parameter {\n /** List of route prefixes. */\n routePrefix?: Array<string>;\n /** List of BGP communities. */\n community?: Array<string>;\n /** List of AS paths. */\n asPath?: Array<string>;\n}\n\n/** HubVirtualNetworkConnection Resource. */\nexport interface HubVirtualNetworkConnection extends SubResource {\n /** Properties of the hub virtual network connection. */\n properties?: HubVirtualNetworkConnectionProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for HubVirtualNetworkConnection. */\nexport interface HubVirtualNetworkConnectionProperties {\n /** Reference to the remote virtual network. */\n remoteVirtualNetwork?: SubResource;\n /** Deprecated: VirtualHub to RemoteVnet transit to enabled or not. */\n allowHubToRemoteVnetTransit?: boolean;\n /** Deprecated: Allow RemoteVnet to use Virtual Hub's gateways. */\n allowRemoteVnetToUseHubVnetGateways?: boolean;\n /** Enable internet security. */\n enableInternetSecurity?: boolean;\n /** The Routing Configuration indicating the associated and propagated route tables on this connection. */\n routingConfiguration?: RoutingConfiguration;\n}\n\n/** VpnGateway Resource. */\nexport interface VpnGateway extends Resource {\n /** Properties of the VPN gateway. */\n properties?: VpnGatewayProperties;\n}\n\n/** Parameters for VpnGateway. */\nexport interface VpnGatewayProperties {\n /** The VirtualHub to which the gateway belongs. */\n virtualHub?: SubResource;\n /** List of all vpn connections to the gateway. */\n connections?: Array<VpnConnection>;\n /** Local network gateway's BGP speaker settings. */\n bgpSettings?: BgpSettings;\n /** The scale unit for this vpn gateway. */\n vpnGatewayScaleUnit?: number;\n /** Enable BGP routes translation for NAT on this VpnGateway. */\n enableBgpRouteTranslationForNat?: boolean;\n /** Enable Routing Preference property for the Public IP Interface of the VpnGateway. */\n isRoutingPreferenceInternet?: boolean;\n /** List of all the nat Rules associated with the gateway. */\n natRules?: Array<VpnGatewayNatRule>;\n}\n\n/** VpnConnection Resource. */\nexport interface VpnConnection extends SubResource {\n /** Properties of the VPN connection. */\n properties?: VpnConnectionProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for VpnConnection. */\nexport interface VpnConnectionProperties {\n /** Id of the connected vpn site. */\n remoteVpnSite?: SubResource;\n /** Routing weight for vpn connection. */\n routingWeight?: number;\n /** DPD timeout in seconds for vpn connection. */\n dpdTimeoutSeconds?: number;\n /** Connection protocol used for this connection. */\n vpnConnectionProtocolType?: \"IKEv2\" | \"IKEv1\";\n /** Expected bandwidth in MBPS. */\n connectionBandwidth?: number;\n /** SharedKey for the vpn connection. */\n sharedKey?: string;\n /** EnableBgp flag. */\n enableBgp?: boolean;\n /** Enable policy-based traffic selectors. */\n usePolicyBasedTrafficSelectors?: boolean;\n /** The IPSec Policies to be considered by this connection. */\n ipsecPolicies?: Array<IpsecPolicy>;\n /** The Traffic Selector Policies to be considered by this connection. */\n trafficSelectorPolicies?: Array<TrafficSelectorPolicy>;\n /** EnableBgp flag. */\n enableRateLimiting?: boolean;\n /** Enable internet security. */\n enableInternetSecurity?: boolean;\n /** Use local azure ip to initiate connection. */\n useLocalAzureIpAddress?: boolean;\n /** List of all vpn site link connections to the gateway. */\n vpnLinkConnections?: Array<VpnSiteLinkConnection>;\n /** The Routing Configuration indicating the associated and propagated route tables on this connection. */\n routingConfiguration?: RoutingConfiguration;\n}\n\n/** VpnSiteLinkConnection Resource. */\nexport interface VpnSiteLinkConnection extends SubResource {\n /** Properties of the VPN site link connection. */\n properties?: VpnSiteLinkConnectionProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for VpnConnection. */\nexport interface VpnSiteLinkConnectionProperties {\n /** Id of the connected vpn site link. */\n vpnSiteLink?: SubResource;\n /** Routing weight for vpn connection. */\n routingWeight?: number;\n /** Vpn link connection mode. */\n vpnLinkConnectionMode?: \"Default\" | \"ResponderOnly\" | \"InitiatorOnly\";\n /** Connection protocol used for this connection. */\n vpnConnectionProtocolType?: \"IKEv2\" | \"IKEv1\";\n /** Expected bandwidth in MBPS. */\n connectionBandwidth?: number;\n /** SharedKey for the vpn connection. */\n sharedKey?: string;\n /** EnableBgp flag. */\n enableBgp?: boolean;\n /** vpnGatewayCustomBgpAddresses used by this connection. */\n vpnGatewayCustomBgpAddresses?: Array<GatewayCustomBgpIpAddressIpConfiguration>;\n /** Enable policy-based traffic selectors. */\n usePolicyBasedTrafficSelectors?: boolean;\n /** The IPSec Policies to be considered by this connection. */\n ipsecPolicies?: Array<IpsecPolicy>;\n /** EnableBgp flag. */\n enableRateLimiting?: boolean;\n /** Use local azure ip to initiate connection. */\n useLocalAzureIpAddress?: boolean;\n /** List of ingress NatRules. */\n ingressNatRules?: Array<SubResource>;\n /** List of egress NatRules. */\n egressNatRules?: Array<SubResource>;\n}\n\n/** IP Configuration of a VPN Gateway Resource. */\nexport interface VpnGatewayIpConfiguration {\n /** The identifier of the IP configuration for a VPN Gateway. */\n id?: string;\n /** The public IP address of this IP configuration. */\n publicIpAddress?: string;\n /** The private IP address of this IP configuration. */\n privateIpAddress?: string;\n}\n\n/** VpnGatewayNatRule Resource. */\nexport interface VpnGatewayNatRule extends SubResource {\n /** Properties of the VpnGateway NAT rule. */\n properties?: VpnGatewayNatRuleProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for VpnGatewayNatRule. */\nexport interface VpnGatewayNatRuleProperties {\n /** The type of NAT rule for VPN NAT. */\n type?: \"Static\" | \"Dynamic\";\n /** The Source NAT direction of a VPN NAT. */\n mode?: \"EgressSnat\" | \"IngressSnat\";\n /** The private IP address internal mapping for NAT. */\n internalMappings?: Array<VpnNatRuleMapping>;\n /** The private IP address external mapping for NAT. */\n externalMappings?: Array<VpnNatRuleMapping>;\n /** The IP Configuration ID this NAT rule applies to. */\n ipConfigurationId?: string;\n}\n\n/** Start packet capture parameters. */\nexport interface VpnGatewayPacketCaptureStartParameters {\n /** Start Packet capture parameters on vpn gateway. */\n filterData?: string;\n}\n\n/** Stop packet capture parameters. */\nexport interface VpnGatewayPacketCaptureStopParameters {\n /** SAS url for packet capture on vpn gateway. */\n sasUrl?: string;\n}\n\n/** Vpn Connection packet capture parameters supplied to start packet capture on gateway connection. */\nexport interface VpnConnectionPacketCaptureStartParameters {\n /** Start Packet capture parameters on vpn connection. */\n filterData?: string;\n /** List of site link connection names. */\n linkConnectionNames?: Array<string>;\n}\n\n/** Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection. */\nexport interface VpnConnectionPacketCaptureStopParameters {\n /** SAS url for packet capture on vpn connection. */\n sasUrl?: string;\n /** List of site link connection names. */\n linkConnectionNames?: Array<string>;\n}\n\n/** Vpn Client Parameters for package generation. */\nexport interface P2SVpnProfileParameters {\n /** VPN client authentication method. */\n authenticationMethod?: \"EAPTLS\" | \"EAPMSCHAPv2\";\n}\n\n/** List of P2S Vpn connection health request. */\nexport interface P2SVpnConnectionHealthRequest {\n /** The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for. */\n vpnUserNamesFilter?: Array<string>;\n /** The sas-url to download the P2S Vpn connection health detail. */\n outputBlobSasUrl?: string;\n}\n\n/** Virtual Wan Vpn profile parameters Vpn profile generation. */\nexport interface VirtualWanVpnProfileParameters {\n /** VpnServerConfiguration partial resource uri with which VirtualWan is associated to. */\n vpnServerConfigurationResourceId?: string;\n /** VPN client authentication method. */\n authenticationMethod?: \"EAPTLS\" | \"EAPMSCHAPv2\";\n}\n\n/** ExpressRoute gateway resource. */\nexport interface ExpressRouteGateway extends Resource {\n /** Properties of the express route gateway. */\n properties?: ExpressRouteGatewayProperties;\n}\n\n/** ExpressRoute gateway resource properties. */\nexport interface ExpressRouteGatewayProperties {\n /** Configuration for auto scaling. */\n autoScaleConfiguration?: ExpressRouteGatewayPropertiesAutoScaleConfiguration;\n /** List of ExpressRoute connections to the ExpressRoute gateway. */\n expressRouteConnections?: Array<ExpressRouteConnection>;\n /** The Virtual Hub where the ExpressRoute gateway is or will be deployed. */\n virtualHub: VirtualHubId;\n}\n\n/** Configuration for auto scaling. */\nexport interface ExpressRouteGatewayPropertiesAutoScaleConfiguration {\n /** Minimum and maximum number of scale units to deploy. */\n bounds?: ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds;\n}\n\n/** Minimum and maximum number of scale units to deploy. */\nexport interface ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds {\n /** Minimum number of scale units deployed for ExpressRoute gateway. */\n min?: number;\n /** Maximum number of scale units deployed for ExpressRoute gateway. */\n max?: number;\n}\n\n/** ExpressRouteConnection resource. */\nexport interface ExpressRouteConnection extends SubResource {\n /** Properties of the express route connection. */\n properties?: ExpressRouteConnectionProperties;\n /** The name of the resource. */\n name: string;\n}\n\n/** Properties of the ExpressRouteConnection subresource. */\nexport interface ExpressRouteConnectionProperties {\n /** The ExpressRoute circuit peering. */\n expressRouteCircuitPeering: ExpressRouteCircuitPeeringId;\n /** Authorization key to establish the connection. */\n authorizationKey?: string;\n /** The routing weight associated to the connection. */\n routingWeight?: number;\n /** Enable internet security. */\n enableInternetSecurity?: boolean;\n /** Enable FastPath to vWan Firewall hub. */\n expressRouteGatewayBypass?: boolean;\n /** Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. */\n enablePrivateLinkFastPath?: boolean;\n /** The Routing Configuration indicating the associated and propagated route tables on this connection. */\n routingConfiguration?: RoutingConfiguration;\n}\n\n/** ExpressRoute circuit peering identifier. */\nexport interface ExpressRouteCircuitPeeringId {\n /** The ID of the ExpressRoute circuit peering. */\n id?: string;\n}\n\n/** Virtual Hub identifier. */\nexport interface VirtualHubId {\n /** The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription. */\n id?: string;\n}\n\n/** Virtual Appliance Site resource. */\nexport interface BgpConnection extends SubResource {\n /** The properties of the Bgp connections. */\n properties?: BgpConnectionProperties;\n /** Name of the connection. */\n name?: string;\n}\n\n/** Properties of the bgp connection. */\nexport interface BgpConnectionProperties {\n /** Peer ASN. */\n peerAsn?: number;\n /** Peer IP. */\n peerIp?: string;\n /** The reference to the HubVirtualNetworkConnection resource. */\n hubVirtualNetworkConnection?: SubResource;\n}\n\n/** IpConfigurations. */\nexport interface HubIpConfiguration extends SubResource {\n /** The properties of the Virtual Hub IPConfigurations. */\n properties?: HubIPConfigurationPropertiesFormat;\n /** Name of the Ip Configuration. */\n name?: string;\n}\n\n/** Properties of IP configuration. */\nexport interface HubIPConfigurationPropertiesFormat {\n /** The private IP address of the IP configuration. */\n privateIPAddress?: string;\n /** The private IP address allocation method. */\n privateIPAllocationMethod?: \"Static\" | \"Dynamic\";\n /** The reference to the subnet resource. */\n subnet?: Subnet;\n /** The reference to the public IP resource. */\n publicIPAddress?: PublicIPAddress;\n}\n\n/** RouteTable resource in a virtual hub. */\nexport interface HubRouteTable extends SubResource {\n /** Properties of the RouteTable resource. */\n properties?: HubRouteTableProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** Parameters for RouteTable. */\nexport interface HubRouteTableProperties {\n /** List of all routes. */\n routes?: Array<HubRoute>;\n /** List of labels associated with this route table. */\n labels?: Array<string>;\n}\n\n/** RouteTable route. */\nexport interface HubRoute {\n /** The name of the Route that is unique within a RouteTable. This name can be used to access this route. */\n name: string;\n /** The type of destinations (eg: CIDR, ResourceId, Service). */\n destinationType: string;\n /** List of all destinations. */\n destinations: Array<string>;\n /** The type of next hop (eg: ResourceId). */\n nextHopType: string;\n /** NextHop resource ID. */\n nextHop: string;\n}\n\n/** The parameters specifying the resource whose effective routes are being requested. */\nexport interface EffectiveRoutesParameters {\n /** The resource whose effective routes are being requested. */\n resourceId?: string;\n /** The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. */\n virtualWanResourceType?: string;\n}\n\n/** The parameters specifying the connection resource whose inbound routes are being requested. */\nexport interface GetInboundRoutesParameters {\n /** The connection resource whose inbound routes are being requested. */\n resourceUri?: string;\n /** The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. */\n connectionType?: string;\n}\n\n/** The parameters specifying the connection resource whose outbound routes are being requested. */\nexport interface GetOutboundRoutesParameters {\n /** The connection resource whose outbound routes are being requested. */\n resourceUri?: string;\n /** The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. */\n connectionType?: string;\n}\n\n/** The routing intent child resource of a Virtual hub. */\nexport interface RoutingIntent extends SubResource {\n /** Properties of the RoutingIntent resource. */\n properties?: RoutingIntentProperties;\n /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */\n name?: string;\n}\n\n/** The properties of a RoutingIntent resource. */\nexport interface RoutingIntentProperties {\n /** List of routing policies. */\n routingPolicies?: Array<RoutingPolicy>;\n}\n\n/** The routing policy object used in a RoutingIntent resource. */\nexport interface RoutingPolicy {\n /** The unique name for the routing policy. */\n name: string;\n /** List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). */\n destinations: Array<string>;\n /** The next hop resource id on which this routing policy is applicable to. */\n nextHop: string;\n}\n\n/** Defines web application firewall policy. */\nexport interface WebApplicationFirewallPolicy extends Resource {\n /** Properties of the web application firewall policy. */\n properties?: WebApplicationFirewallPolicyPropertiesFormat;\n}\n\n/** Defines web application firewall policy properties. */\nexport interface WebApplicationFirewallPolicyPropertiesFormat {\n /** The PolicySettings for policy. */\n policySettings?: PolicySettings;\n /** The custom rules inside the policy. */\n customRules?: Array<WebApplicationFirewallCustomRule>;\n /** Describes the managedRules structure. */\n managedRules: ManagedRulesDefinition;\n}\n\n/** Defines contents of a web application firewall global configuration. */\nexport interface PolicySettings {\n /** The state of the policy. */\n state?: \"Disabled\" | \"Enabled\";\n /** The mode of the policy. */\n mode?: \"Prevention\" | \"Detection\";\n /** Whether to allow WAF to check request Body. */\n requestBodyCheck?: boolean;\n /** Maximum request body size in Kb for WAF. */\n maxRequestBodySizeInKb?: number;\n /** Maximum file upload size in Mb for WAF. */\n fileUploadLimitInMb?: number;\n}\n\n/** Defines contents of a web application rule. */\nexport interface WebApplicationFirewallCustomRule {\n /** The name of the resource that is unique within a policy. This name can be used to access the resource. */\n name?: string;\n /** Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. */\n priority: number;\n /** The rule type. */\n ruleType: \"MatchRule\" | \"Invalid\";\n /** List of match conditions. */\n matchConditions: Array<MatchCondition>;\n /** Type of Actions. */\n action: \"Allow\" | \"Block\" | \"Log\";\n}\n\n/** Define match conditions. */\nexport interface MatchCondition {\n /** List of match variables. */\n matchVariables: Array<MatchVariable>;\n /** The operator to be matched. */\n operator:\n | \"IPMatch\"\n | \"Equal\"\n | \"Contains\"\n | \"LessThan\"\n | \"GreaterThan\"\n | \"LessThanOrEqual\"\n | \"GreaterThanOrEqual\"\n | \"BeginsWith\"\n | \"EndsWith\"\n | \"Regex\"\n | \"GeoMatch\"\n | \"Any\";\n /** Whether this is negate condition or not. */\n negationConditon?: boolean;\n /** Match value. */\n matchValues: Array<string>;\n /** List of transforms. */\n transforms?: Array<\n | \"Uppercase\"\n | \"Lowercase\"\n | \"Trim\"\n | \"UrlDecode\"\n | \"UrlEncode\"\n | \"RemoveNulls\"\n | \"HtmlEntityDecode\"\n >;\n}\n\n/** Define match variables. */\nexport interface MatchVariable {\n /** Match Variable. */\n variableName:\n | \"RemoteAddr\"\n | \"RequestMethod\"\n | \"QueryString\"\n | \"PostArgs\"\n | \"RequestUri\"\n | \"RequestHeaders\"\n | \"RequestBody\"\n | \"RequestCookies\";\n /** The selector of match variable. */\n selector?: string;\n}\n\n/** Allow to exclude some variable satisfy the condition for the WAF check. */\nexport interface ManagedRulesDefinition {\n /** The Exclusions that are applied on the policy. */\n exclusions?: Array<OwaspCrsExclusionEntry>;\n /** The managed rule sets that are associated with the policy. */\n managedRuleSets: Array<ManagedRuleSet>;\n}\n\n/** Allow to exclude some variable satisfy the condition for the WAF check. */\nexport interface OwaspCrsExclusionEntry {\n /** The variable to be excluded. */\n matchVariable:\n | \"RequestHeaderNames\"\n | \"RequestCookieNames\"\n | \"RequestArgNames\"\n | \"RequestHeaderKeys\"\n | \"RequestHeaderValues\"\n | \"RequestCookieKeys\"\n | \"RequestCookieValues\"\n | \"RequestArgKeys\"\n | \"RequestArgValues\";\n /** When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. */\n selectorMatchOperator: \"Equals\" | \"Contains\" | \"StartsWith\" | \"EndsWith\" | \"EqualsAny\";\n /** When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. */\n selector: string;\n /** The managed rule sets that are associated with the exclusion. */\n exclusionManagedRuleSets?: Array<ExclusionManagedRuleSet>;\n}\n\n/** Defines a managed rule set for Exclusions. */\nexport interface ExclusionManagedRuleSet {\n /** Defines the rule set type to use. */\n ruleSetType: string;\n /** Defines the version of the rule set to use. */\n ruleSetVersion: string;\n /** Defines the rule groups to apply to the rule set. */\n ruleGroups?: Array<ExclusionManagedRuleGroup>;\n}\n\n/** Defines a managed rule group to use for exclusion. */\nexport interface ExclusionManagedRuleGroup {\n /** The managed rule group for exclusion. */\n ruleGroupName: string;\n /** List of rules that will be excluded. If none specified, all rules in the group will be excluded. */\n rules?: Array<ExclusionManagedRule>;\n}\n\n/** Defines a managed rule to use for exclusion. */\nexport interface ExclusionManagedRule {\n /** Identifier for the managed rule. */\n ruleId: string;\n}\n\n/** Defines a managed rule set. */\nexport interface ManagedRuleSet {\n /** Defines the rule set type to use. */\n ruleSetType: string;\n /** Defines the version of the rule set to use. */\n ruleSetVersion: string;\n /** Defines the rule group overrides to apply to the rule set. */\n ruleGroupOverrides?: Array<ManagedRuleGroupOverride>;\n}\n\n/** Defines a managed rule group override setting. */\nexport interface ManagedRuleGroupOverride {\n /** The managed rule group to override. */\n ruleGroupName: string;\n /** List of rules that will be disabled. If none specified, all rules in the group will be disabled. */\n rules?: Array<ManagedRuleOverride>;\n}\n\n/** Defines a managed rule group override setting. */\nexport interface ManagedRuleOverride {\n /** Identifier for the managed rule. */\n ruleId: string;\n /** The state of the managed rule. Defaults to Disabled if not specified. */\n state?: \"Disabled\" | \"Enabled\";\n /** Describes the override action to be applied when rule matches. */\n action?: \"AnomalyScoring\" | \"Allow\" | \"Block\" | \"Log\";\n}\n\n/** SwapResource to represent slot type on the specified cloud service. */\nexport interface SwapResource {\n /** Swap resource properties */\n properties?: SwapResourceProperties;\n}\n\n/** Swap resource properties */\nexport interface SwapResourceProperties {\n /** Specifies slot info on a cloud service */\n slotType?: \"Production\" | \"Staging\";\n}\n\n/** Firewall Policy NAT Rule Collection. */\nexport interface FirewallPolicyNatRuleCollection extends FirewallPolicyRuleCollectionParent {\n /** The action type of a Nat rule collection. */\n action?: FirewallPolicyNatRuleCollectionAction;\n /** List of rules included in a rule collection. */\n rules?: Array<FirewallPolicyRule>;\n ruleCollectionType: \"FirewallPolicyNatRuleCollection\";\n}\n\n/** Properties of the FirewallPolicyNatRuleCollectionAction. */\nexport interface FirewallPolicyNatRuleCollectionAction {\n /** The type of action. */\n type?: \"DNAT\";\n}\n\n/** Properties of a rule. */\nexport interface FirewallPolicyRuleParent {\n /** Name of the rule. */\n name?: string;\n /** Description of the rule. */\n description?: string;\n ruleType: \"FirewallPolicyRule\" | \"ApplicationRule\" | \"NatRule\" | \"NetworkRule\";\n}\n\n/** Firewall Policy Filter Rule Collection. */\nexport interface FirewallPolicyFilterRuleCollection extends FirewallPolicyRuleCollectionParent {\n /** The action type of a Filter rule collection. */\n action?: FirewallPolicyFilterRuleCollectionAction;\n /** List of rules included in a rule collection. */\n rules?: Array<FirewallPolicyRule>;\n ruleCollectionType: \"FirewallPolicyFilterRuleCollection\";\n}\n\n/** Properties of the FirewallPolicyFilterRuleCollectionAction. */\nexport interface FirewallPolicyFilterRuleCollectionAction {\n /** The type of action. */\n type?: \"Allow\" | \"Deny\";\n}\n\n/** Rule of type application. */\nexport interface ApplicationRule extends FirewallPolicyRuleParent {\n /** List of source IP addresses for this rule. */\n sourceAddresses?: Array<string>;\n /** List of destination IP addresses or Service Tags. */\n destinationAddresses?: Array<string>;\n /** Array of Application Protocols. */\n protocols?: Array<FirewallPolicyRuleApplicationProtocol>;\n /** List of FQDNs for this rule. */\n targetFqdns?: Array<string>;\n /** List of Urls for this rule condition. */\n targetUrls?: Array<string>;\n /** List of FQDN Tags for this rule. */\n fqdnTags?: Array<string>;\n /** List of source IpGroups for this rule. */\n sourceIpGroups?: Array<string>;\n /** Terminate TLS connections for this rule. */\n terminateTLS?: boolean;\n /** List of destination azure web categories. */\n webCategories?: Array<string>;\n ruleType: \"ApplicationRule\";\n}\n\n/** Properties of the application rule protocol. */\nexport interface FirewallPolicyRuleApplicationProtocol {\n /** Protocol type. */\n protocolType?: \"Http\" | \"Https\";\n /** Port number for the protocol, cannot be greater than 64000. */\n port?: number;\n}\n\n/** Rule of type nat. */\nexport interface NatRule extends FirewallPolicyRuleParent {\n /** Array of FirewallPolicyRuleNetworkProtocols. */\n ipProtocols?: Array<\"TCP\" | \"UDP\" | \"Any\" | \"ICMP\">;\n /** List of source IP addresses for this rule. */\n sourceAddresses?: Array<string>;\n /** List of destination IP addresses or Service Tags. */\n destinationAddresses?: Array<string>;\n /** List of destination ports. */\n destinationPorts?: Array<string>;\n /** The translated address for this NAT rule. */\n translatedAddress?: string;\n /** The translated port for this NAT rule. */\n translatedPort?: string;\n /** List of source IpGroups for this rule. */\n sourceIpGroups?: Array<string>;\n /** The translated FQDN for this NAT rule. */\n translatedFqdn?: string;\n ruleType: \"NatRule\";\n}\n\n/** Rule of type network. */\nexport interface NetworkRule extends FirewallPolicyRuleParent {\n /** Array of FirewallPolicyRuleNetworkProtocols. */\n ipProtocols?: Array<\"TCP\" | \"UDP\" | \"Any\" | \"ICMP\">;\n /** List of source IP addresses for this rule. */\n sourceAddresses?: Array<string>;\n /** List of destination IP addresses or Service Tags. */\n destinationAddresses?: Array<string>;\n /** List of destination ports. */\n destinationPorts?: Array<string>;\n /** List of source IpGroups for this rule. */\n sourceIpGroups?: Array<string>;\n /** List of destination IpGroups for this rule. */\n destinationIpGroups?: Array<string>;\n /** List of destination FQDNs. */\n destinationFqdns?: Array<string>;\n ruleType: \"NetworkRule\";\n}\n\n/** Security admin rule resource. */\nexport interface AdminPropertiesFormat {\n /** A description for this rule. Restricted to 140 chars. */\n description?: string;\n /** Network protocol this rule applies to. */\n protocol: \"Tcp\" | \"Udp\" | \"Icmp\" | \"Esp\" | \"Any\" | \"Ah\";\n /** The CIDR or source IP ranges. */\n sources?: Array<AddressPrefixItem>;\n /** The destination address prefixes. CIDR or destination IP ranges. */\n destinations?: Array<AddressPrefixItem>;\n /** The source port ranges. */\n sourcePortRanges?: Array<string>;\n /** The destination port ranges. */\n destinationPortRanges?: Array<string>;\n /** Indicates the access allowed for this particular rule */\n access: \"Allow\" | \"Deny\" | \"AlwaysAllow\";\n /** 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. */\n priority: number;\n /** Indicates if the traffic matched against the rule in inbound or outbound. */\n direction: \"Inbound\" | \"Outbound\";\n}\n\n/** Address prefix item. */\nexport interface AddressPrefixItem {\n /** Address prefix. */\n addressPrefix?: string;\n /** Address prefix type. */\n addressPrefixType?: \"IPPrefix\" | \"ServiceTag\";\n}\n\n/** Security default admin rule resource. */\nexport interface DefaultAdminPropertiesFormat {\n /** Default rule flag. */\n flag?: string;\n}\n\n/** Network admin rule. */\nexport interface AdminRule extends BaseAdminRuleParent {\n /** Indicates the properties of the security admin rule */\n properties?: AdminPropertiesFormat;\n kind: \"Custom\";\n}\n\n/** Network default admin rule. */\nexport interface DefaultAdminRule extends BaseAdminRuleParent {\n /** Indicates the properties of the security admin rule */\n properties?: DefaultAdminPropertiesFormat;\n kind: \"Default\";\n}\n\n/** Route Filter Rule Resource. */\nexport interface PatchRouteFilterRule extends SubResource {\n /** Properties of the route filter rule. */\n properties?: RouteFilterRulePropertiesFormat;\n}\n\n/** Route Filter Resource. */\nexport interface PatchRouteFilter extends SubResource {\n /** Properties of the route filter. */\n properties?: RouteFilterPropertiesFormat;\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\n/** Properties of the rule collection. */\nexport type FirewallPolicyRuleCollection =\n | FirewallPolicyNatRuleCollection\n | FirewallPolicyFilterRuleCollection;\n/** Network base admin rule. */\nexport type BaseAdminRule = AdminRule | DefaultAdminRule;\n/** Properties of a rule. */\nexport type FirewallPolicyRule = ApplicationRule | NatRule | NetworkRule;\n"]}