Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5tYW5hZ2VkbmV0d29ya2ZhYnJpYy9uZXR3b3JrZmFicmljcy97fQ==/2024-06-15-preview.xml (3,010 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<commandGroup name="networkfabric fabric">
<command name="show" version="2024-06-15-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.networkFabricName" options="resource-name" required="True" group="" idPart="name">
<help short="Name of the Network Fabric."/>
<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="NetworkFabrics_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="get">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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/networkFabrics/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="array<string>" name="activeCommitBatches">
<item type="string"/>
</prop>
<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="array<ResourceId>" name="controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop type="integer64" name="fabricASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="fabricLocks">
<format minLength="1"/>
<item type="object">
<prop type="string" name="lockState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="lockType">
<enum>
<item value=""Administrative""/>
<item value=""Configuration""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="fabricVersion">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="featureFlags">
<item type="object">
<prop type="string" name="featureFlagName"/>
<prop type="string" name="featureFlagValue"/>
</item>
</prop>
<prop type="integer32" name="hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop type="string" name="ipv4Prefix" required="True">
<format minLength="1"/>
</prop>
<prop type="string" name="ipv6Prefix">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="l2IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="l3IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="object" name="managementNetworkConfiguration" required="True">
<prop type="object" name="infrastructureVpnConfiguration" required="True" cls="VpnConfigurationProperties_read">
<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="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration">
<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="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</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="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>
<prop type="@VpnConfigurationProperties_read" name="workloadVpnConfiguration" required="True"/>
</prop>
<prop type="ResourceId" name="networkFabricControllerId" required="True"/>
<prop type="string" name="networkFabricSku" required="True">
<format minLength="1"/>
</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="integer32" name="rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="racks">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="routerIds">
<item type="string"/>
</prop>
<prop type="integer32" name="serverCountPerRack" required="True">
<format maximum="16" minimum="1"/>
</prop>
<prop type="object" name="storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId"/>
<prop type="object" name="storageAccountIdentity">
<prop type="string" name="identityType" required="True">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop type="integer32" name="storageArrayCount">
<format maximum="2" minimum="1"/>
</prop>
<prop type="object" name="terminalServerConfiguration" required="True">
<prop readOnly="True" type="string" name="networkDeviceId"/>
<prop type="password" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" required="True"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" required="True"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="array<ResourceId>" name="trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop type="object" name="uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<string>" name="uniqueRds">
<item type="string"/>
</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 type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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/networkfabrics/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.networkFabricName" options="resource-name" required="True" group="" idPart="name">
<help short="Name of the Network Fabric."/>
<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="NetworkFabrics_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="delete">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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/networkfabrics/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.networkFabricName" options="resource-name" required="True" group="" idPart="name">
<help short="Name of the Network Fabric."/>
<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="Identity">
<arg type="string" var="$resource.identity.systemAssigned" options="mi-system-assigned system-assigned" group="Identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="string" var="$resource.identity.type" options="type" hide="True" group="Identity">
<help short="Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)."/>
<enum>
<item name="None" value=""None""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="SystemAssigned,UserAssigned" value=""SystemAssigned,UserAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg type="array<string>" var="$resource.identity.userAssigned" options="mi-user-assigned user-assigned" group="Identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
<arg type="object" var="$resource.identity.userAssignedIdentities" options="user-assigned-identities" hide="True" group="Identity">
<help short="The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests."/>
<additionalProp>
<item nullable="True" type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="string" var="$resource.properties.annotation" options="annotation" group="Properties">
<help short="Switch configuration description."/>
</arg>
<arg type="array<ResourceId>" var="$resource.properties.controlPlaneAcls" options="control-plane-acls" group="Properties">
<help short="Control Plane Access Control List ARM resource IDs."/>
<item type="ResourceId"/>
</arg>
<arg type="integer64" var="$resource.properties.fabricASN" options="fabric-asn" required="True" group="Properties">
<help short="ASN of CE devices for CE/PE connectivity."/>
<format maximum="4294967295" minimum="1"/>
</arg>
<arg type="string" var="$resource.properties.fabricVersion" options="fabric-version" group="Properties">
<help short="The version of Network Fabric."/>
<format minLength="1"/>
</arg>
<arg type="integer32" var="$resource.properties.hardwareAlertThreshold" options="hardware-alert-threshold" group="Properties">
<help short="Hardware alert threshold percentage. Possible values are from 20 to 100."/>
<format maximum="100" minimum="20"/>
</arg>
<arg type="string" var="$resource.properties.ipv4Prefix" options="ipv4-prefix" required="True" group="Properties">
<help short="IPv4Prefix for Management Network. Example: 10.1.0.0/19."/>
<format minLength="1"/>
</arg>
<arg type="string" var="$resource.properties.ipv6Prefix" options="ipv6-prefix" group="Properties">
<help short="IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59"/>
<format minLength="1"/>
</arg>
<arg type="object" var="$resource.properties.managementNetworkConfiguration" options="management-network-configuration managed-network-config" required="True" group="Properties">
<help short="Configuration to be used to setup the management network."/>
<arg type="object" var="$resource.properties.managementNetworkConfiguration.infrastructureVpnConfiguration" options="infrastructure-vpn-configuration" required="True" cls="VpnConfigurationProperties_create">
<help short="VPN Configuration properties."/>
<arg type="ResourceId" var="@VpnConfigurationProperties_create.networkToNetworkInterconnectId" options="network-to-network-interconnect-id">
<help short="ARM Resource ID of the Network To Network Interconnect."/>
</arg>
<arg type="object" var="@VpnConfigurationProperties_create.optionAProperties" options="option-a-properties">
<help short="option A properties"/>
<arg type="object" var="@VpnConfigurationProperties_create.optionAProperties.bfdConfiguration" options="bfd-configuration">
<help short="BFD Configuration properties."/>
<arg type="integer32" var="@VpnConfigurationProperties_create.optionAProperties.bfdConfiguration.intervalInMilliSeconds" options="interval-in-milli-seconds">
<help short="Interval in milliseconds. Example: 300."/>
<default value="300"/>
</arg>
<arg type="integer32" var="@VpnConfigurationProperties_create.optionAProperties.bfdConfiguration.multiplier" options="multiplier">
<help short="Multiplier for the Bfd Configuration. Example: 5."/>
<default value="5"/>
</arg>
</arg>
<arg type="integer32" var="@VpnConfigurationProperties_create.optionAProperties.mtu" options="mtu">
<help short="MTU to use for option A peering."/>
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</arg>
<arg type="integer64" var="@VpnConfigurationProperties_create.optionAProperties.peerASN" options="peer-asn" required="True">
<help short="Peer ASN number.Example : 28"/>
<format maximum="4294967295" minimum="1"/>
</arg>
<arg type="string" var="@VpnConfigurationProperties_create.optionAProperties.primaryIpv4Prefix" options="primary-ipv4-prefix">
<help short="IPv4 Address Prefix."/>
</arg>
<arg type="string" var="@VpnConfigurationProperties_create.optionAProperties.primaryIpv6Prefix" options="primary-ipv6-prefix">
<help short="IPv6 Address Prefix."/>
</arg>
<arg type="string" var="@VpnConfigurationProperties_create.optionAProperties.secondaryIpv4Prefix" options="secondary-ipv4-prefix">
<help short="Secondary IPv4 Address Prefix."/>
</arg>
<arg type="string" var="@VpnConfigurationProperties_create.optionAProperties.secondaryIpv6Prefix" options="secondary-ipv6-prefix">
<help short="Secondary IPv6 Address Prefix."/>
</arg>
<arg type="integer32" var="@VpnConfigurationProperties_create.optionAProperties.vlanId" options="vlan-id" required="True">
<help short="Vlan Id.Example : 501"/>
<format maximum="4094" minimum="501"/>
</arg>
</arg>
<arg type="object" var="@VpnConfigurationProperties_create.optionBProperties" options="option-b-properties">
<help short="option B properties"/>
<arg type="array<string>" var="@VpnConfigurationProperties_create.optionBProperties.exportRouteTargets" options="export-route-targets">
<help short="Route Targets to be applied for outgoing routes from CE. This is for backward compatibility."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="@VpnConfigurationProperties_create.optionBProperties.importRouteTargets" options="import-route-targets">
<help short="Route Targets to be applied for incoming routes into CE. This is for backward compatibility."/>
<item type="string"/>
</arg>
<arg type="object" var="@VpnConfigurationProperties_create.optionBProperties.routeTargets" options="route-targets">
<help short="Route Targets to be applied."/>
<arg type="array<string>" var="@VpnConfigurationProperties_create.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="@VpnConfigurationProperties_create.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="@VpnConfigurationProperties_create.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="@VpnConfigurationProperties_create.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="@VpnConfigurationProperties_create.peeringOption" options="peering-option" required="True">
<help short="Peering option list."/>
<enum>
<item name="OptionA" value=""OptionA""/>
<item name="OptionB" value=""OptionB""/>
</enum>
</arg>
</arg>
<arg type="@VpnConfigurationProperties_create" var="$resource.properties.managementNetworkConfiguration.workloadVpnConfiguration" options="workload-vpn-configuration" required="True">
<help short="VPN Configuration properties."/>
</arg>
</arg>
<arg type="ResourceId" var="$resource.properties.networkFabricControllerId" options="network-fabric-controller-id nfc-id" required="True" group="Properties">
<help short="Azure resource ID for the NetworkFabricController the NetworkFabric belongs."/>
</arg>
<arg type="string" var="$resource.properties.networkFabricSku" options="network-fabric-sku nf-sku" required="True" group="Properties">
<help short="Supported Network Fabric SKU.Example: Compute / Aggregate racks. Once the user chooses a particular SKU, only supported racks can be added to the Network Fabric. The SKU determines whether it is a single / multi rack Network Fabric."/>
<format minLength="1"/>
</arg>
<arg type="integer32" var="$resource.properties.rackCount" options="rack-count" group="Properties">
<help short="Number of compute racks associated to Network Fabric."/>
<format maximum="8" minimum="1"/>
</arg>
<arg type="integer32" var="$resource.properties.serverCountPerRack" options="server-count-per-rack" required="True" group="Properties">
<help short="Number of servers.Possible values are from 1-16."/>
<format maximum="16" minimum="1"/>
</arg>
<arg type="object" var="$resource.properties.storageAccountConfiguration" options="storage-account-configuration" group="Properties">
<help short="Bring your own storage account configurations for Network Fabric."/>
<arg type="ResourceId" var="$resource.properties.storageAccountConfiguration.storageAccountId" options="storage-account-id">
<help short="Network Fabric storage account resource identifier."/>
</arg>
<arg type="object" var="$resource.properties.storageAccountConfiguration.storageAccountIdentity" options="storage-account-identity">
<help short="The selection of the managed identity to use with this storage account. The identity type must be either system assigned or user assigned."/>
<arg type="string" var="$resource.properties.storageAccountConfiguration.storageAccountIdentity.identityType" options="identity-type" required="True">
<help short="The type of managed identity that is being selected."/>
<enum>
<item name="SystemAssignedIdentity" value=""SystemAssignedIdentity""/>
<item name="UserAssignedIdentity" value=""UserAssignedIdentity""/>
</enum>
</arg>
<arg type="ResourceId" var="$resource.properties.storageAccountConfiguration.storageAccountIdentity.userAssignedIdentityResourceId" options="user-assigned-identity-resource-id">
<help short="The user assigned managed identity resource ID to use. Mutually exclusive with a system assigned identity type."/>
</arg>
</arg>
</arg>
<arg type="integer32" var="$resource.properties.storageArrayCount" options="storage-array-count" group="Properties">
<help short="Number of Storage arrays associated with the Network Fabric."/>
<format maximum="2" minimum="1"/>
</arg>
<arg type="object" var="$resource.properties.terminalServerConfiguration" options="terminal-server-configuration ts-config" required="True" group="Properties">
<help short="Network and credentials configuration currently applied to terminal server."/>
<arg type="password" var="$resource.properties.terminalServerConfiguration.password" options="password" required="True">
<help short="Password for the terminal server connection."/>
<format minLength="1"/>
<prompt msg="Password:"/>
</arg>
<arg type="string" var="$resource.properties.terminalServerConfiguration.primaryIpv4Prefix" options="primary-ipv4-prefix" required="True">
<help short="IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.terminalServerConfiguration.primaryIpv6Prefix" options="primary-ipv6-prefix">
<help short="IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.terminalServerConfiguration.secondaryIpv4Prefix" options="secondary-ipv4-prefix" required="True">
<help short="Secondary IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.terminalServerConfiguration.secondaryIpv6Prefix" options="secondary-ipv6-prefix">
<help short="Secondary IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$resource.properties.terminalServerConfiguration.serialNumber" options="serial-number">
<help short="Serial Number of Terminal server."/>
<format minLength="1"/>
</arg>
<arg type="string" var="$resource.properties.terminalServerConfiguration.username" options="username" required="True">
<help short="Username for the terminal server connection."/>
<format minLength="1"/>
</arg>
</arg>
<arg type="array<ResourceId>" var="$resource.properties.trustedIpPrefixes" options="trusted-ip-prefixes" group="Properties">
<help short="Trusted IP Prefixes ARM resource IDs."/>
<item type="ResourceId"/>
</arg>
<arg type="object" var="$resource.properties.uniqueRdConfiguration" options="unique-rd-configuration" group="Properties">
<help short="Unique Route Distinguisher configuration"/>
<arg type="string" var="$resource.properties.uniqueRdConfiguration.nniDerivedUniqueRdConfigurationState" options="nni-derived-unique-rd-configuration-state">
<help short="NNI derived unique Route Distinguisher state. Default is Disabled."/>
<default value=""Disabled""/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="string" var="$resource.properties.uniqueRdConfiguration.uniqueRdConfigurationState" options="unique-rd-configuration-state">
<help short="Unique Route Distinguisher configuration state. Default is Enabled."/>
<default value=""Enabled""/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</arg>
</argGroup>
<argGroup name="Resource">
<arg type="ResourceLocation" var="$resource.location" options="location l" required="True" group="Resource">
<help short="The geo-location where the resource lives"/>
</arg>
<arg type="object" var="$resource.tags" options="tags" group="Resource">
<help short="Resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<operation operationId="NetworkFabrics_Create">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="put">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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="IdentityObject" name="identity">
<prop type="string" name="type" arg="$resource.identity.type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities" arg="$resource.identity.userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object"/>
</additionalProp>
</prop>
<userAssigned action="create" type="array<string>" name="userAssigned" arg="$resource.identity.userAssigned">
<item action="create" type="string"/>
</userAssigned>
<systemAssigned action="create" type="string" name="systemAssigned" arg="$resource.identity.systemAssigned"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$resource.location" required="True"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="annotation" arg="$resource.properties.annotation"/>
<prop type="array<ResourceId>" name="controlPlaneAcls" arg="$resource.properties.controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop type="integer64" name="fabricASN" arg="$resource.properties.fabricASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="fabricVersion" arg="$resource.properties.fabricVersion">
<format minLength="1"/>
</prop>
<prop type="integer32" name="hardwareAlertThreshold" arg="$resource.properties.hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop type="string" name="ipv4Prefix" arg="$resource.properties.ipv4Prefix" required="True">
<format minLength="1"/>
</prop>
<prop type="string" name="ipv6Prefix" arg="$resource.properties.ipv6Prefix">
<format minLength="1"/>
</prop>
<prop type="object" name="managementNetworkConfiguration" arg="$resource.properties.managementNetworkConfiguration" required="True">
<prop type="object" name="infrastructureVpnConfiguration" arg="$resource.properties.managementNetworkConfiguration.infrastructureVpnConfiguration" required="True" cls="VpnConfigurationProperties_create">
<prop type="ResourceId" name="networkToNetworkInterconnectId" arg="@VpnConfigurationProperties_create.networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties" arg="@VpnConfigurationProperties_create.optionAProperties">
<prop type="object" name="bfdConfiguration" arg="@VpnConfigurationProperties_create.optionAProperties.bfdConfiguration">
<prop type="integer32" name="intervalInMilliSeconds" arg="@VpnConfigurationProperties_create.optionAProperties.bfdConfiguration.intervalInMilliSeconds">
<default value="300"/>
</prop>
<prop type="integer32" name="multiplier" arg="@VpnConfigurationProperties_create.optionAProperties.bfdConfiguration.multiplier">
<default value="5"/>
</prop>
</prop>
<prop type="integer32" name="mtu" arg="@VpnConfigurationProperties_create.optionAProperties.mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</prop>
<prop type="integer64" name="peerASN" arg="@VpnConfigurationProperties_create.optionAProperties.peerASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" arg="@VpnConfigurationProperties_create.optionAProperties.primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix" arg="@VpnConfigurationProperties_create.optionAProperties.primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" arg="@VpnConfigurationProperties_create.optionAProperties.secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix" arg="@VpnConfigurationProperties_create.optionAProperties.secondaryIpv6Prefix"/>
<prop type="integer32" name="vlanId" arg="@VpnConfigurationProperties_create.optionAProperties.vlanId" required="True">
<format maximum="4094" minimum="501"/>
</prop>
</prop>
<prop type="object" name="optionBProperties" arg="@VpnConfigurationProperties_create.optionBProperties">
<prop type="array<string>" name="exportRouteTargets" arg="@VpnConfigurationProperties_create.optionBProperties.exportRouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importRouteTargets" arg="@VpnConfigurationProperties_create.optionBProperties.importRouteTargets">
<item type="string"/>
</prop>
<prop type="object" name="routeTargets" arg="@VpnConfigurationProperties_create.optionBProperties.routeTargets">
<prop type="array<string>" name="exportIpv4RouteTargets" arg="@VpnConfigurationProperties_create.optionBProperties.routeTargets.exportIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="exportIpv6RouteTargets" arg="@VpnConfigurationProperties_create.optionBProperties.routeTargets.exportIpv6RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv4RouteTargets" arg="@VpnConfigurationProperties_create.optionBProperties.routeTargets.importIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv6RouteTargets" arg="@VpnConfigurationProperties_create.optionBProperties.routeTargets.importIpv6RouteTargets">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="string" name="peeringOption" arg="@VpnConfigurationProperties_create.peeringOption" required="True">
<enum>
<item value=""OptionA""/>
<item value=""OptionB""/>
</enum>
</prop>
</prop>
<prop type="@VpnConfigurationProperties_create" name="workloadVpnConfiguration" arg="$resource.properties.managementNetworkConfiguration.workloadVpnConfiguration" required="True"/>
</prop>
<prop type="ResourceId" name="networkFabricControllerId" arg="$resource.properties.networkFabricControllerId" required="True"/>
<prop type="string" name="networkFabricSku" arg="$resource.properties.networkFabricSku" required="True">
<format minLength="1"/>
</prop>
<prop type="integer32" name="rackCount" arg="$resource.properties.rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop type="integer32" name="serverCountPerRack" arg="$resource.properties.serverCountPerRack" required="True">
<format maximum="16" minimum="1"/>
</prop>
<prop type="object" name="storageAccountConfiguration" arg="$resource.properties.storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId" arg="$resource.properties.storageAccountConfiguration.storageAccountId"/>
<prop type="object" name="storageAccountIdentity" arg="$resource.properties.storageAccountConfiguration.storageAccountIdentity">
<prop type="string" name="identityType" arg="$resource.properties.storageAccountConfiguration.storageAccountIdentity.identityType" required="True">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId" arg="$resource.properties.storageAccountConfiguration.storageAccountIdentity.userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop type="integer32" name="storageArrayCount" arg="$resource.properties.storageArrayCount">
<format maximum="2" minimum="1"/>
</prop>
<prop type="object" name="terminalServerConfiguration" arg="$resource.properties.terminalServerConfiguration" required="True">
<prop type="password" name="password" arg="$resource.properties.terminalServerConfiguration.password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" arg="$resource.properties.terminalServerConfiguration.primaryIpv4Prefix" required="True"/>
<prop type="string" name="primaryIpv6Prefix" arg="$resource.properties.terminalServerConfiguration.primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" arg="$resource.properties.terminalServerConfiguration.secondaryIpv4Prefix" required="True"/>
<prop type="string" name="secondaryIpv6Prefix" arg="$resource.properties.terminalServerConfiguration.secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber" arg="$resource.properties.terminalServerConfiguration.serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" arg="$resource.properties.terminalServerConfiguration.username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="array<ResourceId>" name="trustedIpPrefixes" arg="$resource.properties.trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop type="object" name="uniqueRdConfiguration" arg="$resource.properties.uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState" arg="$resource.properties.uniqueRdConfiguration.nniDerivedUniqueRdConfigurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState" arg="$resource.properties.uniqueRdConfiguration.uniqueRdConfigurationState">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop type="object" name="tags" arg="$resource.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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/networkFabrics/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="array<string>" name="activeCommitBatches">
<item type="string"/>
</prop>
<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="array<ResourceId>" name="controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop type="integer64" name="fabricASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="fabricLocks">
<format minLength="1"/>
<item type="object">
<prop type="string" name="lockState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="lockType">
<enum>
<item value=""Administrative""/>
<item value=""Configuration""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="fabricVersion">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="featureFlags">
<item type="object">
<prop type="string" name="featureFlagName"/>
<prop type="string" name="featureFlagValue"/>
</item>
</prop>
<prop type="integer32" name="hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop type="string" name="ipv4Prefix" required="True">
<format minLength="1"/>
</prop>
<prop type="string" name="ipv6Prefix">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="l2IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="l3IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="object" name="managementNetworkConfiguration" required="True">
<prop type="object" name="infrastructureVpnConfiguration" required="True" cls="VpnConfigurationProperties_read">
<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="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration">
<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="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</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="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>
<prop type="@VpnConfigurationProperties_read" name="workloadVpnConfiguration" required="True"/>
</prop>
<prop type="ResourceId" name="networkFabricControllerId" required="True"/>
<prop type="string" name="networkFabricSku" required="True">
<format minLength="1"/>
</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="integer32" name="rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="racks">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="routerIds">
<item type="string"/>
</prop>
<prop type="integer32" name="serverCountPerRack" required="True">
<format maximum="16" minimum="1"/>
</prop>
<prop type="object" name="storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId"/>
<prop type="object" name="storageAccountIdentity">
<prop type="string" name="identityType" required="True">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop type="integer32" name="storageArrayCount">
<format maximum="2" minimum="1"/>
</prop>
<prop type="object" name="terminalServerConfiguration" required="True">
<prop readOnly="True" type="string" name="networkDeviceId"/>
<prop type="password" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" required="True"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" required="True"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="array<ResourceId>" name="trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop type="object" name="uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<string>" name="uniqueRds">
<item type="string"/>
</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 type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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/networkfabrics/{}" version="2024-06-15-preview" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.networkFabricName" options="resource-name" required="True" group="" idPart="name">
<help short="Name of the Network Fabric."/>
<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="Identity">
<arg type="string" var="$properties.identity.systemAssigned" options="mi-system-assigned system-assigned" group="Identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="string" var="$properties.identity.type" options="type" hide="True" group="Identity">
<help short="The type of managed identity assigned to this resource."/>
<enum>
<item name="None" value=""None""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="SystemAssigned,UserAssigned" value=""SystemAssigned,UserAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg type="array<string>" var="$properties.identity.userAssigned" options="mi-user-assigned user-assigned" group="Identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
<arg type="object" var="$properties.identity.userAssignedIdentities" options="user-assigned-identities" hide="True" group="Identity">
<help short="The identities assigned to this resource by the user."/>
<additionalProp>
<item nullable="True" type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</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="array<ResourceId>" var="$properties.properties.controlPlaneAcls" options="control-plane-acls" group="Properties">
<help short="Control Plane Access Control List ARM resource IDs."/>
<item type="ResourceId"/>
</arg>
<arg nullable="True" type="integer64" var="$properties.properties.fabricASN" options="fabric-asn" group="Properties">
<help short="ASN of CE devices for CE/PE connectivity."/>
<format maximum="4294967295" minimum="1"/>
</arg>
<arg nullable="True" type="integer32" var="$properties.properties.hardwareAlertThreshold" options="hardware-alert-threshold" group="Properties">
<help short="Hardware alert threshold percentage. Possible values are from 20 to 100."/>
<format maximum="100" minimum="20"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.ipv4Prefix" options="ipv4-prefix" group="Properties">
<help short="IPv4Prefix for Management Network. Example: 10.1.0.0/19."/>
<format minLength="1"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.ipv6Prefix" options="ipv6-prefix" group="Properties">
<help short="IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59."/>
<format minLength="1"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.managementNetworkConfiguration" options="management-network-configuration managed-network-config" group="Properties">
<help short="Configuration to be used to setup the management network."/>
<arg type="object" var="$properties.properties.managementNetworkConfiguration.infrastructureVpnConfiguration" options="infrastructure-vpn-configuration" cls="VpnConfigurationPatchableProperties_update">
<help short="VPN Configuration properties."/>
<arg type="ResourceId" var="@VpnConfigurationPatchableProperties_update.networkToNetworkInterconnectId" options="network-to-network-interconnect-id">
<help short="ARM Resource ID of the Network To Network Interconnect."/>
</arg>
<arg type="object" var="@VpnConfigurationPatchableProperties_update.optionAProperties" options="option-a-properties">
<help short="option A properties"/>
<arg type="object" var="@VpnConfigurationPatchableProperties_update.optionAProperties.bfdConfiguration" options="bfd-configuration">
<help short="BFD Configuration properties."/>
<arg type="integer32" var="@VpnConfigurationPatchableProperties_update.optionAProperties.bfdConfiguration.intervalInMilliSeconds" options="interval-in-milli-seconds">
<help short="Interval in milliseconds. Example: 300."/>
</arg>
<arg type="integer32" var="@VpnConfigurationPatchableProperties_update.optionAProperties.bfdConfiguration.multiplier" options="multiplier">
<help short="Multiplier for the Bfd Configuration. Example: 5."/>
</arg>
</arg>
<arg type="integer32" var="@VpnConfigurationPatchableProperties_update.optionAProperties.mtu" options="mtu">
<help short="MTU to use for option A peering."/>
<format maximum="9200" minimum="64"/>
</arg>
<arg type="integer64" var="@VpnConfigurationPatchableProperties_update.optionAProperties.peerASN" options="peer-asn">
<help short="Peer ASN number.Example : 28"/>
<format maximum="4294967295" minimum="1"/>
</arg>
<arg type="string" var="@VpnConfigurationPatchableProperties_update.optionAProperties.primaryIpv4Prefix" options="primary-ipv4-prefix">
<help short="IPv4 Address Prefix."/>
</arg>
<arg type="string" var="@VpnConfigurationPatchableProperties_update.optionAProperties.primaryIpv6Prefix" options="primary-ipv6-prefix">
<help short="IPv6 Address Prefix."/>
</arg>
<arg type="string" var="@VpnConfigurationPatchableProperties_update.optionAProperties.secondaryIpv4Prefix" options="secondary-ipv4-prefix">
<help short="Secondary IPv4 Address Prefix."/>
</arg>
<arg type="string" var="@VpnConfigurationPatchableProperties_update.optionAProperties.secondaryIpv6Prefix" options="secondary-ipv6-prefix">
<help short="Secondary IPv6 Address Prefix."/>
</arg>
<arg type="integer32" var="@VpnConfigurationPatchableProperties_update.optionAProperties.vlanId" options="vlan-id">
<help short="Vlan Id.Example : 501"/>
<format maximum="4094" minimum="501"/>
</arg>
</arg>
<arg type="object" var="@VpnConfigurationPatchableProperties_update.optionBProperties" options="option-b-properties">
<help short="option B properties"/>
<arg type="array<string>" var="@VpnConfigurationPatchableProperties_update.optionBProperties.exportRouteTargets" options="export-route-targets">
<help short="Route Targets to be applied for outgoing routes from CE. This is for backward compatibility."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="@VpnConfigurationPatchableProperties_update.optionBProperties.importRouteTargets" options="import-route-targets">
<help short="Route Targets to be applied for incoming routes into CE. This is for backward compatibility."/>
<item type="string"/>
</arg>
<arg type="object" var="@VpnConfigurationPatchableProperties_update.optionBProperties.routeTargets" options="route-targets">
<help short="Route Targets to be applied."/>
<arg type="array<string>" var="@VpnConfigurationPatchableProperties_update.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="@VpnConfigurationPatchableProperties_update.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="@VpnConfigurationPatchableProperties_update.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="@VpnConfigurationPatchableProperties_update.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="@VpnConfigurationPatchableProperties_update.peeringOption" options="peering-option">
<help short="Peering option list."/>
<enum>
<item name="OptionA" value=""OptionA""/>
<item name="OptionB" value=""OptionB""/>
</enum>
</arg>
</arg>
<arg type="@VpnConfigurationPatchableProperties_update" var="$properties.properties.managementNetworkConfiguration.workloadVpnConfiguration" options="workload-vpn-configuration">
<help short="VPN Configuration properties."/>
</arg>
</arg>
<arg nullable="True" type="integer32" var="$properties.properties.rackCount" options="rack-count" group="Properties">
<help short="Number of compute racks associated to Network Fabric."/>
<format maximum="8" minimum="1"/>
</arg>
<arg nullable="True" type="integer32" var="$properties.properties.serverCountPerRack" options="server-count-per-rack" group="Properties">
<help short="Number of servers.Possible values are from 1-16."/>
<format maximum="16" minimum="1"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.storageAccountConfiguration" options="storage-account-configuration storage-account-config" group="Properties">
<help short="Bring your own storage account configurations for Network Fabric."/>
<arg type="ResourceId" var="$properties.properties.storageAccountConfiguration.storageAccountId" options="storage-account-id">
<help short="Network Fabric storage account resource identifier."/>
</arg>
<arg type="object" var="$properties.properties.storageAccountConfiguration.storageAccountIdentity" options="storage-account-identity">
<help short="The selection of the managed identity to use with this storage account. The identity type must be either system assigned or user assigned."/>
<arg type="string" var="$properties.properties.storageAccountConfiguration.storageAccountIdentity.identityType" options="identity-type">
<help short="The type of managed identity that is being selected."/>
<enum>
<item name="SystemAssignedIdentity" value=""SystemAssignedIdentity""/>
<item name="UserAssignedIdentity" value=""UserAssignedIdentity""/>
</enum>
</arg>
<arg type="ResourceId" var="$properties.properties.storageAccountConfiguration.storageAccountIdentity.userAssignedIdentityResourceId" options="user-assigned-identity-resource-id">
<help short="The user assigned managed identity resource ID to use. Mutually exclusive with a system assigned identity type."/>
</arg>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.terminalServerConfiguration" options="terminal-server-configuration ts-config" group="Properties">
<help short="Network and credentials configuration already applied to terminal server."/>
<arg type="password" var="$properties.properties.terminalServerConfiguration.password" options="password">
<help short="Password for the terminal server connection."/>
<format minLength="1"/>
<prompt msg="Password:"/>
</arg>
<arg type="string" var="$properties.properties.terminalServerConfiguration.primaryIpv4Prefix" options="primary-ipv4-prefix">
<help short="IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.terminalServerConfiguration.primaryIpv6Prefix" options="primary-ipv6-prefix">
<help short="IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.terminalServerConfiguration.secondaryIpv4Prefix" options="secondary-ipv4-prefix">
<help short="Secondary IPv4 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.terminalServerConfiguration.secondaryIpv6Prefix" options="secondary-ipv6-prefix">
<help short="Secondary IPv6 Address Prefix."/>
</arg>
<arg type="string" var="$properties.properties.terminalServerConfiguration.serialNumber" options="serial-number">
<help short="Serial Number of Terminal server."/>
<format minLength="1"/>
</arg>
<arg type="string" var="$properties.properties.terminalServerConfiguration.username" options="username">
<help short="Username for the terminal server connection."/>
<format minLength="1"/>
</arg>
</arg>
<arg nullable="True" type="array<ResourceId>" var="$properties.properties.trustedIpPrefixes" options="trusted-ip-prefixes" group="Properties">
<help short="Trusted IP Prefix ARM resource IDs."/>
<item type="ResourceId"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.uniqueRdConfiguration" options="unique-rd-configuration unique-rd-config" group="Properties">
<help short="Unique Route Distinguisher configuration"/>
<arg type="string" var="$properties.properties.uniqueRdConfiguration.nniDerivedUniqueRdConfigurationState" options="nni-derived-unique-rd-configuration-state">
<help short="NNI derived unique Route Distinguisher state. Default is Disabled."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.uniqueRdConfiguration.uniqueRdConfigurationState" options="unique-rd-configuration-state">
<help short="Unique Route Distinguisher configuration state. Default is Enabled."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</arg>
<arg type="object" var="$properties.tags" options="tags" group="Properties">
<help short="Resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<operation operationId="NetworkFabrics_Update">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="patch">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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="IdentityObject" name="identity">
<prop type="string" name="type" arg="$properties.identity.type">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities" arg="$properties.identity.userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object"/>
</additionalProp>
</prop>
<userAssigned action="create" type="array<string>" name="userAssigned" arg="$properties.identity.userAssigned">
<item action="create" type="string"/>
</userAssigned>
<systemAssigned action="create" type="string" name="systemAssigned" arg="$properties.identity.systemAssigned"/>
</prop>
<prop type="object" name="properties">
<prop nullable="True" type="string" name="annotation" arg="$properties.properties.annotation"/>
<prop nullable="True" type="array<ResourceId>" name="controlPlaneAcls" arg="$properties.properties.controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop nullable="True" type="integer64" name="fabricASN" arg="$properties.properties.fabricASN">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop nullable="True" type="integer32" name="hardwareAlertThreshold" arg="$properties.properties.hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop nullable="True" type="string" name="ipv4Prefix" arg="$properties.properties.ipv4Prefix">
<format minLength="1"/>
</prop>
<prop nullable="True" type="string" name="ipv6Prefix" arg="$properties.properties.ipv6Prefix">
<format minLength="1"/>
</prop>
<prop nullable="True" type="object" name="managementNetworkConfiguration" arg="$properties.properties.managementNetworkConfiguration">
<prop type="object" name="infrastructureVpnConfiguration" arg="$properties.properties.managementNetworkConfiguration.infrastructureVpnConfiguration" cls="VpnConfigurationPatchableProperties_update">
<prop type="ResourceId" name="networkToNetworkInterconnectId" arg="@VpnConfigurationPatchableProperties_update.networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties" arg="@VpnConfigurationPatchableProperties_update.optionAProperties">
<prop type="object" name="bfdConfiguration" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.bfdConfiguration">
<prop type="integer32" name="intervalInMilliSeconds" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.bfdConfiguration.intervalInMilliSeconds"/>
<prop type="integer32" name="multiplier" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.bfdConfiguration.multiplier"/>
</prop>
<prop type="integer32" name="mtu" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.mtu">
<format maximum="9200" minimum="64"/>
</prop>
<prop type="integer64" name="peerASN" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.peerASN">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.secondaryIpv6Prefix"/>
<prop type="integer32" name="vlanId" arg="@VpnConfigurationPatchableProperties_update.optionAProperties.vlanId">
<format maximum="4094" minimum="501"/>
</prop>
</prop>
<prop type="object" name="optionBProperties" arg="@VpnConfigurationPatchableProperties_update.optionBProperties">
<prop type="array<string>" name="exportRouteTargets" arg="@VpnConfigurationPatchableProperties_update.optionBProperties.exportRouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importRouteTargets" arg="@VpnConfigurationPatchableProperties_update.optionBProperties.importRouteTargets">
<item type="string"/>
</prop>
<prop type="object" name="routeTargets" arg="@VpnConfigurationPatchableProperties_update.optionBProperties.routeTargets">
<prop type="array<string>" name="exportIpv4RouteTargets" arg="@VpnConfigurationPatchableProperties_update.optionBProperties.routeTargets.exportIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="exportIpv6RouteTargets" arg="@VpnConfigurationPatchableProperties_update.optionBProperties.routeTargets.exportIpv6RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv4RouteTargets" arg="@VpnConfigurationPatchableProperties_update.optionBProperties.routeTargets.importIpv4RouteTargets">
<item type="string"/>
</prop>
<prop type="array<string>" name="importIpv6RouteTargets" arg="@VpnConfigurationPatchableProperties_update.optionBProperties.routeTargets.importIpv6RouteTargets">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="string" name="peeringOption" arg="@VpnConfigurationPatchableProperties_update.peeringOption">
<enum>
<item value=""OptionA""/>
<item value=""OptionB""/>
</enum>
</prop>
</prop>
<prop type="@VpnConfigurationPatchableProperties_update" name="workloadVpnConfiguration" arg="$properties.properties.managementNetworkConfiguration.workloadVpnConfiguration"/>
</prop>
<prop nullable="True" type="integer32" name="rackCount" arg="$properties.properties.rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop nullable="True" type="integer32" name="serverCountPerRack" arg="$properties.properties.serverCountPerRack">
<format maximum="16" minimum="1"/>
</prop>
<prop nullable="True" type="object" name="storageAccountConfiguration" arg="$properties.properties.storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId" arg="$properties.properties.storageAccountConfiguration.storageAccountId"/>
<prop type="object" name="storageAccountIdentity" arg="$properties.properties.storageAccountConfiguration.storageAccountIdentity">
<prop type="string" name="identityType" arg="$properties.properties.storageAccountConfiguration.storageAccountIdentity.identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId" arg="$properties.properties.storageAccountConfiguration.storageAccountIdentity.userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop nullable="True" type="object" name="terminalServerConfiguration" arg="$properties.properties.terminalServerConfiguration">
<prop type="password" name="password" arg="$properties.properties.terminalServerConfiguration.password" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" arg="$properties.properties.terminalServerConfiguration.primaryIpv4Prefix"/>
<prop type="string" name="primaryIpv6Prefix" arg="$properties.properties.terminalServerConfiguration.primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" arg="$properties.properties.terminalServerConfiguration.secondaryIpv4Prefix"/>
<prop type="string" name="secondaryIpv6Prefix" arg="$properties.properties.terminalServerConfiguration.secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber" arg="$properties.properties.terminalServerConfiguration.serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" arg="$properties.properties.terminalServerConfiguration.username">
<format minLength="1"/>
</prop>
</prop>
<prop nullable="True" type="array<ResourceId>" name="trustedIpPrefixes" arg="$properties.properties.trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop nullable="True" type="object" name="uniqueRdConfiguration" arg="$properties.properties.uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState" arg="$properties.properties.uniqueRdConfiguration.nniDerivedUniqueRdConfigurationState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState" arg="$properties.properties.uniqueRdConfiguration.uniqueRdConfigurationState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop type="object" name="tags" arg="$properties.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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/networkFabrics/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="array<string>" name="activeCommitBatches">
<item type="string"/>
</prop>
<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="array<ResourceId>" name="controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop type="integer64" name="fabricASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="fabricLocks">
<format minLength="1"/>
<item type="object">
<prop type="string" name="lockState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="lockType">
<enum>
<item value=""Administrative""/>
<item value=""Configuration""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="fabricVersion">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="featureFlags">
<item type="object">
<prop type="string" name="featureFlagName"/>
<prop type="string" name="featureFlagValue"/>
</item>
</prop>
<prop type="integer32" name="hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop type="string" name="ipv4Prefix" required="True">
<format minLength="1"/>
</prop>
<prop type="string" name="ipv6Prefix">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="l2IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="l3IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="object" name="managementNetworkConfiguration" required="True">
<prop type="object" name="infrastructureVpnConfiguration" required="True" cls="VpnConfigurationProperties_read">
<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="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration">
<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="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</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="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>
<prop type="@VpnConfigurationProperties_read" name="workloadVpnConfiguration" required="True"/>
</prop>
<prop type="ResourceId" name="networkFabricControllerId" required="True"/>
<prop type="string" name="networkFabricSku" required="True">
<format minLength="1"/>
</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="integer32" name="rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="racks">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="routerIds">
<item type="string"/>
</prop>
<prop type="integer32" name="serverCountPerRack" required="True">
<format maximum="16" minimum="1"/>
</prop>
<prop type="object" name="storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId"/>
<prop type="object" name="storageAccountIdentity">
<prop type="string" name="identityType" required="True">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop type="integer32" name="storageArrayCount">
<format maximum="2" minimum="1"/>
</prop>
<prop type="object" name="terminalServerConfiguration" required="True">
<prop readOnly="True" type="string" name="networkDeviceId"/>
<prop type="password" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" required="True"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" required="True"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="array<ResourceId>" name="trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop type="object" name="uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<string>" name="uniqueRds">
<item type="string"/>
</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 type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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 name="identity">
<command name="assign" version="2024-06-15-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}" version="2024-06-15-preview" subresource="identity" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.networkFabricName" options="network-fabric-name name n" required="True" idPart="name">
<help short="Name of the Network Fabric."/>
<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="Resource.identity">
<arg type="string" var="$resource.identity.systemAssigned" options="mi-system-assigned system-assigned" group="Resource.identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="array<string>" var="$resource.identity.userAssigned" options="mi-user-assigned user-assigned" group="Resource.identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="resource">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="NetworkFabrics_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="get">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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" cls="NetworkFabric_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="array<string>" name="activeCommitBatches">
<item type="string"/>
</prop>
<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="array<ResourceId>" name="controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop type="integer64" name="fabricASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="fabricLocks">
<format minLength="1"/>
<item type="object">
<prop type="string" name="lockState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="lockType">
<enum>
<item value=""Administrative""/>
<item value=""Configuration""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="fabricVersion">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="featureFlags">
<item type="object">
<prop type="string" name="featureFlagName"/>
<prop type="string" name="featureFlagValue"/>
</item>
</prop>
<prop type="integer32" name="hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop type="string" name="ipv4Prefix" required="True">
<format minLength="1"/>
</prop>
<prop type="string" name="ipv6Prefix">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="l2IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="l3IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="object" name="managementNetworkConfiguration" required="True">
<prop type="object" name="infrastructureVpnConfiguration" required="True" cls="VpnConfigurationProperties_read">
<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="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration">
<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="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</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="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>
<prop type="@VpnConfigurationProperties_read" name="workloadVpnConfiguration" required="True"/>
</prop>
<prop type="ResourceId" name="networkFabricControllerId" required="True"/>
<prop type="string" name="networkFabricSku" required="True">
<format minLength="1"/>
</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="integer32" name="rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="racks">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="routerIds">
<item type="string"/>
</prop>
<prop type="integer32" name="serverCountPerRack" required="True">
<format maximum="16" minimum="1"/>
</prop>
<prop type="object" name="storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId"/>
<prop type="object" name="storageAccountIdentity">
<prop type="string" name="identityType" required="True">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop type="integer32" name="storageArrayCount">
<format maximum="2" minimum="1"/>
</prop>
<prop type="object" name="terminalServerConfiguration" required="True">
<prop readOnly="True" type="string" name="networkDeviceId"/>
<prop type="password" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" required="True"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" required="True"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="array<ResourceId>" name="trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop type="object" name="uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<string>" name="uniqueRds">
<item type="string"/>
</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 type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema action="assign" type="IdentityObject" name="resource.identity" required="True">
<userAssigned action="assign" type="array<string>" name="userAssigned" arg="$resource.identity.userAssigned">
<item action="assign" type="string"/>
</userAssigned>
<systemAssigned action="assign" type="string" name="systemAssigned" arg="$resource.identity.systemAssigned"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="NetworkFabrics_Create">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="put">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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 ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@NetworkFabric_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="remove" version="2024-06-15-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}" version="2024-06-15-preview" subresource="identity" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.networkFabricName" options="network-fabric-name name n" required="True" idPart="name">
<help short="Name of the Network Fabric."/>
<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="Resource.identity">
<arg type="string" var="$resource.identity.systemAssigned" options="mi-system-assigned system-assigned" group="Resource.identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="array<string>" var="$resource.identity.userAssigned" options="mi-user-assigned user-assigned" group="Resource.identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="resource">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="NetworkFabrics_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="get">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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" cls="NetworkFabric_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="array<string>" name="activeCommitBatches">
<item type="string"/>
</prop>
<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="array<ResourceId>" name="controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop type="integer64" name="fabricASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="fabricLocks">
<format minLength="1"/>
<item type="object">
<prop type="string" name="lockState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="lockType">
<enum>
<item value=""Administrative""/>
<item value=""Configuration""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="fabricVersion">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="featureFlags">
<item type="object">
<prop type="string" name="featureFlagName"/>
<prop type="string" name="featureFlagValue"/>
</item>
</prop>
<prop type="integer32" name="hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop type="string" name="ipv4Prefix" required="True">
<format minLength="1"/>
</prop>
<prop type="string" name="ipv6Prefix">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="l2IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="l3IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="object" name="managementNetworkConfiguration" required="True">
<prop type="object" name="infrastructureVpnConfiguration" required="True" cls="VpnConfigurationProperties_read">
<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="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration">
<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="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</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="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>
<prop type="@VpnConfigurationProperties_read" name="workloadVpnConfiguration" required="True"/>
</prop>
<prop type="ResourceId" name="networkFabricControllerId" required="True"/>
<prop type="string" name="networkFabricSku" required="True">
<format minLength="1"/>
</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="integer32" name="rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="racks">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="routerIds">
<item type="string"/>
</prop>
<prop type="integer32" name="serverCountPerRack" required="True">
<format maximum="16" minimum="1"/>
</prop>
<prop type="object" name="storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId"/>
<prop type="object" name="storageAccountIdentity">
<prop type="string" name="identityType" required="True">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop type="integer32" name="storageArrayCount">
<format maximum="2" minimum="1"/>
</prop>
<prop type="object" name="terminalServerConfiguration" required="True">
<prop readOnly="True" type="string" name="networkDeviceId"/>
<prop type="password" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" required="True"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" required="True"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="array<ResourceId>" name="trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop type="object" name="uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<string>" name="uniqueRds">
<item type="string"/>
</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 type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema action="remove" type="IdentityObject" name="resource.identity" required="True">
<userAssigned action="remove" type="array<string>" name="userAssigned" arg="$resource.identity.userAssigned">
<item action="remove" type="string"/>
</userAssigned>
<systemAssigned action="remove" type="string" name="systemAssigned" arg="$resource.identity.systemAssigned"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="NetworkFabrics_Create">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="put">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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 ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@NetworkFabric_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="show" version="2024-06-15-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}" version="2024-06-15-preview" subresource="identity" swagger="mgmt-plane/managednetworkfabric/ResourceProviders/Microsoft.ManagedNetworkFabric/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZE5ldHdvcmtGYWJyaWMvbmV0d29ya0ZhYnJpY3Mve25ldHdvcmtGYWJyaWNOYW1lfQ==/V/MjAyNC0wNi0xNS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.networkFabricName" options="network-fabric-name name n" required="True" idPart="name">
<help short="Name of the Network Fabric."/>
<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>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="resource">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="NetworkFabrics_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}">
<request method="get">
<path>
<param type="string" name="networkFabricName" arg="$Path.networkFabricName" 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" cls="NetworkFabric_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop readOnly="True" type="array<string>" name="activeCommitBatches">
<item type="string"/>
</prop>
<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="array<ResourceId>" name="controlPlaneAcls">
<item type="ResourceId"/>
</prop>
<prop type="integer64" name="fabricASN" required="True">
<format maximum="4294967295" minimum="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="fabricLocks">
<format minLength="1"/>
<item type="object">
<prop type="string" name="lockState">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="lockType">
<enum>
<item value=""Administrative""/>
<item value=""Configuration""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="fabricVersion">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<object>" name="featureFlags">
<item type="object">
<prop type="string" name="featureFlagName"/>
<prop type="string" name="featureFlagValue"/>
</item>
</prop>
<prop type="integer32" name="hardwareAlertThreshold">
<format maximum="100" minimum="20"/>
</prop>
<prop type="string" name="ipv4Prefix" required="True">
<format minLength="1"/>
</prop>
<prop type="string" name="ipv6Prefix">
<format minLength="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="l2IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="l3IsolationDomains">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="lastOperation">
<prop readOnly="True" type="string" name="details"/>
</prop>
<prop type="object" name="managementNetworkConfiguration" required="True">
<prop type="object" name="infrastructureVpnConfiguration" required="True" cls="VpnConfigurationProperties_read">
<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="ResourceId" name="networkToNetworkInterconnectId"/>
<prop type="object" name="optionAProperties">
<prop type="object" name="bfdConfiguration">
<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="integer32" name="mtu">
<default value="1500"/>
<format maximum="9200" minimum="64"/>
</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="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>
<prop type="@VpnConfigurationProperties_read" name="workloadVpnConfiguration" required="True"/>
</prop>
<prop type="ResourceId" name="networkFabricControllerId" required="True"/>
<prop type="string" name="networkFabricSku" required="True">
<format minLength="1"/>
</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="integer32" name="rackCount">
<format maximum="8" minimum="1"/>
</prop>
<prop readOnly="True" type="array<string>" name="racks">
<item type="string"/>
</prop>
<prop readOnly="True" type="array<string>" name="routerIds">
<item type="string"/>
</prop>
<prop type="integer32" name="serverCountPerRack" required="True">
<format maximum="16" minimum="1"/>
</prop>
<prop type="object" name="storageAccountConfiguration">
<prop type="ResourceId" name="storageAccountId"/>
<prop type="object" name="storageAccountIdentity">
<prop type="string" name="identityType" required="True">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
</prop>
<prop type="integer32" name="storageArrayCount">
<format maximum="2" minimum="1"/>
</prop>
<prop type="object" name="terminalServerConfiguration" required="True">
<prop readOnly="True" type="string" name="networkDeviceId"/>
<prop type="password" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="primaryIpv4Prefix" required="True"/>
<prop type="string" name="primaryIpv6Prefix"/>
<prop type="string" name="secondaryIpv4Prefix" required="True"/>
<prop type="string" name="secondaryIpv6Prefix"/>
<prop type="string" name="serialNumber">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="array<ResourceId>" name="trustedIpPrefixes">
<item type="ResourceId"/>
</prop>
<prop type="object" name="uniqueRdConfiguration">
<prop type="string" name="nniDerivedUniqueRdConfigurationState">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="uniqueRdConfigurationState">
<default value=""Enabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop readOnly="True" type="array<string>" name="uniqueRds">
<item type="string"/>
</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 type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</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="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
</commandGroup>
</CodeGen>