Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5tYW5hZ2VkbmV0d29ya2ZhYnJpYy9sM2lzb2xhdGlvbmRvbWFpbnMve30vZXh0ZXJuYWxuZXR3b3Jrcy97fQ==/2024-06-15-preview.xml (1,476 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbDNJc29sYXRpb25Eb21haW5zL3tsM0lzb2xhdGlvbkRvbWFpbk5hbWV9L2V4dGVybmFsTmV0d29ya3Mve2V4dGVybmFsTmV0d29ya05hbWV9/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<commandGroup name="networkfabric externalnetwork">
<command name="show" version="2024-06-15-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbDNJc29sYXRpb25Eb21haW5zL3tsM0lzb2xhdGlvbkRvbWFpbk5hbWV9L2V4dGVybmFsTmV0d29ya3Mve2V4dGVybmFsTmV0d29ya05hbWV9/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.externalNetworkName" options="resource-name" required="True" group="" idPart="child_name_1">
<help short="Name of the External Network."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="string" var="$Path.l3IsolationDomainName" options="l3-isolation-domain-name l3domain" required="True" group="" idPart="name">
<help short="Name of the L3 Isolation Domain."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ExternalNetworks_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}">
<request method="get">
<path>
<param type="string" name="externalNetworkName" arg="$Path.externalNetworkName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="l3IsolationDomainName" arg="$Path.l3IsolationDomainName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-06-15-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{}/externalNetworks/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="administrativeState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""MAT""/>
<item value=""RMA""/>
<item value=""UnderMaintenance""/>
</enum>
</prop>
<prop type="string" name="annotation"/>
<prop readOnly="True" type="string" name="configurationState">
<enum>
<item value=""Accepted""/>
<item value=""DeferredControl""/>
<item value=""Deprovisioned""/>
<item value=""Deprovisioning""/>
<item value=""ErrorDeprovisioning""/>
<item value=""ErrorProvisioning""/>
<item value=""Failed""/>
<item value=""PendingCommit""/>
<item value=""Provisioned""/>
<item value=""Provisioning""/>
<item value=""Rejected""/>
<item value=""Succeeded""/>
</enum>
</prop>
<prop type="object" name="exportRoutePolicy">
<prop type="ResourceId" name="exportIpv4RoutePolicyId"/>
<prop type="ResourceId" name="exportIpv6RoutePolicyId"/>
</prop>
<prop type="object" name="importRoutePolicy">
<prop type="ResourceId" name="importIpv4RoutePolicyId"/>
<prop type="ResourceId" name="importIpv6RoutePolicyId"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration" cls="BfdConfiguration_read">
<prop readOnly="True" type="string" name="administrativeState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""MAT""/>
<item value=""RMA""/>
</enum>
</prop>
<prop type="integer32" name="intervalInMilliSeconds">
<default value="300"/>
</prop>
<prop type="integer32" name="multiplier">
<default value="5"/>
</prop>
</prop>
<prop type="object" name="bmpConfiguration">
<prop type="string" name="configurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="egressAclId"/>
<prop readOnly="True" type="integer64" name="fabricASN">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="ResourceId" name="ingressAclId"/>
<prop type="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</prop>
<prop type="object" name="nativeIpv4PrefixLimit">
<prop type="array<object>" name="prefixLimits">
<format minLength="1"/>
<item type="object" cls="PrefixLimitProperties_read">
<prop type="integer32" name="idleTimeExpiry">
<default value="60"/>
</prop>
<prop type="integer32" name="maximumRoutes"/>
<prop type="integer32" name="threshold"/>
</item>
</prop>
</prop>
<prop type="object" name="nativeIpv6PrefixLimit">
<prop type="array<@PrefixLimitProperties_read>" name="prefixLimits">
<format minLength="1"/>
<item type="@PrefixLimitProperties_read"/>
</prop>
</prop>
<prop type="integer64" name="peerASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="v4OverV6BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="v6OverV4BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="integer32" name="vlanId" required="True">
<format maximum="4094" minimum="501"/>
</prop>
</prop>
<prop type="object" name="optionBProperties">
<prop type="array<string>" name="exportRouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importRouteTargets">
<item type="string"/>
</prop>
<prop type="object" name="routeTargets">
<prop type="array<string>" name="exportIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="exportIpv6RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv6RouteTargets">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="string" name="peeringOption" required="True">
<enum>
<item value=""OptionA""/>
<item value=""OptionB""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="staticRouteConfiguration">
<prop type="@BfdConfiguration_read" name="bfdConfiguration"/>
<prop type="array<object>" name="ipv4Routes" identifiers="prefix">
<item type="object" cls="StaticRouteProperties_read">
<prop type="array<string>" name="nextHop" required="True">
<format minLength="1"/>
<item type="string"/>
</prop>
<prop type="string" name="prefix" required="True">
<format minLength="1"/>
</prop>
</item>
</prop>
<prop type="array<@StaticRouteProperties_read>" name="ipv6Routes" identifiers="prefix">
<item type="@StaticRouteProperties_read"/>
</prop>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2024-06-15-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbDNJc29sYXRpb25Eb21haW5zL3tsM0lzb2xhdGlvbkRvbWFpbk5hbWV9L2V4dGVybmFsTmV0d29ya3Mve2V4dGVybmFsTmV0d29ya05hbWV9/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.externalNetworkName" options="resource-name" required="True" group="" idPart="child_name_1">
<help short="Name of the External Network."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="string" var="$Path.l3IsolationDomainName" options="l3-isolation-domain-name l3domain" required="True" group="" idPart="name">
<help short="Name of the L3 Isolation Domain."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ExternalNetworks_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}">
<request method="delete">
<path>
<param type="string" name="externalNetworkName" arg="$Path.externalNetworkName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="l3IsolationDomainName" arg="$Path.l3IsolationDomainName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-06-15-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="202">
<header>
<item name="Location"/>
<item name="Retry-After"/>
</header>
</response>
<response statusCode="204"/>
<response statusCode="200 201"/>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2024-06-15-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbDNJc29sYXRpb25Eb21haW5zL3tsM0lzb2xhdGlvbkRvbWFpbk5hbWV9L2V4dGVybmFsTmV0d29ya3Mve2V4dGVybmFsTmV0d29ya05hbWV9/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.externalNetworkName" options="resource-name" required="True" group="" idPart="child_name_1">
<help short="Name of the External Network."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="string" var="$Path.l3IsolationDomainName" options="l3-isolation-domain-name l3domain" required="True" group="" idPart="name">
<help short="Name of the L3 Isolation Domain."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Properties">
<arg type="string" var="$resource.properties.annotation" options="annotation" group="Properties">
<help short="Switch configuration description."/>
</arg>
<arg type="object" var="$resource.properties.exportRoutePolicy" options="export-route-policy" group="Properties">
<help short="Export Route Policy either IPv4 or IPv6."/>
<arg type="ResourceId" var="$resource.properties.exportRoutePolicy.exportIpv4RoutePolicyId" options="export-ipv4-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
<arg type="ResourceId" var="$resource.properties.exportRoutePolicy.exportIpv6RoutePolicyId" options="export-ipv6-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
</arg>
<arg type="object" var="$resource.properties.importRoutePolicy" options="import-route-policy" group="Properties">
<help short="Import Route Policy either IPv4 or IPv6."/>
<arg type="ResourceId" var="$resource.properties.importRoutePolicy.importIpv4RoutePolicyId" options="import-ipv4-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
<arg type="ResourceId" var="$resource.properties.importRoutePolicy.importIpv6RoutePolicyId" options="import-ipv6-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
</arg>
<arg type="ResourceId" var="$resource.properties.networkToNetworkInterconnectId" options="network-to-network-interconnect-id nni-id" group="Properties">
<help short="ARM Resource ID of the networkToNetworkInterconnectId of the ExternalNetwork resource."/>
</arg>
<arg type="object" var="$resource.properties.optionAProperties" options="option-a-properties" group="Properties">
<help short="option A properties object"/>
<arg type="object" var="$resource.properties.optionAProperties.bfdConfiguration" options="bfd-configuration">
<help short="BFD configuration properties"/>
<arg type="integer32" var="$resource.properties.optionAProperties.bfdConfiguration.intervalInMilliSeconds" options="interval-in-milli-seconds">
<help short="Interval in milliseconds. Example: 300."/>
<default value="300"/>
</arg>
<arg type="integer32" var="$resource.properties.optionAProperties.bfdConfiguration.multiplier" options="multiplier">
<help short="Multiplier for the Bfd Configuration. Example: 5."/>
<default value="5"/>
</arg>
</arg>
<arg type="object" var="$resource.properties.optionAProperties.bmpConfiguration" options="bmp-configuration">
<help short="BMP Monitor Configuration."/>
<arg type="string" var="$resource.properties.optionAProperties.bmpConfiguration.configurationState" options="configuration-state">
<help short="BMP Configuration State."/>
<default value=""Disabled""/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</arg>
<arg type="ResourceId" var="$resource.properties.optionAProperties.egressAclId" options="egress-acl-id">
<help short="Egress Acl. ARM resource ID of Access Control Lists."/>
</arg>
<arg type="ResourceId" var="$resource.properties.optionAProperties.ingressAclId" options="ingress-acl-id">
<help short="Ingress Acl. ARM resource ID of Access Control Lists."/>
</arg>
<arg type="integer32" var="$resource.properties.optionAProperties.mtu" options="mtu">
<help short="MTU to use for option A peering."/>
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</arg>
<arg type="object" var="$resource.properties.optionAProperties.nativeIpv4PrefixLimit" options="native-ipv4-prefix-limit">
<help short="Native IPv4 prefix limits configuration"/>
<arg type="array<object>" var="$resource.properties.optionAProperties.nativeIpv4PrefixLimit.prefixLimits" options="prefix-limits">
<help short="Prefix limits"/>
<format minLength="1"/>
<item type="object" cls="PrefixLimitProperties_create">
<arg type="integer32" var="@PrefixLimitProperties_create.idleTimeExpiry" options="idle-time-expiry">
<help short="Idle Time Expiry in seconds, default is 60."/>
<default value="60"/>
</arg>
<arg type="integer32" var="@PrefixLimitProperties_create.maximumRoutes" options="maximum-routes">
<help short="Maximum routes allowed."/>
</arg>
<arg type="integer32" var="@PrefixLimitProperties_create.threshold" options="threshold">
<help short="Limit at which route prefixes a warning is generate."/>
</arg>
</item>
</arg>
</arg>
<arg type="object" var="$resource.properties.optionAProperties.nativeIpv6PrefixLimit" options="native-ipv6-prefix-limit">
<help short="Native IPv6 prefix limits configuration"/>
<arg type="array<@PrefixLimitProperties_create>" var="$resource.properties.optionAProperties.nativeIpv6PrefixLimit.prefixLimits" options="prefix-limits">
<help short="Prefix limits"/>
<format minLength="1"/>
<item type="@PrefixLimitProperties_create"/>
</arg>
</arg>
<arg type="integer64" var="$resource.properties.optionAProperties.peerASN" options="peer-asn" required="True">
<help short="Peer ASN number.Example : 28"/>
<format maximum="4294967295" minimum="1"/>
</arg>
<arg type="string" var="$resource.properties.optionAProperties.primaryIpv4Prefix" options="primary-ipv4-prefix">
<help short="IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.optionAProperties.primaryIpv6Prefix" options="primary-ipv6-prefix">
<help short="IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.optionAProperties.secondaryIpv4Prefix" options="secondary-ipv4-prefix">
<help short="Secondary IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.optionAProperties.secondaryIpv6Prefix" options="secondary-ipv6-prefix">
<help short="Secondary IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.optionAProperties.v4OverV6BgpSession" options="v4-over-v6-bgp-session">
<help short="V4OverV6 BGP Session state"/>
<default value=""Disabled""/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="string" var="$resource.properties.optionAProperties.v6OverV4BgpSession" options="v6-over-v4-bgp-session">
<help short="V6OverV4 BGP Session state"/>
<default value=""Disabled""/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="integer32" var="$resource.properties.optionAProperties.vlanId" options="vlan-id" required="True">
<help short="Vlan identifier. Example : 501"/>
<format maximum="4094" minimum="501"/>
</arg>
</arg>
<arg type="object" var="$resource.properties.optionBProperties" options="option-b-properties" group="Properties">
<help short="option B properties object"/>
<arg type="array<string>" var="$resource.properties.optionBProperties.exportRouteTargets" options="export-route-targets">
<help short="RouteTargets to be applied. This is used for the backward compatibility."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$resource.properties.optionBProperties.importRouteTargets" options="import-route-targets">
<help short="RouteTargets to be applied. This is used for the backward compatibility."/>
<item type="string"/>
</arg>
<arg type="object" var="$resource.properties.optionBProperties.routeTargets" options="route-targets">
<help short="RouteTargets to be applied."/>
<arg type="array<string>" var="$resource.properties.optionBProperties.routeTargets.exportIpv4RouteTargets" options="export-ipv4-route-targets">
<help short="Route Targets to be applied for outgoing routes into CE."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$resource.properties.optionBProperties.routeTargets.exportIpv6RouteTargets" options="export-ipv6-route-targets">
<help short="Route Targets to be applied for outgoing routes from CE."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$resource.properties.optionBProperties.routeTargets.importIpv4RouteTargets" options="import-ipv4-route-targets">
<help short="Route Targets to be applied for incoming routes into CE."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$resource.properties.optionBProperties.routeTargets.importIpv6RouteTargets" options="import-ipv6-route-targets">
<help short="Route Targets to be applied for incoming routes from CE."/>
<item type="string"/>
</arg>
</arg>
</arg>
<arg type="string" var="$resource.properties.peeringOption" options="peering-option" required="True" group="Properties">
<help short="Peering option list."/>
<enum>
<item name="OptionA" value=""OptionA""/>
<item name="OptionB" value=""OptionB""/>
</enum>
</arg>
<arg type="object" var="$resource.properties.staticRouteConfiguration" options="static-route-configuration" group="Properties">
<help short="Static Route Configuration."/>
<arg type="object" var="$resource.properties.staticRouteConfiguration.bfdConfiguration" options="bfd-configuration" cls="BfdConfiguration_create">
<help short="BFD configuration properties"/>
<arg type="integer32" var="@BfdConfiguration_create.intervalInMilliSeconds" options="interval-in-milli-seconds">
<help short="Interval in milliseconds. Example: 300."/>
<default value="300"/>
</arg>
<arg type="integer32" var="@BfdConfiguration_create.multiplier" options="multiplier">
<help short="Multiplier for the Bfd Configuration. Example: 5."/>
<default value="5"/>
</arg>
</arg>
<arg type="array<object>" var="$resource.properties.staticRouteConfiguration.ipv4Routes" options="ipv4-routes">
<help short="List of IPv4 Routes."/>
<item type="object" cls="StaticRouteProperties_create">
<arg type="array<string>" var="@StaticRouteProperties_create.nextHop" options="next-hop" required="True">
<help short="List of next hop addresses."/>
<format minLength="1"/>
<item type="string"/>
</arg>
<arg type="string" var="@StaticRouteProperties_create.prefix" options="prefix" required="True">
<help short="Prefix of the route."/>
<format minLength="1"/>
</arg>
</item>
</arg>
<arg type="array<@StaticRouteProperties_create>" var="$resource.properties.staticRouteConfiguration.ipv6Routes" options="ipv6-routes">
<help short="List of IPv6 Routes."/>
<item type="@StaticRouteProperties_create"/>
</arg>
</arg>
</argGroup>
<operation operationId="ExternalNetworks_Create">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}">
<request method="put">
<path>
<param type="string" name="externalNetworkName" arg="$Path.externalNetworkName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="l3IsolationDomainName" arg="$Path.l3IsolationDomainName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-06-15-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json>
<schema type="object" name="resource" required="True" clientFlatten="True">
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="annotation" arg="$resource.properties.annotation"/>
<prop type="object" name="exportRoutePolicy" arg="$resource.properties.exportRoutePolicy">
<prop type="ResourceId" name="exportIpv4RoutePolicyId" arg="$resource.properties.exportRoutePolicy.exportIpv4RoutePolicyId"/>
<prop type="ResourceId" name="exportIpv6RoutePolicyId" arg="$resource.properties.exportRoutePolicy.exportIpv6RoutePolicyId"/>
</prop>
<prop type="object" name="importRoutePolicy" arg="$resource.properties.importRoutePolicy">
<prop type="ResourceId" name="importIpv4RoutePolicyId" arg="$resource.properties.importRoutePolicy.importIpv4RoutePolicyId"/>
<prop type="ResourceId" name="importIpv6RoutePolicyId" arg="$resource.properties.importRoutePolicy.importIpv6RoutePolicyId"/>
</prop>
<prop type="ResourceId" name="networkToNetworkInterconnectId" arg="$resource.properties.networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties" arg="$resource.properties.optionAProperties">
<prop type="object" name="bfdConfiguration" arg="$resource.properties.optionAProperties.bfdConfiguration">
<prop type="integer32" name="intervalInMilliSeconds" arg="$resource.properties.optionAProperties.bfdConfiguration.intervalInMilliSeconds">
<default value="300"/>
</prop>
<prop type="integer32" name="multiplier" arg="$resource.properties.optionAProperties.bfdConfiguration.multiplier">
<default value="5"/>
</prop>
</prop>
<prop type="object" name="bmpConfiguration" arg="$resource.properties.optionAProperties.bmpConfiguration">
<prop type="string" name="configurationState" arg="$resource.properties.optionAProperties.bmpConfiguration.configurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="egressAclId" arg="$resource.properties.optionAProperties.egressAclId"/>
<prop type="ResourceId" name="ingressAclId" arg="$resource.properties.optionAProperties.ingressAclId"/>
<prop type="integer32" name="mtu" arg="$resource.properties.optionAProperties.mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</prop>
<prop type="object" name="nativeIpv4PrefixLimit" arg="$resource.properties.optionAProperties.nativeIpv4PrefixLimit">
<prop type="array<object>" name="prefixLimits" arg="$resource.properties.optionAProperties.nativeIpv4PrefixLimit.prefixLimits">
<format minLength="1"/>
<item type="object" cls="PrefixLimitProperties_create">
<prop type="integer32" name="idleTimeExpiry" arg="@PrefixLimitProperties_create.idleTimeExpiry">
<default value="60"/>
</prop>
<prop type="integer32" name="maximumRoutes" arg="@PrefixLimitProperties_create.maximumRoutes"/>
<prop type="integer32" name="threshold" arg="@PrefixLimitProperties_create.threshold"/>
</item>
</prop>
</prop>
<prop type="object" name="nativeIpv6PrefixLimit" arg="$resource.properties.optionAProperties.nativeIpv6PrefixLimit">
<prop type="array<@PrefixLimitProperties_create>" name="prefixLimits" arg="$resource.properties.optionAProperties.nativeIpv6PrefixLimit.prefixLimits">
<format minLength="1"/>
<item type="@PrefixLimitProperties_create"/>
</prop>
</prop>
<prop type="integer64" name="peerASN" arg="$resource.properties.optionAProperties.peerASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" arg="$resource.properties.optionAProperties.primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix" arg="$resource.properties.optionAProperties.primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" arg="$resource.properties.optionAProperties.secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix" arg="$resource.properties.optionAProperties.secondaryIpv6Prefix"/>
<prop type="string" name="v4OverV6BgpSession" arg="$resource.properties.optionAProperties.v4OverV6BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="v6OverV4BgpSession" arg="$resource.properties.optionAProperties.v6OverV4BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="integer32" name="vlanId" arg="$resource.properties.optionAProperties.vlanId" required="True">
<format maximum="4094" minimum="501"/>
</prop>
</prop>
<prop type="object" name="optionBProperties" arg="$resource.properties.optionBProperties">
<prop type="array<string>" name="exportRouteTargets" arg="$resource.properties.optionBProperties.exportRouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importRouteTargets" arg="$resource.properties.optionBProperties.importRouteTargets">
<item type="string"/>
</prop>
<prop type="object" name="routeTargets" arg="$resource.properties.optionBProperties.routeTargets">
<prop type="array<string>" name="exportIpv4RouteTargets" arg="$resource.properties.optionBProperties.routeTargets.exportIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="exportIpv6RouteTargets" arg="$resource.properties.optionBProperties.routeTargets.exportIpv6RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv4RouteTargets" arg="$resource.properties.optionBProperties.routeTargets.importIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv6RouteTargets" arg="$resource.properties.optionBProperties.routeTargets.importIpv6RouteTargets">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="string" name="peeringOption" arg="$resource.properties.peeringOption" required="True">
<enum>
<item value=""OptionA""/>
<item value=""OptionB""/>
</enum>
</prop>
<prop type="object" name="staticRouteConfiguration" arg="$resource.properties.staticRouteConfiguration">
<prop type="object" name="bfdConfiguration" arg="$resource.properties.staticRouteConfiguration.bfdConfiguration" cls="BfdConfiguration_create">
<prop type="integer32" name="intervalInMilliSeconds" arg="@BfdConfiguration_create.intervalInMilliSeconds">
<default value="300"/>
</prop>
<prop type="integer32" name="multiplier" arg="@BfdConfiguration_create.multiplier">
<default value="5"/>
</prop>
</prop>
<prop type="array<object>" name="ipv4Routes" arg="$resource.properties.staticRouteConfiguration.ipv4Routes" identifiers="prefix">
<item type="object" cls="StaticRouteProperties_create">
<prop type="array<string>" name="nextHop" arg="@StaticRouteProperties_create.nextHop" required="True">
<format minLength="1"/>
<item type="string"/>
</prop>
<prop type="string" name="prefix" arg="@StaticRouteProperties_create.prefix" required="True">
<format minLength="1"/>
</prop>
</item>
</prop>
<prop type="array<@StaticRouteProperties_create>" name="ipv6Routes" arg="$resource.properties.staticRouteConfiguration.ipv6Routes" identifiers="prefix">
<item type="@StaticRouteProperties_create"/>
</prop>
</prop>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{}/externalNetworks/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="administrativeState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""MAT""/>
<item value=""RMA""/>
<item value=""UnderMaintenance""/>
</enum>
</prop>
<prop type="string" name="annotation"/>
<prop readOnly="True" type="string" name="configurationState">
<enum>
<item value=""Accepted""/>
<item value=""DeferredControl""/>
<item value=""Deprovisioned""/>
<item value=""Deprovisioning""/>
<item value=""ErrorDeprovisioning""/>
<item value=""ErrorProvisioning""/>
<item value=""Failed""/>
<item value=""PendingCommit""/>
<item value=""Provisioned""/>
<item value=""Provisioning""/>
<item value=""Rejected""/>
<item value=""Succeeded""/>
</enum>
</prop>
<prop type="object" name="exportRoutePolicy">
<prop type="ResourceId" name="exportIpv4RoutePolicyId"/>
<prop type="ResourceId" name="exportIpv6RoutePolicyId"/>
</prop>
<prop type="object" name="importRoutePolicy">
<prop type="ResourceId" name="importIpv4RoutePolicyId"/>
<prop type="ResourceId" name="importIpv6RoutePolicyId"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration" cls="BfdConfiguration_read">
<prop readOnly="True" type="string" name="administrativeState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""MAT""/>
<item value=""RMA""/>
</enum>
</prop>
<prop type="integer32" name="intervalInMilliSeconds">
<default value="300"/>
</prop>
<prop type="integer32" name="multiplier">
<default value="5"/>
</prop>
</prop>
<prop type="object" name="bmpConfiguration">
<prop type="string" name="configurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="egressAclId"/>
<prop readOnly="True" type="integer64" name="fabricASN">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="ResourceId" name="ingressAclId"/>
<prop type="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</prop>
<prop type="object" name="nativeIpv4PrefixLimit">
<prop type="array<object>" name="prefixLimits">
<format minLength="1"/>
<item type="object" cls="PrefixLimitProperties_read">
<prop type="integer32" name="idleTimeExpiry">
<default value="60"/>
</prop>
<prop type="integer32" name="maximumRoutes"/>
<prop type="integer32" name="threshold"/>
</item>
</prop>
</prop>
<prop type="object" name="nativeIpv6PrefixLimit">
<prop type="array<@PrefixLimitProperties_read>" name="prefixLimits">
<format minLength="1"/>
<item type="@PrefixLimitProperties_read"/>
</prop>
</prop>
<prop type="integer64" name="peerASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="v4OverV6BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="v6OverV4BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="integer32" name="vlanId" required="True">
<format maximum="4094" minimum="501"/>
</prop>
</prop>
<prop type="object" name="optionBProperties">
<prop type="array<string>" name="exportRouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importRouteTargets">
<item type="string"/>
</prop>
<prop type="object" name="routeTargets">
<prop type="array<string>" name="exportIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="exportIpv6RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv6RouteTargets">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="string" name="peeringOption" required="True">
<enum>
<item value=""OptionA""/>
<item value=""OptionB""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="staticRouteConfiguration">
<prop type="@BfdConfiguration_read" name="bfdConfiguration"/>
<prop type="array<object>" name="ipv4Routes" identifiers="prefix">
<item type="object" cls="StaticRouteProperties_read">
<prop type="array<string>" name="nextHop" required="True">
<format minLength="1"/>
<item type="string"/>
</prop>
<prop type="string" name="prefix" required="True">
<format minLength="1"/>
</prop>
</item>
</prop>
<prop type="array<@StaticRouteProperties_read>" name="ipv6Routes" identifiers="prefix">
<item type="@StaticRouteProperties_read"/>
</prop>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2024-06-15-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbDNJc29sYXRpb25Eb21haW5zL3tsM0lzb2xhdGlvbkRvbWFpbk5hbWV9L2V4dGVybmFsTmV0d29ya3Mve2V4dGVybmFsTmV0d29ya05hbWV9/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.externalNetworkName" options="resource-name" required="True" group="" idPart="child_name_1">
<help short="Name of the External Network."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="string" var="$Path.l3IsolationDomainName" options="l3-isolation-domain-name l3domain" required="True" group="" idPart="name">
<help short="Name of the L3 Isolation Domain."/>
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="string" var="$properties.properties.annotation" options="annotation" group="Properties">
<help short="Switch configuration description."/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.exportRoutePolicy" options="export-route-policy" group="Properties">
<help short="Export Route Policy either IPv4 or IPv6."/>
<arg type="ResourceId" var="$properties.properties.exportRoutePolicy.exportIpv4RoutePolicyId" options="export-ipv4-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
<arg type="ResourceId" var="$properties.properties.exportRoutePolicy.exportIpv6RoutePolicyId" options="export-ipv6-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.importRoutePolicy" options="import-route-policy" group="Properties">
<help short="Import Route Policy either IPv4 or IPv6."/>
<arg type="ResourceId" var="$properties.properties.importRoutePolicy.importIpv4RoutePolicyId" options="import-ipv4-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
<arg type="ResourceId" var="$properties.properties.importRoutePolicy.importIpv6RoutePolicyId" options="import-ipv6-route-policy-id">
<help short="ARM resource ID of RoutePolicy."/>
</arg>
</arg>
<arg nullable="True" type="ResourceId" var="$properties.properties.networkToNetworkInterconnectId" options="network-to-network-interconnect-id nni-id" group="Properties">
<help short="ARM Resource ID of the networkToNetworkInterconnectId of the ExternalNetwork resource."/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.optionAProperties" options="option-a-properties" group="Properties">
<help short="option A properties object"/>
<arg type="object" var="$properties.properties.optionAProperties.bfdConfiguration" options="bfd-configuration">
<help short="BFD configuration properties"/>
<arg type="integer32" var="$properties.properties.optionAProperties.bfdConfiguration.intervalInMilliSeconds" options="interval-in-milli-seconds">
<help short="Interval in milliseconds. Example: 300."/>
</arg>
<arg type="integer32" var="$properties.properties.optionAProperties.bfdConfiguration.multiplier" options="multiplier">
<help short="Multiplier for the Bfd Configuration. Example: 5."/>
</arg>
</arg>
<arg type="object" var="$properties.properties.optionAProperties.bmpConfiguration" options="bmp-configuration">
<help short="BMP Monitor Configuration."/>
<arg type="string" var="$properties.properties.optionAProperties.bmpConfiguration.configurationState" options="configuration-state">
<help short="BMP Configuration State."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</arg>
<arg type="ResourceId" var="$properties.properties.optionAProperties.egressAclId" options="egress-acl-id">
<help short="Egress Acl. ARM resource ID of Access Control Lists."/>
</arg>
<arg type="ResourceId" var="$properties.properties.optionAProperties.ingressAclId" options="ingress-acl-id">
<help short="Ingress Acl. ARM resource ID of Access Control Lists."/>
</arg>
<arg type="integer32" var="$properties.properties.optionAProperties.mtu" options="mtu">
<help short="MTU to use for option A peering."/>
<format maximum="9200" minimum="64"/>
</arg>
<arg type="object" var="$properties.properties.optionAProperties.nativeIpv4PrefixLimit" options="native-ipv4-prefix-limit">
<help short="Native IPv4 prefix limit configuration"/>
<arg type="array<object>" var="$properties.properties.optionAProperties.nativeIpv4PrefixLimit.prefixLimits" options="prefix-limits">
<help short="Prefix limits"/>
<format minLength="1"/>
<item type="object" cls="PrefixLimitPatchProperties_update">
<arg type="integer32" var="@PrefixLimitPatchProperties_update.idleTimeExpiry" options="idle-time-expiry">
<help short="Idle time expiry in seconds."/>
</arg>
<arg type="integer32" var="@PrefixLimitPatchProperties_update.maximumRoutes" options="maximum-routes">
<help short="Maximum routes allowed."/>
</arg>
<arg type="integer32" var="@PrefixLimitPatchProperties_update.threshold" options="threshold">
<help short="Limit at which route prefixes a warning is generate."/>
</arg>
</item>
</arg>
</arg>
<arg type="object" var="$properties.properties.optionAProperties.nativeIpv6PrefixLimit" options="native-ipv6-prefix-limit">
<help short="Native IPv6 prefix limit configuration"/>
<arg type="array<@PrefixLimitPatchProperties_update>" var="$properties.properties.optionAProperties.nativeIpv6PrefixLimit.prefixLimits" options="prefix-limits">
<help short="Prefix limits"/>
<format minLength="1"/>
<item type="@PrefixLimitPatchProperties_update"/>
</arg>
</arg>
<arg type="integer64" var="$properties.properties.optionAProperties.peerASN" options="peer-asn">
<help short="Peer ASN number.Example : 28"/>
<format maximum="4294967295" minimum="1"/>
</arg>
<arg type="string" var="$properties.properties.optionAProperties.primaryIpv4Prefix" options="primary-ipv4-prefix">
<help short="IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.optionAProperties.primaryIpv6Prefix" options="primary-ipv6-prefix">
<help short="IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.optionAProperties.secondaryIpv4Prefix" options="secondary-ipv4-prefix">
<help short="Secondary IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.optionAProperties.secondaryIpv6Prefix" options="secondary-ipv6-prefix">
<help short="Secondary IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.optionAProperties.v4OverV6BgpSession" options="v4-over-v6-bgp-session">
<help short="V4OverV6 BGP Session state"/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.optionAProperties.v6OverV4BgpSession" options="v6-over-v4-bgp-session">
<help short="V6OverV4 BGP Session state"/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="integer32" var="$properties.properties.optionAProperties.vlanId" options="vlan-id">
<help short="Vlan identifier. Example : 501"/>
<format maximum="4094" minimum="501"/>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.optionBProperties" options="option-b-properties" group="Properties">
<help short="option B properties object"/>
<arg type="array<string>" var="$properties.properties.optionBProperties.exportRouteTargets" options="export-route-targets">
<help short="RouteTargets to be applied. This is used for the backward compatibility."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.optionBProperties.importRouteTargets" options="import-route-targets">
<help short="RouteTargets to be applied. This is used for the backward compatibility."/>
<item type="string"/>
</arg>
<arg type="object" var="$properties.properties.optionBProperties.routeTargets" options="route-targets">
<help short="RouteTargets to be applied."/>
<arg type="array<string>" var="$properties.properties.optionBProperties.routeTargets.exportIpv4RouteTargets" options="export-ipv4-route-targets">
<help short="Route Targets to be applied for outgoing routes into CE."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.optionBProperties.routeTargets.exportIpv6RouteTargets" options="export-ipv6-route-targets">
<help short="Route Targets to be applied for outgoing routes from CE."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.optionBProperties.routeTargets.importIpv4RouteTargets" options="import-ipv4-route-targets">
<help short="Route Targets to be applied for incoming routes into CE."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.optionBProperties.routeTargets.importIpv6RouteTargets" options="import-ipv6-route-targets">
<help short="Route Targets to be applied for incoming routes from CE."/>
<item type="string"/>
</arg>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.peeringOption" options="peering-option" group="Properties">
<help short="Peering option list."/>
<enum>
<item name="OptionA" value=""OptionA""/>
<item name="OptionB" value=""OptionB""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.staticRouteConfiguration" options="static-route-configuration" group="Properties">
<help short="Static Route Configuration."/>
<arg type="object" var="$properties.properties.staticRouteConfiguration.bfdConfiguration" options="bfd-configuration" cls="BfdPatchConfiguration_update">
<help short="BFD configuration properties"/>
<arg type="integer32" var="@BfdPatchConfiguration_update.intervalInMilliSeconds" options="interval-in-milli-seconds">
<help short="Interval in milliseconds. Example: 300."/>
</arg>
<arg type="integer32" var="@BfdPatchConfiguration_update.multiplier" options="multiplier">
<help short="Multiplier for the Bfd Configuration. Example: 5."/>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.staticRouteConfiguration.ipv4Routes" options="ipv4-routes">
<help short="List of IPv4 Routes."/>
<item type="object" cls="StaticRoutePatchProperties_update">
<arg type="array<string>" var="@StaticRoutePatchProperties_update.nextHop" options="next-hop" required="True">
<help short="List of next hop addresses."/>
<format minLength="1"/>
<item type="string"/>
</arg>
<arg type="string" var="@StaticRoutePatchProperties_update.prefix" options="prefix" required="True">
<help short="Prefix of the route."/>
<format minLength="1"/>
</arg>
</item>
</arg>
<arg type="array<@StaticRoutePatchProperties_update>" var="$properties.properties.staticRouteConfiguration.ipv6Routes" options="ipv6-routes">
<help short="List of IPv6 Routes."/>
<item type="@StaticRoutePatchProperties_update"/>
</arg>
</arg>
</argGroup>
<operation operationId="ExternalNetworks_Update">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}">
<request method="patch">
<path>
<param type="string" name="externalNetworkName" arg="$Path.externalNetworkName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="l3IsolationDomainName" arg="$Path.l3IsolationDomainName" required="True">
<format pattern="^[a-zA-Z]{1}[a-zA-Z0-9-_]{2,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-06-15-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json>
<schema type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="properties">
<prop nullable="True" type="string" name="annotation" arg="$properties.properties.annotation"/>
<prop nullable="True" type="object" name="exportRoutePolicy" arg="$properties.properties.exportRoutePolicy">
<prop type="ResourceId" name="exportIpv4RoutePolicyId" arg="$properties.properties.exportRoutePolicy.exportIpv4RoutePolicyId"/>
<prop type="ResourceId" name="exportIpv6RoutePolicyId" arg="$properties.properties.exportRoutePolicy.exportIpv6RoutePolicyId"/>
</prop>
<prop nullable="True" type="object" name="importRoutePolicy" arg="$properties.properties.importRoutePolicy">
<prop type="ResourceId" name="importIpv4RoutePolicyId" arg="$properties.properties.importRoutePolicy.importIpv4RoutePolicyId"/>
<prop type="ResourceId" name="importIpv6RoutePolicyId" arg="$properties.properties.importRoutePolicy.importIpv6RoutePolicyId"/>
</prop>
<prop nullable="True" type="ResourceId" name="networkToNetworkInterconnectId" arg="$properties.properties.networkToNetworkInterconnectId"/>
<prop nullable="True" type="object" name="optionAProperties" arg="$properties.properties.optionAProperties">
<prop type="object" name="bfdConfiguration" arg="$properties.properties.optionAProperties.bfdConfiguration">
<prop type="integer32" name="intervalInMilliSeconds" arg="$properties.properties.optionAProperties.bfdConfiguration.intervalInMilliSeconds"/>
<prop type="integer32" name="multiplier" arg="$properties.properties.optionAProperties.bfdConfiguration.multiplier"/>
</prop>
<prop type="object" name="bmpConfiguration" arg="$properties.properties.optionAProperties.bmpConfiguration">
<prop type="string" name="configurationState" arg="$properties.properties.optionAProperties.bmpConfiguration.configurationState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="egressAclId" arg="$properties.properties.optionAProperties.egressAclId"/>
<prop type="ResourceId" name="ingressAclId" arg="$properties.properties.optionAProperties.ingressAclId"/>
<prop type="integer32" name="mtu" arg="$properties.properties.optionAProperties.mtu">
<format maximum="9200" minimum="64"/>
</prop>
<prop type="object" name="nativeIpv4PrefixLimit" arg="$properties.properties.optionAProperties.nativeIpv4PrefixLimit">
<prop type="array<object>" name="prefixLimits" arg="$properties.properties.optionAProperties.nativeIpv4PrefixLimit.prefixLimits">
<format minLength="1"/>
<item type="object" cls="PrefixLimitPatchProperties_update">
<prop type="integer32" name="idleTimeExpiry" arg="@PrefixLimitPatchProperties_update.idleTimeExpiry"/>
<prop type="integer32" name="maximumRoutes" arg="@PrefixLimitPatchProperties_update.maximumRoutes"/>
<prop type="integer32" name="threshold" arg="@PrefixLimitPatchProperties_update.threshold"/>
</item>
</prop>
</prop>
<prop type="object" name="nativeIpv6PrefixLimit" arg="$properties.properties.optionAProperties.nativeIpv6PrefixLimit">
<prop type="array<@PrefixLimitPatchProperties_update>" name="prefixLimits" arg="$properties.properties.optionAProperties.nativeIpv6PrefixLimit.prefixLimits">
<format minLength="1"/>
<item type="@PrefixLimitPatchProperties_update"/>
</prop>
</prop>
<prop type="integer64" name="peerASN" arg="$properties.properties.optionAProperties.peerASN">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" arg="$properties.properties.optionAProperties.primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix" arg="$properties.properties.optionAProperties.primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" arg="$properties.properties.optionAProperties.secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix" arg="$properties.properties.optionAProperties.secondaryIpv6Prefix"/>
<prop type="string" name="v4OverV6BgpSession" arg="$properties.properties.optionAProperties.v4OverV6BgpSession">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="v6OverV4BgpSession" arg="$properties.properties.optionAProperties.v6OverV4BgpSession">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="integer32" name="vlanId" arg="$properties.properties.optionAProperties.vlanId">
<format maximum="4094" minimum="501"/>
</prop>
</prop>
<prop nullable="True" type="object" name="optionBProperties" arg="$properties.properties.optionBProperties">
<prop type="array<string>" name="exportRouteTargets" arg="$properties.properties.optionBProperties.exportRouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importRouteTargets" arg="$properties.properties.optionBProperties.importRouteTargets">
<item type="string"/>
</prop>
<prop type="object" name="routeTargets" arg="$properties.properties.optionBProperties.routeTargets">
<prop type="array<string>" name="exportIpv4RouteTargets" arg="$properties.properties.optionBProperties.routeTargets.exportIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="exportIpv6RouteTargets" arg="$properties.properties.optionBProperties.routeTargets.exportIpv6RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv4RouteTargets" arg="$properties.properties.optionBProperties.routeTargets.importIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv6RouteTargets" arg="$properties.properties.optionBProperties.routeTargets.importIpv6RouteTargets">
<item type="string"/>
</prop>
</prop>
</prop>
<prop nullable="True" type="string" name="peeringOption" arg="$properties.properties.peeringOption">
<enum>
<item value=""OptionA""/>
<item value=""OptionB""/>
</enum>
</prop>
<prop nullable="True" type="object" name="staticRouteConfiguration" arg="$properties.properties.staticRouteConfiguration">
<prop type="object" name="bfdConfiguration" arg="$properties.properties.staticRouteConfiguration.bfdConfiguration" cls="BfdPatchConfiguration_update">
<prop type="integer32" name="intervalInMilliSeconds" arg="@BfdPatchConfiguration_update.intervalInMilliSeconds"/>
<prop type="integer32" name="multiplier" arg="@BfdPatchConfiguration_update.multiplier"/>
</prop>
<prop type="array<object>" name="ipv4Routes" arg="$properties.properties.staticRouteConfiguration.ipv4Routes" identifiers="prefix">
<item type="object" cls="StaticRoutePatchProperties_update">
<prop type="array<string>" name="nextHop" arg="@StaticRoutePatchProperties_update.nextHop" required="True">
<format minLength="1"/>
<item type="string"/>
</prop>
<prop type="string" name="prefix" arg="@StaticRoutePatchProperties_update.prefix" required="True">
<format minLength="1"/>
</prop>
</item>
</prop>
<prop type="array<@StaticRoutePatchProperties_update>" name="ipv6Routes" arg="$properties.properties.staticRouteConfiguration.ipv6Routes" identifiers="prefix">
<item type="@StaticRoutePatchProperties_update"/>
</prop>
</prop>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{}/externalNetworks/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="string" name="administrativeState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""MAT""/>
<item value=""RMA""/>
<item value=""UnderMaintenance""/>
</enum>
</prop>
<prop type="string" name="annotation"/>
<prop readOnly="True" type="string" name="configurationState">
<enum>
<item value=""Accepted""/>
<item value=""DeferredControl""/>
<item value=""Deprovisioned""/>
<item value=""Deprovisioning""/>
<item value=""ErrorDeprovisioning""/>
<item value=""ErrorProvisioning""/>
<item value=""Failed""/>
<item value=""PendingCommit""/>
<item value=""Provisioned""/>
<item value=""Provisioning""/>
<item value=""Rejected""/>
<item value=""Succeeded""/>
</enum>
</prop>
<prop type="object" name="exportRoutePolicy">
<prop type="ResourceId" name="exportIpv4RoutePolicyId"/>
<prop type="ResourceId" name="exportIpv6RoutePolicyId"/>
</prop>
<prop type="object" name="importRoutePolicy">
<prop type="ResourceId" name="importIpv4RoutePolicyId"/>
<prop type="ResourceId" name="importIpv6RoutePolicyId"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration" cls="BfdConfiguration_read">
<prop readOnly="True" type="string" name="administrativeState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""MAT""/>
<item value=""RMA""/>
</enum>
</prop>
<prop type="integer32" name="intervalInMilliSeconds">
<default value="300"/>
</prop>
<prop type="integer32" name="multiplier">
<default value="5"/>
</prop>
</prop>
<prop type="object" name="bmpConfiguration">
<prop type="string" name="configurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="ResourceId" name="egressAclId"/>
<prop readOnly="True" type="integer64" name="fabricASN">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="ResourceId" name="ingressAclId"/>
<prop type="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</prop>
<prop type="object" name="nativeIpv4PrefixLimit">
<prop type="array<object>" name="prefixLimits">
<format minLength="1"/>
<item type="object" cls="PrefixLimitProperties_read">
<prop type="integer32" name="idleTimeExpiry">
<default value="60"/>
</prop>
<prop type="integer32" name="maximumRoutes"/>
<prop type="integer32" name="threshold"/>
</item>
</prop>
</prop>
<prop type="object" name="nativeIpv6PrefixLimit">
<prop type="array<@PrefixLimitProperties_read>" name="prefixLimits">
<format minLength="1"/>
<item type="@PrefixLimitProperties_read"/>
</prop>
</prop>
<prop type="integer64" name="peerASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="v4OverV6BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="v6OverV4BgpSession">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="integer32" name="vlanId" required="True">
<format maximum="4094" minimum="501"/>
</prop>
</prop>
<prop type="object" name="optionBProperties">
<prop type="array<string>" name="exportRouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importRouteTargets">
<item type="string"/>
</prop>
<prop type="object" name="routeTargets">
<prop type="array<string>" name="exportIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="exportIpv6RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv6RouteTargets">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="string" name="peeringOption" required="True">
<enum>
<item value=""OptionA""/>
<item value=""OptionB""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="staticRouteConfiguration">
<prop type="@BfdConfiguration_read" name="bfdConfiguration"/>
<prop type="array<object>" name="ipv4Routes" identifiers="prefix">
<item type="object" cls="StaticRouteProperties_read">
<prop type="array<string>" name="nextHop" required="True">
<format minLength="1"/>
<item type="string"/>
</prop>
<prop type="string" name="prefix" required="True">
<format minLength="1"/>
</prop>
</item>
</prop>
<prop type="array<@StaticRouteProperties_read>" name="ipv6Routes" identifiers="prefix">
<item type="@StaticRouteProperties_read"/>
</prop>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response statusCode="202">
<header>
<item name="Location"/>
<item name="Retry-After"/>
</header>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
</commandGroup>
</CodeGen>