Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrY2xvdWQvY2x1c3RlcnMve30=/2024-07-01.xml (3,171 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<commandGroup name="networkcloud cluster">
<command name="show" version="2024-07-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.clusterName" options="cluster-name name n" required="True" idPart="name">
<help short="The name of the cluster."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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="Clusters_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="get">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop type="object" name="extendedLocation" required="True" cls="ExtendedLocation_read">
<prop type="string" name="name" required="True"/>
<prop type="string" name="type" required="True"/>
</prop>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetworkCloud/clusters/{}"/>
</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 type="object" name="aggregatorOrSingleRackDefinition" required="True" cls="RackDefinition_read">
<prop type="string" name="availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData">
<item type="object">
<prop readOnly="True" type="string" name="bmcConnectionString"/>
<prop type="object" name="bmcCredentials" required="True" cls="AdministrativeCredentials_read">
<prop type="string" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" required="True"/>
<prop type="string" name="rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_read" name="adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True"/>
<prop type="string" name="storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="ResourceId" name="analyticsWorkspaceId"/>
<prop readOnly="True" type="array<object>" name="availableUpgradeVersions" identifiers="targetClusterVersion">
<item type="object">
<prop readOnly="True" type="string" name="controlImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="expectedDuration"/>
<prop readOnly="True" type="string" name="impactDescription"/>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop readOnly="True" type="string" name="targetClusterVersion"/>
<prop readOnly="True" type="string" name="workloadImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</item>
</prop>
<prop readOnly="True" type="object" name="clusterCapacity">
<prop type="integer64" name="availableApplianceStorageGB"/>
<prop type="integer64" name="availableCoreCount"/>
<prop type="integer64" name="availableHostStorageGB"/>
<prop type="integer64" name="availableMemoryGB"/>
<prop type="integer64" name="totalApplianceStorageGB"/>
<prop type="integer64" name="totalCoreCount"/>
<prop type="integer64" name="totalHostStorageGB"/>
<prop type="integer64" name="totalMemoryGB"/>
</prop>
<prop readOnly="True" type="string" name="clusterConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Disconnected""/>
<item value=""Timeout""/>
<item value=""Undefined""/>
</enum>
</prop>
<prop readOnly="True" type="@ExtendedLocation_read" name="clusterExtendedLocation"/>
<prop type="string" name="clusterLocation">
<format maxLength="256"/>
</prop>
<prop readOnly="True" type="string" name="clusterManagerConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Unreachable""/>
</enum>
</prop>
<prop readOnly="True" type="ResourceId" name="clusterManagerId"/>
<prop type="object" name="clusterServicePrincipal">
<prop type="string" name="applicationId" required="True"/>
<prop type="string" name="password" required="True" secret="True"/>
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="tenantId" required="True"/>
</prop>
<prop type="string" name="clusterType" required="True">
<enum>
<item value=""MultiRack""/>
<item value=""SingleRack""/>
</enum>
</prop>
<prop type="string" name="clusterVersion" required="True"/>
<prop type="object" name="commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl"/>
</prop>
<prop type="object" name="computeDeploymentThreshold">
<prop type="string" name="grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_read>" name="computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_read"/>
</prop>
<prop readOnly="True" type="string" name="detailedStatus">
<enum>
<item value=""Degraded""/>
<item value=""Deleting""/>
<item value=""Deploying""/>
<item value=""Disconnected""/>
<item value=""Failed""/>
<item value=""PendingDeployment""/>
<item value=""Running""/>
<item value=""UpdatePaused""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="detailedStatusMessage"/>
<prop readOnly="True" type="@ExtendedLocation_read" name="hybridAksExtendedLocation"/>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="string" name="location"/>
<prop type="string" name="name">
<format maxLength="75"/>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="manualActionCount"/>
<prop type="ResourceId" name="networkFabricId" required="True"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
<item value=""Validating""/>
</enum>
</prop>
<prop type="object" name="runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop type="object" name="secretArchive">
<prop type="ResourceId" name="keyVaultId" required="True"/>
<prop type="string" name="useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop type="object" name="updateStrategy">
<prop type="integer64" name="maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
<prop readOnly="True" type="array<string>" name="workloadResourceIds">
<item type="string"/>
</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-07-01" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.clusterName" options="cluster-name name n" required="True" idPart="name">
<help short="The name of the cluster."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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="Clusters_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="delete">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="202">
<header>
<item name="Location"/>
</header>
</response>
<response statusCode="204"/>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object" cls="OperationStatusResult_read">
<prop readOnly="True" type="dateTime" name="endTime"/>
<prop readOnly="True" type="object" name="error" cls="ErrorDetail_read">
<prop readOnly="True" type="array<object>" name="additionalInfo">
<item type="object">
<prop readOnly="True" type="object" name="info">
<additionalProp readOnly="True" anyType="True"/>
</prop>
<prop readOnly="True" type="string" name="type"/>
</item>
</prop>
<prop readOnly="True" type="string" name="code"/>
<prop readOnly="True" type="array<@ErrorDetail_read>" name="details" identifiers="message target">
<item type="@ErrorDetail_read"/>
</prop>
<prop readOnly="True" type="string" name="message"/>
<prop readOnly="True" type="string" name="target"/>
</prop>
<prop readOnly="True" type="string" name="id"/>
<prop readOnly="True" type="string" name="name"/>
<prop readOnly="True" type="array<@OperationStatusResult_read>" name="operations">
<item type="@OperationStatusResult_read"/>
</prop>
<prop readOnly="True" type="float" name="percentComplete">
<format maximum="100.0" minimum="0.0"/>
</prop>
<prop type="object" name="properties" clientFlatten="True">
<prop readOnly="True" type="string" name="exitCode"/>
<prop readOnly="True" type="string" name="outputHead"/>
<prop readOnly="True" type="string" name="resultRef"/>
<prop readOnly="True" type="string" name="resultUrl"/>
</prop>
<prop readOnly="True" type="ResourceId" name="resourceId"/>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="string" name="status" required="True"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2024-07-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.clusterName" options="cluster-name name n" required="True" idPart="name">
<help short="The name of the cluster."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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="ClusterParameters">
<arg type="object" var="$clusterParameters.extendedLocation" options="extended-location" required="True" group="ClusterParameters">
<help short="The extended location of the cluster manager associated with the cluster."/>
<arg type="string" var="$clusterParameters.extendedLocation.name" options="name" required="True">
<help short="The resource ID of the extended location on which the resource will be created."/>
</arg>
<arg type="string" var="$clusterParameters.extendedLocation.type" options="type" required="True">
<help short="The extended location type, for example, CustomLocation."/>
</arg>
</arg>
<arg type="object" var="$clusterParameters.identity" options="identity" group="ClusterParameters">
<help short="The identity for the resource."/>
<arg type="string" var="$clusterParameters.identity.systemAssigned" options="mi-system-assigned system-assigned">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="string" var="$clusterParameters.identity.type" options="type" required="True">
<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="$clusterParameters.identity.userAssigned" options="mi-user-assigned user-assigned">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
<arg type="object" var="$clusterParameters.identity.userAssignedIdentities" options="user-assigned-identities">
<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>
</arg>
<arg type="ResourceLocation" var="$clusterParameters.location" options="location l" required="True" group="ClusterParameters">
<help short="The geo-location where the resource lives"/>
</arg>
<arg type="object" var="$clusterParameters.tags" options="tags" group="ClusterParameters">
<help short="Resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="object" var="$clusterParameters.properties.aggregatorOrSingleRackDefinition" options="aggregator-or-single-rack-definition" required="True" group="Properties" cls="RackDefinition_create">
<help short="The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster."/>
<arg type="string" var="@RackDefinition_create.availabilityZone" options="availability-zone">
<help short="The zone name used for this rack when created."/>
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</arg>
<arg type="array<object>" var="@RackDefinition_create.bareMetalMachineConfigurationData" options="bare-metal-machine-configuration-data">
<help short="The unordered list of bare metal machine configuration."/>
<item type="object">
<arg type="object" var="@RackDefinition_create.bareMetalMachineConfigurationData[].bmcCredentials" options="bmc-credentials" required="True" cls="AdministrativeCredentials_create">
<help short="The credentials of the baseboard management controller on this bare metal machine."/>
<arg type="string" var="@AdministrativeCredentials_create.password" options="password" required="True">
<help short="The password of the administrator of the device used during initialization."/>
<format minLength="1"/>
</arg>
<arg type="string" var="@AdministrativeCredentials_create.username" options="username" required="True">
<help short="The username of the administrator of the device used during initialization."/>
<format minLength="1"/>
</arg>
</arg>
<arg type="string" var="@RackDefinition_create.bareMetalMachineConfigurationData[].bmcMacAddress" options="bmc-mac-address" required="True">
<help short="The MAC address of the BMC for this machine."/>
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</arg>
<arg type="string" var="@RackDefinition_create.bareMetalMachineConfigurationData[].bootMacAddress" options="boot-mac-address" required="True">
<help short="The MAC address associated with the PXE NIC card."/>
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</arg>
<arg type="string" var="@RackDefinition_create.bareMetalMachineConfigurationData[].machineDetails" options="machine-details">
<help short="The free-form additional information about the machine, e.g. an asset tag."/>
<format maxLength="256"/>
</arg>
<arg type="string" var="@RackDefinition_create.bareMetalMachineConfigurationData[].machineName" options="machine-name">
<help short="The user-provided name for the bare metal machine created from this specification. If not provided, the machine name will be generated programmatically."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</arg>
<arg type="integer64" var="@RackDefinition_create.bareMetalMachineConfigurationData[].rackSlot" options="rack-slot" required="True">
<help short="The slot the physical machine is in the rack based on the BOM configuration."/>
<format maximum="256" minimum="1"/>
</arg>
<arg type="string" var="@RackDefinition_create.bareMetalMachineConfigurationData[].serialNumber" options="serial-number" required="True">
<help short="The serial number of the machine. Hardware suppliers may use an alternate value. For example, service tag."/>
<format maxLength="64"/>
</arg>
</item>
</arg>
<arg type="ResourceId" var="@RackDefinition_create.networkRackId" options="network-rack-id" required="True">
<help short="The resource ID of the network rack that matches this rack definition."/>
</arg>
<arg type="string" var="@RackDefinition_create.rackLocation" options="rack-location">
<help short="The free-form description of the rack's location."/>
<format maxLength="256"/>
</arg>
<arg type="string" var="@RackDefinition_create.rackSerialNumber" options="rack-serial-number" required="True">
<help short="The unique identifier for the rack within Network Cloud cluster. An alternate unique alphanumeric value other than a serial number may be provided if desired."/>
<format maxLength="64" minLength="1"/>
</arg>
<arg type="ResourceId" var="@RackDefinition_create.rackSkuId" options="rack-sku-id" required="True">
<help short="The resource ID of the sku for the rack being added."/>
</arg>
<arg type="array<object>" var="@RackDefinition_create.storageApplianceConfigurationData" options="storage-appliance-configuration-data">
<help short="The list of storage appliance configuration data for this rack."/>
<item type="object">
<arg type="@AdministrativeCredentials_create" var="@RackDefinition_create.storageApplianceConfigurationData[].adminCredentials" options="admin-credentials" required="True">
<help short="The credentials of the administrative interface on this storage appliance."/>
</arg>
<arg type="integer64" var="@RackDefinition_create.storageApplianceConfigurationData[].rackSlot" options="rack-slot" required="True">
<help short="The slot that storage appliance is in the rack based on the BOM configuration."/>
<format maximum="256" minimum="1"/>
</arg>
<arg type="string" var="@RackDefinition_create.storageApplianceConfigurationData[].serialNumber" options="serial-number" required="True">
<help short="The serial number of the appliance."/>
</arg>
<arg type="string" var="@RackDefinition_create.storageApplianceConfigurationData[].storageApplianceName" options="storage-appliance-name">
<help short="The user-provided name for the storage appliance that will be created from this specification."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</arg>
</item>
</arg>
</arg>
<arg type="ResourceId" var="$clusterParameters.properties.analyticsWorkspaceId" options="analytics-workspace-id" group="Properties">
<help short="The resource ID of the Log Analytics Workspace that will be used for storing relevant logs."/>
</arg>
<arg type="string" var="$clusterParameters.properties.clusterLocation" options="cluster-location" group="Properties">
<help short="The customer-provided location information to identify where the cluster resides."/>
<format maxLength="256"/>
</arg>
<arg type="object" var="$clusterParameters.properties.clusterServicePrincipal" options="cluster-service-principal" group="Properties">
<help short="The service principal to be used by the cluster during Arc Appliance installation."/>
<arg type="string" var="$clusterParameters.properties.clusterServicePrincipal.applicationId" options="application-id" required="True">
<help short="The application ID, also known as client ID, of the service principal."/>
</arg>
<arg type="string" var="$clusterParameters.properties.clusterServicePrincipal.password" options="password" required="True">
<help short="The password of the service principal."/>
</arg>
<arg type="string" var="$clusterParameters.properties.clusterServicePrincipal.principalId" options="principal-id" required="True">
<help short="The principal ID, also known as the object ID, of the service principal."/>
</arg>
<arg type="string" var="$clusterParameters.properties.clusterServicePrincipal.tenantId" options="tenant-id" required="True">
<help short="The tenant ID, also known as the directory ID, of the tenant in which the service principal is created."/>
</arg>
</arg>
<arg type="string" var="$clusterParameters.properties.clusterType" options="cluster-type" required="True" group="Properties">
<help short="The type of rack configuration for the cluster."/>
<enum>
<item name="MultiRack" value=""MultiRack""/>
<item name="SingleRack" value=""SingleRack""/>
</enum>
</arg>
<arg type="string" var="$clusterParameters.properties.clusterVersion" options="cluster-version" required="True" group="Properties">
<help short="The current runtime version of the cluster."/>
</arg>
<arg type="object" var="$clusterParameters.properties.commandOutputSettings" options="command-output-settings co-settings" group="Properties">
<help short="The settings for commands run in this cluster, such as bare metal machine run read only commands and data extracts."/>
<arg type="string" var="$clusterParameters.properties.commandOutputSettings.associatedIdentity.identityType" options="identity-type" group="AssociatedIdentity">
<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 nullable="True" type="ResourceId" var="$clusterParameters.properties.commandOutputSettings.associatedIdentity.userAssignedIdentityResourceId" options="identity-resource-id" group="AssociatedIdentity">
<help short="The user assigned managed identity resource ID to use. Mutually exclusive with a system assigned identity type."/>
</arg>
<arg type="string" var="$clusterParameters.properties.commandOutputSettings.containerUrl" options="container-url">
<help short="The URL of the storage account container that is to be used by the specified identities."/>
</arg>
</arg>
<arg type="object" var="$clusterParameters.properties.computeDeploymentThreshold" options="compute-deployment-threshold" group="Properties">
<help short="The validation threshold indicating the allowable failures of compute machines during environment validation and deployment."/>
<arg type="string" var="$clusterParameters.properties.computeDeploymentThreshold.grouping" options="grouping" required="True">
<help short="Selection of how the type evaluation is applied to the cluster calculation."/>
<enum>
<item name="PerCluster" value=""PerCluster""/>
<item name="PerRack" value=""PerRack""/>
</enum>
</arg>
<arg type="string" var="$clusterParameters.properties.computeDeploymentThreshold.type" options="type" required="True">
<help short="Selection of how the threshold should be evaluated."/>
<enum>
<item name="CountSuccess" value=""CountSuccess""/>
<item name="PercentSuccess" value=""PercentSuccess""/>
</enum>
</arg>
<arg type="integer64" var="$clusterParameters.properties.computeDeploymentThreshold.value" options="value" required="True">
<help short="The numeric threshold value."/>
<format minimum="0"/>
</arg>
</arg>
<arg type="array<@RackDefinition_create>" var="$clusterParameters.properties.computeRackDefinitions" options="compute-rack-definitions" group="Properties">
<help short="The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster."/>
<item type="@RackDefinition_create"/>
</arg>
<arg type="object" var="$clusterParameters.properties.managedResourceGroupConfiguration" options="managed-resource-group-configuration" group="Properties">
<help short="The configuration of the managed resource group associated with the resource."/>
<arg type="string" var="$clusterParameters.properties.managedResourceGroupConfiguration.location" options="location">
<help short="The location of the managed resource group. If not specified, the location of the parent resource is chosen."/>
</arg>
<arg type="string" var="$clusterParameters.properties.managedResourceGroupConfiguration.name" options="name">
<help short="The name for the managed resource group. If not specified, the unique name is automatically generated."/>
<format maxLength="75"/>
</arg>
</arg>
<arg type="ResourceId" var="$clusterParameters.properties.networkFabricId" options="network-fabric-id" required="True" group="Properties">
<help short="The resource ID of the Network Fabric associated with the cluster."/>
</arg>
<arg type="object" var="$clusterParameters.properties.runtimeProtectionConfiguration" options="runtime-protection" group="Properties">
<help short="The settings for cluster runtime protection."/>
<arg type="string" var="$clusterParameters.properties.runtimeProtectionConfiguration.enforcementLevel" options="enforcement-level">
<help short="The mode of operation for runtime protection."/>
<default value=""Disabled""/>
<enum>
<item name="Audit" value=""Audit""/>
<item name="Disabled" value=""Disabled""/>
<item name="OnDemand" value=""OnDemand""/>
<item name="Passive" value=""Passive""/>
<item name="RealTime" value=""RealTime""/>
</enum>
</arg>
</arg>
<arg type="object" var="$clusterParameters.properties.secretArchive" options="secret-archive" group="Properties">
<help short="The configuration for use of a key vault to store secrets for later retrieval by the operator."/>
<arg type="ResourceId" var="$clusterParameters.properties.secretArchive.keyVaultId" options="key-vault-id" required="True">
<help short="The resource ID of the key vault to archive the secrets of the cluster."/>
</arg>
<arg type="string" var="$clusterParameters.properties.secretArchive.useKeyVault" options="use-key-vault">
<help short="The indicator if the specified key vault should be used to archive the secrets of the cluster."/>
<default value=""False""/>
<enum>
<item name="False" value=""False""/>
<item name="True" value=""True""/>
</enum>
</arg>
</arg>
<arg type="object" var="$clusterParameters.properties.updateStrategy" options="update-strategy" group="Properties">
<help short="The strategy for updating the cluster."/>
<arg type="integer64" var="$clusterParameters.properties.updateStrategy.maxUnavailable" options="max-unavailable">
<help short="The maximum number of worker nodes that can be offline within the increment of update, e.g., rack-by-rack. Limited by the maximum number of machines in the increment. Defaults to the whole increment size."/>
<format minimum="1"/>
</arg>
<arg type="string" var="$clusterParameters.properties.updateStrategy.strategyType" options="strategy-type" required="True">
<help short="The mode of operation for runtime protection."/>
<enum>
<item name="PauseAfterRack" value=""PauseAfterRack""/>
<item name="Rack" value=""Rack""/>
</enum>
</arg>
<arg type="string" var="$clusterParameters.properties.updateStrategy.thresholdType" options="threshold-type" required="True">
<help short="Selection of how the threshold should be evaluated."/>
<enum>
<item name="CountSuccess" value=""CountSuccess""/>
<item name="PercentSuccess" value=""PercentSuccess""/>
</enum>
</arg>
<arg type="integer64" var="$clusterParameters.properties.updateStrategy.thresholdValue" options="threshold-value" required="True">
<help short="The numeric threshold value."/>
<format minimum="0"/>
</arg>
<arg type="integer64" var="$clusterParameters.properties.updateStrategy.waitTimeMinutes" options="wait-time-minutes">
<help short="The time to wait between the increments of update defined by the strategy."/>
<default value="15"/>
<format maximum="60" minimum="0"/>
</arg>
</arg>
</argGroup>
<operation operationId="Clusters_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="put">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
<body>
<json>
<schema type="object" name="clusterParameters" required="True" clientFlatten="True">
<prop type="object" name="extendedLocation" arg="$clusterParameters.extendedLocation" required="True">
<prop type="string" name="name" arg="$clusterParameters.extendedLocation.name" required="True"/>
<prop type="string" name="type" arg="$clusterParameters.extendedLocation.type" required="True"/>
</prop>
<prop type="IdentityObject" name="identity" arg="$clusterParameters.identity">
<prop type="string" name="type" arg="$clusterParameters.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="$clusterParameters.identity.userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object"/>
</additionalProp>
</prop>
<userAssigned action="create" type="array<string>" name="userAssigned" arg="$clusterParameters.identity.userAssigned">
<item action="create" type="string"/>
</userAssigned>
<systemAssigned action="create" type="string" name="systemAssigned" arg="$clusterParameters.identity.systemAssigned"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$clusterParameters.location" required="True"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="aggregatorOrSingleRackDefinition" arg="$clusterParameters.properties.aggregatorOrSingleRackDefinition" required="True" cls="RackDefinition_create">
<prop type="string" name="availabilityZone" arg="@RackDefinition_create.availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData" arg="@RackDefinition_create.bareMetalMachineConfigurationData">
<item type="object">
<prop type="object" name="bmcCredentials" arg="@RackDefinition_create.bareMetalMachineConfigurationData[].bmcCredentials" required="True" cls="AdministrativeCredentials_create">
<prop type="string" name="password" arg="@AdministrativeCredentials_create.password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" arg="@AdministrativeCredentials_create.username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" arg="@RackDefinition_create.bareMetalMachineConfigurationData[].bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" arg="@RackDefinition_create.bareMetalMachineConfigurationData[].bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails" arg="@RackDefinition_create.bareMetalMachineConfigurationData[].machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName" arg="@RackDefinition_create.bareMetalMachineConfigurationData[].machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" arg="@RackDefinition_create.bareMetalMachineConfigurationData[].rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" arg="@RackDefinition_create.bareMetalMachineConfigurationData[].serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" arg="@RackDefinition_create.networkRackId" required="True"/>
<prop type="string" name="rackLocation" arg="@RackDefinition_create.rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" arg="@RackDefinition_create.rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" arg="@RackDefinition_create.rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData" arg="@RackDefinition_create.storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_create" name="adminCredentials" arg="@RackDefinition_create.storageApplianceConfigurationData[].adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" arg="@RackDefinition_create.storageApplianceConfigurationData[].rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" arg="@RackDefinition_create.storageApplianceConfigurationData[].serialNumber" required="True"/>
<prop type="string" name="storageApplianceName" arg="@RackDefinition_create.storageApplianceConfigurationData[].storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="ResourceId" name="analyticsWorkspaceId" arg="$clusterParameters.properties.analyticsWorkspaceId"/>
<prop type="string" name="clusterLocation" arg="$clusterParameters.properties.clusterLocation">
<format maxLength="256"/>
</prop>
<prop type="object" name="clusterServicePrincipal" arg="$clusterParameters.properties.clusterServicePrincipal">
<prop type="string" name="applicationId" arg="$clusterParameters.properties.clusterServicePrincipal.applicationId" required="True"/>
<prop type="string" name="password" arg="$clusterParameters.properties.clusterServicePrincipal.password" required="True" secret="True"/>
<prop type="string" name="principalId" arg="$clusterParameters.properties.clusterServicePrincipal.principalId" required="True"/>
<prop type="string" name="tenantId" arg="$clusterParameters.properties.clusterServicePrincipal.tenantId" required="True"/>
</prop>
<prop type="string" name="clusterType" arg="$clusterParameters.properties.clusterType" required="True">
<enum>
<item value=""MultiRack""/>
<item value=""SingleRack""/>
</enum>
</prop>
<prop type="string" name="clusterVersion" arg="$clusterParameters.properties.clusterVersion" required="True"/>
<prop type="object" name="commandOutputSettings" arg="$clusterParameters.properties.commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType" arg="$clusterParameters.properties.commandOutputSettings.associatedIdentity.identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId" arg="$clusterParameters.properties.commandOutputSettings.associatedIdentity.userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl" arg="$clusterParameters.properties.commandOutputSettings.containerUrl"/>
</prop>
<prop type="object" name="computeDeploymentThreshold" arg="$clusterParameters.properties.computeDeploymentThreshold">
<prop type="string" name="grouping" arg="$clusterParameters.properties.computeDeploymentThreshold.grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" arg="$clusterParameters.properties.computeDeploymentThreshold.type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" arg="$clusterParameters.properties.computeDeploymentThreshold.value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_create>" name="computeRackDefinitions" arg="$clusterParameters.properties.computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_create"/>
</prop>
<prop type="object" name="managedResourceGroupConfiguration" arg="$clusterParameters.properties.managedResourceGroupConfiguration">
<prop type="string" name="location" arg="$clusterParameters.properties.managedResourceGroupConfiguration.location"/>
<prop type="string" name="name" arg="$clusterParameters.properties.managedResourceGroupConfiguration.name">
<format maxLength="75"/>
</prop>
</prop>
<prop type="ResourceId" name="networkFabricId" arg="$clusterParameters.properties.networkFabricId" required="True"/>
<prop type="object" name="runtimeProtectionConfiguration" arg="$clusterParameters.properties.runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel" arg="$clusterParameters.properties.runtimeProtectionConfiguration.enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop type="object" name="secretArchive" arg="$clusterParameters.properties.secretArchive">
<prop type="ResourceId" name="keyVaultId" arg="$clusterParameters.properties.secretArchive.keyVaultId" required="True"/>
<prop type="string" name="useKeyVault" arg="$clusterParameters.properties.secretArchive.useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop type="object" name="updateStrategy" arg="$clusterParameters.properties.updateStrategy">
<prop type="integer64" name="maxUnavailable" arg="$clusterParameters.properties.updateStrategy.maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" arg="$clusterParameters.properties.updateStrategy.strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" arg="$clusterParameters.properties.updateStrategy.thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" arg="$clusterParameters.properties.updateStrategy.thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes" arg="$clusterParameters.properties.updateStrategy.waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
</prop>
<prop type="object" name="tags" arg="$clusterParameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop type="object" name="extendedLocation" required="True" cls="ExtendedLocation_read">
<prop type="string" name="name" required="True"/>
<prop type="string" name="type" required="True"/>
</prop>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetworkCloud/clusters/{}"/>
</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 type="object" name="aggregatorOrSingleRackDefinition" required="True" cls="RackDefinition_read">
<prop type="string" name="availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData">
<item type="object">
<prop readOnly="True" type="string" name="bmcConnectionString"/>
<prop type="object" name="bmcCredentials" required="True" cls="AdministrativeCredentials_read">
<prop type="string" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" required="True"/>
<prop type="string" name="rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_read" name="adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True"/>
<prop type="string" name="storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="ResourceId" name="analyticsWorkspaceId"/>
<prop readOnly="True" type="array<object>" name="availableUpgradeVersions" identifiers="targetClusterVersion">
<item type="object">
<prop readOnly="True" type="string" name="controlImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="expectedDuration"/>
<prop readOnly="True" type="string" name="impactDescription"/>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop readOnly="True" type="string" name="targetClusterVersion"/>
<prop readOnly="True" type="string" name="workloadImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</item>
</prop>
<prop readOnly="True" type="object" name="clusterCapacity">
<prop type="integer64" name="availableApplianceStorageGB"/>
<prop type="integer64" name="availableCoreCount"/>
<prop type="integer64" name="availableHostStorageGB"/>
<prop type="integer64" name="availableMemoryGB"/>
<prop type="integer64" name="totalApplianceStorageGB"/>
<prop type="integer64" name="totalCoreCount"/>
<prop type="integer64" name="totalHostStorageGB"/>
<prop type="integer64" name="totalMemoryGB"/>
</prop>
<prop readOnly="True" type="string" name="clusterConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Disconnected""/>
<item value=""Timeout""/>
<item value=""Undefined""/>
</enum>
</prop>
<prop readOnly="True" type="@ExtendedLocation_read" name="clusterExtendedLocation"/>
<prop type="string" name="clusterLocation">
<format maxLength="256"/>
</prop>
<prop readOnly="True" type="string" name="clusterManagerConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Unreachable""/>
</enum>
</prop>
<prop readOnly="True" type="ResourceId" name="clusterManagerId"/>
<prop type="object" name="clusterServicePrincipal">
<prop type="string" name="applicationId" required="True"/>
<prop type="string" name="password" required="True" secret="True"/>
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="tenantId" required="True"/>
</prop>
<prop type="string" name="clusterType" required="True">
<enum>
<item value=""MultiRack""/>
<item value=""SingleRack""/>
</enum>
</prop>
<prop type="string" name="clusterVersion" required="True"/>
<prop type="object" name="commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl"/>
</prop>
<prop type="object" name="computeDeploymentThreshold">
<prop type="string" name="grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_read>" name="computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_read"/>
</prop>
<prop readOnly="True" type="string" name="detailedStatus">
<enum>
<item value=""Degraded""/>
<item value=""Deleting""/>
<item value=""Deploying""/>
<item value=""Disconnected""/>
<item value=""Failed""/>
<item value=""PendingDeployment""/>
<item value=""Running""/>
<item value=""UpdatePaused""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="detailedStatusMessage"/>
<prop readOnly="True" type="@ExtendedLocation_read" name="hybridAksExtendedLocation"/>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="string" name="location"/>
<prop type="string" name="name">
<format maxLength="75"/>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="manualActionCount"/>
<prop type="ResourceId" name="networkFabricId" required="True"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
<item value=""Validating""/>
</enum>
</prop>
<prop type="object" name="runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop type="object" name="secretArchive">
<prop type="ResourceId" name="keyVaultId" required="True"/>
<prop type="string" name="useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop type="object" name="updateStrategy">
<prop type="integer64" name="maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
<prop readOnly="True" type="array<string>" name="workloadResourceIds">
<item type="string"/>
</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-07-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.clusterName" options="cluster-name name n" required="True" idPart="name">
<help short="The name of the cluster."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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="ClusterUpdateParameters">
<arg type="object" var="$clusterUpdateParameters.identity" options="identity" group="ClusterUpdateParameters">
<help short="The identity for the resource."/>
<arg type="string" var="$clusterUpdateParameters.identity.systemAssigned" options="mi-system-assigned system-assigned">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="string" var="$clusterUpdateParameters.identity.type" options="type" required="True">
<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="$clusterUpdateParameters.identity.userAssigned" options="mi-user-assigned user-assigned">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
<arg type="object" var="$clusterUpdateParameters.identity.userAssignedIdentities" options="user-assigned-identities">
<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>
</arg>
<arg type="object" var="$clusterUpdateParameters.tags" options="tags" group="ClusterUpdateParameters">
<help short="The Azure resource tags that will replace the existing ones."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="object" var="$clusterUpdateParameters.properties.aggregatorOrSingleRackDefinition" options="aggregator-or-single-rack-definition" group="Properties" cls="RackDefinition_update">
<help short="The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster."/>
<arg type="string" var="@RackDefinition_update.availabilityZone" options="availability-zone">
<help short="The zone name used for this rack when created."/>
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</arg>
<arg type="array<object>" var="@RackDefinition_update.bareMetalMachineConfigurationData" options="bare-metal-machine-configuration-data">
<help short="The unordered list of bare metal machine configuration."/>
<item type="object">
<arg type="object" var="@RackDefinition_update.bareMetalMachineConfigurationData[].bmcCredentials" options="bmc-credentials" required="True" cls="AdministrativeCredentials_update">
<help short="The credentials of the baseboard management controller on this bare metal machine."/>
<arg type="string" var="@AdministrativeCredentials_update.password" options="password" required="True">
<help short="The password of the administrator of the device used during initialization."/>
<format minLength="1"/>
</arg>
<arg type="string" var="@AdministrativeCredentials_update.username" options="username" required="True">
<help short="The username of the administrator of the device used during initialization."/>
<format minLength="1"/>
</arg>
</arg>
<arg type="string" var="@RackDefinition_update.bareMetalMachineConfigurationData[].bmcMacAddress" options="bmc-mac-address" required="True">
<help short="The MAC address of the BMC for this machine."/>
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</arg>
<arg type="string" var="@RackDefinition_update.bareMetalMachineConfigurationData[].bootMacAddress" options="boot-mac-address" required="True">
<help short="The MAC address associated with the PXE NIC card."/>
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</arg>
<arg type="string" var="@RackDefinition_update.bareMetalMachineConfigurationData[].machineDetails" options="machine-details">
<help short="The free-form additional information about the machine, e.g. an asset tag."/>
<format maxLength="256"/>
</arg>
<arg type="string" var="@RackDefinition_update.bareMetalMachineConfigurationData[].machineName" options="machine-name">
<help short="The user-provided name for the bare metal machine created from this specification. If not provided, the machine name will be generated programmatically."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</arg>
<arg type="integer64" var="@RackDefinition_update.bareMetalMachineConfigurationData[].rackSlot" options="rack-slot" required="True">
<help short="The slot the physical machine is in the rack based on the BOM configuration."/>
<format maximum="256" minimum="1"/>
</arg>
<arg type="string" var="@RackDefinition_update.bareMetalMachineConfigurationData[].serialNumber" options="serial-number" required="True">
<help short="The serial number of the machine. Hardware suppliers may use an alternate value. For example, service tag."/>
<format maxLength="64"/>
</arg>
</item>
</arg>
<arg type="ResourceId" var="@RackDefinition_update.networkRackId" options="network-rack-id" required="True">
<help short="The resource ID of the network rack that matches this rack definition."/>
</arg>
<arg type="string" var="@RackDefinition_update.rackLocation" options="rack-location">
<help short="The free-form description of the rack's location."/>
<format maxLength="256"/>
</arg>
<arg type="string" var="@RackDefinition_update.rackSerialNumber" options="rack-serial-number" required="True">
<help short="The unique identifier for the rack within Network Cloud cluster. An alternate unique alphanumeric value other than a serial number may be provided if desired."/>
<format maxLength="64" minLength="1"/>
</arg>
<arg type="ResourceId" var="@RackDefinition_update.rackSkuId" options="rack-sku-id" required="True">
<help short="The resource ID of the sku for the rack being added."/>
</arg>
<arg type="array<object>" var="@RackDefinition_update.storageApplianceConfigurationData" options="storage-appliance-configuration-data">
<help short="The list of storage appliance configuration data for this rack."/>
<item type="object">
<arg type="@AdministrativeCredentials_update" var="@RackDefinition_update.storageApplianceConfigurationData[].adminCredentials" options="admin-credentials" required="True">
<help short="The credentials of the administrative interface on this storage appliance."/>
</arg>
<arg type="integer64" var="@RackDefinition_update.storageApplianceConfigurationData[].rackSlot" options="rack-slot" required="True">
<help short="The slot that storage appliance is in the rack based on the BOM configuration."/>
<format maximum="256" minimum="1"/>
</arg>
<arg type="string" var="@RackDefinition_update.storageApplianceConfigurationData[].serialNumber" options="serial-number" required="True">
<help short="The serial number of the appliance."/>
</arg>
<arg type="string" var="@RackDefinition_update.storageApplianceConfigurationData[].storageApplianceName" options="storage-appliance-name">
<help short="The user-provided name for the storage appliance that will be created from this specification."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</arg>
</item>
</arg>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.clusterLocation" options="cluster-location" group="Properties">
<help short="The customer-provided location information to identify where the cluster resides."/>
</arg>
<arg nullable="True" type="object" var="$clusterUpdateParameters.properties.clusterServicePrincipal" options="cluster-service-principal" group="Properties">
<help short="The service principal to be used by the cluster during Arc Appliance installation."/>
<arg type="string" var="$clusterUpdateParameters.properties.clusterServicePrincipal.applicationId" options="application-id" required="True">
<help short="The application ID, also known as client ID, of the service principal."/>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.clusterServicePrincipal.password" options="password" required="True">
<help short="The password of the service principal."/>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.clusterServicePrincipal.principalId" options="principal-id" required="True">
<help short="The principal ID, also known as the object ID, of the service principal."/>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.clusterServicePrincipal.tenantId" options="tenant-id" required="True">
<help short="The tenant ID, also known as the directory ID, of the tenant in which the service principal is created."/>
</arg>
</arg>
<arg nullable="True" type="object" var="$clusterUpdateParameters.properties.commandOutputSettings" options="command-output-settings co-settings" group="Properties">
<help short="The settings for commands run in this cluster, such as bare metal machine run read only commands and data extracts."/>
<arg type="string" var="$clusterUpdateParameters.properties.commandOutputSettings.associatedIdentity.identityType" options="identity-type" group="AssociatedIdentity">
<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 nullable="True" type="ResourceId" var="$clusterUpdateParameters.properties.commandOutputSettings.associatedIdentity.userAssignedIdentityResourceId" options="identity-resource-id" group="AssociatedIdentity">
<help short="The user assigned managed identity resource ID to use. Mutually exclusive with a system assigned identity type."/>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.commandOutputSettings.containerUrl" options="container-url">
<help short="The URL of the storage account container that is to be used by the specified identities."/>
</arg>
</arg>
<arg nullable="True" type="object" var="$clusterUpdateParameters.properties.computeDeploymentThreshold" options="compute-deployment-threshold" group="Properties">
<help short="The validation threshold indicating the allowable failures of compute machines during environment validation and deployment."/>
<arg type="string" var="$clusterUpdateParameters.properties.computeDeploymentThreshold.grouping" options="grouping" required="True">
<help short="Selection of how the type evaluation is applied to the cluster calculation."/>
<enum>
<item name="PerCluster" value=""PerCluster""/>
<item name="PerRack" value=""PerRack""/>
</enum>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.computeDeploymentThreshold.type" options="type" required="True">
<help short="Selection of how the threshold should be evaluated."/>
<enum>
<item name="CountSuccess" value=""CountSuccess""/>
<item name="PercentSuccess" value=""PercentSuccess""/>
</enum>
</arg>
<arg type="integer64" var="$clusterUpdateParameters.properties.computeDeploymentThreshold.value" options="value" required="True">
<help short="The numeric threshold value."/>
<format minimum="0"/>
</arg>
</arg>
<arg type="array<@RackDefinition_update>" var="$clusterUpdateParameters.properties.computeRackDefinitions" options="compute-rack-definitions" group="Properties">
<help short="The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster."/>
<item type="@RackDefinition_update"/>
</arg>
<arg nullable="True" type="object" var="$clusterUpdateParameters.properties.runtimeProtectionConfiguration" options="runtime-protection" group="Properties">
<help short="The settings for cluster runtime protection."/>
<arg type="string" var="$clusterUpdateParameters.properties.runtimeProtectionConfiguration.enforcementLevel" options="enforcement-level">
<help short="The mode of operation for runtime protection."/>
<default value=""Disabled""/>
<enum>
<item name="Audit" value=""Audit""/>
<item name="Disabled" value=""Disabled""/>
<item name="OnDemand" value=""OnDemand""/>
<item name="Passive" value=""Passive""/>
<item name="RealTime" value=""RealTime""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="object" var="$clusterUpdateParameters.properties.secretArchive" options="secret-archive" group="Properties">
<help short="The configuration for use of a key vault to store secrets for later retrieval by the operator."/>
<arg type="ResourceId" var="$clusterUpdateParameters.properties.secretArchive.keyVaultId" options="key-vault-id" required="True">
<help short="The resource ID of the key vault to archive the secrets of the cluster."/>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.secretArchive.useKeyVault" options="use-key-vault">
<help short="The indicator if the specified key vault should be used to archive the secrets of the cluster."/>
<default value=""False""/>
<enum>
<item name="False" value=""False""/>
<item name="True" value=""True""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="object" var="$clusterUpdateParameters.properties.updateStrategy" options="update-strategy" group="Properties">
<help short="The strategy for updating the cluster."/>
<arg type="integer64" var="$clusterUpdateParameters.properties.updateStrategy.maxUnavailable" options="max-unavailable">
<help short="The maximum number of worker nodes that can be offline within the increment of update, e.g., rack-by-rack. Limited by the maximum number of machines in the increment. Defaults to the whole increment size."/>
<format minimum="1"/>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.updateStrategy.strategyType" options="strategy-type" required="True">
<help short="The mode of operation for runtime protection."/>
<enum>
<item name="PauseAfterRack" value=""PauseAfterRack""/>
<item name="Rack" value=""Rack""/>
</enum>
</arg>
<arg type="string" var="$clusterUpdateParameters.properties.updateStrategy.thresholdType" options="threshold-type" required="True">
<help short="Selection of how the threshold should be evaluated."/>
<enum>
<item name="CountSuccess" value=""CountSuccess""/>
<item name="PercentSuccess" value=""PercentSuccess""/>
</enum>
</arg>
<arg type="integer64" var="$clusterUpdateParameters.properties.updateStrategy.thresholdValue" options="threshold-value" required="True">
<help short="The numeric threshold value."/>
<format minimum="0"/>
</arg>
<arg type="integer64" var="$clusterUpdateParameters.properties.updateStrategy.waitTimeMinutes" options="wait-time-minutes">
<help short="The time to wait between the increments of update defined by the strategy."/>
<default value="15"/>
<format maximum="60" minimum="0"/>
</arg>
</arg>
</argGroup>
<operation operationId="Clusters_Update">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="patch">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
<body>
<json>
<schema type="object" name="clusterUpdateParameters" clientFlatten="True">
<prop type="IdentityObject" name="identity" arg="$clusterUpdateParameters.identity">
<prop type="string" name="type" arg="$clusterUpdateParameters.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="$clusterUpdateParameters.identity.userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object"/>
</additionalProp>
</prop>
<userAssigned action="create" type="array<string>" name="userAssigned" arg="$clusterUpdateParameters.identity.userAssigned">
<item action="create" type="string"/>
</userAssigned>
<systemAssigned action="create" type="string" name="systemAssigned" arg="$clusterUpdateParameters.identity.systemAssigned"/>
</prop>
<prop type="object" name="properties" clientFlatten="True">
<prop type="object" name="aggregatorOrSingleRackDefinition" arg="$clusterUpdateParameters.properties.aggregatorOrSingleRackDefinition" cls="RackDefinition_update">
<prop type="string" name="availabilityZone" arg="@RackDefinition_update.availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData" arg="@RackDefinition_update.bareMetalMachineConfigurationData">
<item type="object">
<prop type="object" name="bmcCredentials" arg="@RackDefinition_update.bareMetalMachineConfigurationData[].bmcCredentials" required="True" cls="AdministrativeCredentials_update">
<prop type="string" name="password" arg="@AdministrativeCredentials_update.password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" arg="@AdministrativeCredentials_update.username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" arg="@RackDefinition_update.bareMetalMachineConfigurationData[].bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" arg="@RackDefinition_update.bareMetalMachineConfigurationData[].bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails" arg="@RackDefinition_update.bareMetalMachineConfigurationData[].machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName" arg="@RackDefinition_update.bareMetalMachineConfigurationData[].machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" arg="@RackDefinition_update.bareMetalMachineConfigurationData[].rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" arg="@RackDefinition_update.bareMetalMachineConfigurationData[].serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" arg="@RackDefinition_update.networkRackId" required="True"/>
<prop type="string" name="rackLocation" arg="@RackDefinition_update.rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" arg="@RackDefinition_update.rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" arg="@RackDefinition_update.rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData" arg="@RackDefinition_update.storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_update" name="adminCredentials" arg="@RackDefinition_update.storageApplianceConfigurationData[].adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" arg="@RackDefinition_update.storageApplianceConfigurationData[].rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" arg="@RackDefinition_update.storageApplianceConfigurationData[].serialNumber" required="True"/>
<prop type="string" name="storageApplianceName" arg="@RackDefinition_update.storageApplianceConfigurationData[].storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="string" name="clusterLocation" arg="$clusterUpdateParameters.properties.clusterLocation"/>
<prop nullable="True" type="object" name="clusterServicePrincipal" arg="$clusterUpdateParameters.properties.clusterServicePrincipal">
<prop type="string" name="applicationId" arg="$clusterUpdateParameters.properties.clusterServicePrincipal.applicationId" required="True"/>
<prop type="string" name="password" arg="$clusterUpdateParameters.properties.clusterServicePrincipal.password" required="True" secret="True"/>
<prop type="string" name="principalId" arg="$clusterUpdateParameters.properties.clusterServicePrincipal.principalId" required="True"/>
<prop type="string" name="tenantId" arg="$clusterUpdateParameters.properties.clusterServicePrincipal.tenantId" required="True"/>
</prop>
<prop nullable="True" type="object" name="commandOutputSettings" arg="$clusterUpdateParameters.properties.commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType" arg="$clusterUpdateParameters.properties.commandOutputSettings.associatedIdentity.identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId" arg="$clusterUpdateParameters.properties.commandOutputSettings.associatedIdentity.userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl" arg="$clusterUpdateParameters.properties.commandOutputSettings.containerUrl"/>
</prop>
<prop nullable="True" type="object" name="computeDeploymentThreshold" arg="$clusterUpdateParameters.properties.computeDeploymentThreshold">
<prop type="string" name="grouping" arg="$clusterUpdateParameters.properties.computeDeploymentThreshold.grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" arg="$clusterUpdateParameters.properties.computeDeploymentThreshold.type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" arg="$clusterUpdateParameters.properties.computeDeploymentThreshold.value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_update>" name="computeRackDefinitions" arg="$clusterUpdateParameters.properties.computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_update"/>
</prop>
<prop nullable="True" type="object" name="runtimeProtectionConfiguration" arg="$clusterUpdateParameters.properties.runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel" arg="$clusterUpdateParameters.properties.runtimeProtectionConfiguration.enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop nullable="True" type="object" name="secretArchive" arg="$clusterUpdateParameters.properties.secretArchive">
<prop type="ResourceId" name="keyVaultId" arg="$clusterUpdateParameters.properties.secretArchive.keyVaultId" required="True"/>
<prop type="string" name="useKeyVault" arg="$clusterUpdateParameters.properties.secretArchive.useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop nullable="True" type="object" name="updateStrategy" arg="$clusterUpdateParameters.properties.updateStrategy">
<prop type="integer64" name="maxUnavailable" arg="$clusterUpdateParameters.properties.updateStrategy.maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" arg="$clusterUpdateParameters.properties.updateStrategy.strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" arg="$clusterUpdateParameters.properties.updateStrategy.thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" arg="$clusterUpdateParameters.properties.updateStrategy.thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes" arg="$clusterUpdateParameters.properties.updateStrategy.waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
</prop>
<prop type="object" name="tags" arg="$clusterUpdateParameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="Cluster_read">
<prop type="object" name="extendedLocation" required="True" cls="ExtendedLocation_read">
<prop type="string" name="name" required="True"/>
<prop type="string" name="type" required="True"/>
</prop>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetworkCloud/clusters/{}"/>
</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 type="object" name="aggregatorOrSingleRackDefinition" required="True" cls="RackDefinition_read">
<prop type="string" name="availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData">
<item type="object">
<prop readOnly="True" type="string" name="bmcConnectionString"/>
<prop type="object" name="bmcCredentials" required="True" cls="AdministrativeCredentials_read">
<prop type="string" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" required="True"/>
<prop type="string" name="rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_read" name="adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True"/>
<prop type="string" name="storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="ResourceId" name="analyticsWorkspaceId"/>
<prop readOnly="True" type="array<object>" name="availableUpgradeVersions" identifiers="targetClusterVersion">
<item type="object">
<prop readOnly="True" type="string" name="controlImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="expectedDuration"/>
<prop readOnly="True" type="string" name="impactDescription"/>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop readOnly="True" type="string" name="targetClusterVersion"/>
<prop readOnly="True" type="string" name="workloadImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</item>
</prop>
<prop readOnly="True" type="object" name="clusterCapacity">
<prop type="integer64" name="availableApplianceStorageGB"/>
<prop type="integer64" name="availableCoreCount"/>
<prop type="integer64" name="availableHostStorageGB"/>
<prop type="integer64" name="availableMemoryGB"/>
<prop type="integer64" name="totalApplianceStorageGB"/>
<prop type="integer64" name="totalCoreCount"/>
<prop type="integer64" name="totalHostStorageGB"/>
<prop type="integer64" name="totalMemoryGB"/>
</prop>
<prop readOnly="True" type="string" name="clusterConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Disconnected""/>
<item value=""Timeout""/>
<item value=""Undefined""/>
</enum>
</prop>
<prop readOnly="True" type="@ExtendedLocation_read" name="clusterExtendedLocation"/>
<prop type="string" name="clusterLocation">
<format maxLength="256"/>
</prop>
<prop readOnly="True" type="string" name="clusterManagerConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Unreachable""/>
</enum>
</prop>
<prop readOnly="True" type="ResourceId" name="clusterManagerId"/>
<prop type="object" name="clusterServicePrincipal">
<prop type="string" name="applicationId" required="True"/>
<prop type="string" name="password" required="True" secret="True"/>
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="tenantId" required="True"/>
</prop>
<prop type="string" name="clusterType" required="True">
<enum>
<item value=""MultiRack""/>
<item value=""SingleRack""/>
</enum>
</prop>
<prop type="string" name="clusterVersion" required="True"/>
<prop type="object" name="commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl"/>
</prop>
<prop type="object" name="computeDeploymentThreshold">
<prop type="string" name="grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_read>" name="computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_read"/>
</prop>
<prop readOnly="True" type="string" name="detailedStatus">
<enum>
<item value=""Degraded""/>
<item value=""Deleting""/>
<item value=""Deploying""/>
<item value=""Disconnected""/>
<item value=""Failed""/>
<item value=""PendingDeployment""/>
<item value=""Running""/>
<item value=""UpdatePaused""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="detailedStatusMessage"/>
<prop readOnly="True" type="@ExtendedLocation_read" name="hybridAksExtendedLocation"/>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="string" name="location"/>
<prop type="string" name="name">
<format maxLength="75"/>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="manualActionCount"/>
<prop type="ResourceId" name="networkFabricId" required="True"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
<item value=""Validating""/>
</enum>
</prop>
<prop type="object" name="runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop type="object" name="secretArchive">
<prop type="ResourceId" name="keyVaultId" required="True"/>
<prop type="string" name="useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop type="object" name="updateStrategy">
<prop type="integer64" name="maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
<prop readOnly="True" type="array<string>" name="workloadResourceIds">
<item type="string"/>
</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="Azure-AsyncOperation"/>
<item name="Location"/>
</header>
<body>
<json var="$Instance">
<schema type="@Cluster_read"/>
</json>
</body>
</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-07-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" subresource="identity" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.clusterName" options="cluster-name name n" required="True" idPart="name">
<help short="The name of the cluster."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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="ClusterParameters.identity">
<arg type="string" var="$clusterParameters.identity.systemAssigned" options="mi-system-assigned system-assigned" group="ClusterParameters.identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="array<string>" var="$clusterParameters.identity.userAssigned" options="mi-user-assigned user-assigned" group="ClusterParameters.identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="clusterParameters">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="Clusters_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="get">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="Cluster_read">
<prop type="object" name="extendedLocation" required="True" cls="ExtendedLocation_read">
<prop type="string" name="name" required="True"/>
<prop type="string" name="type" required="True"/>
</prop>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetworkCloud/clusters/{}"/>
</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 type="object" name="aggregatorOrSingleRackDefinition" required="True" cls="RackDefinition_read">
<prop type="string" name="availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData">
<item type="object">
<prop readOnly="True" type="string" name="bmcConnectionString"/>
<prop type="object" name="bmcCredentials" required="True" cls="AdministrativeCredentials_read">
<prop type="string" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" required="True"/>
<prop type="string" name="rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_read" name="adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True"/>
<prop type="string" name="storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="ResourceId" name="analyticsWorkspaceId"/>
<prop readOnly="True" type="array<object>" name="availableUpgradeVersions" identifiers="targetClusterVersion">
<item type="object">
<prop readOnly="True" type="string" name="controlImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="expectedDuration"/>
<prop readOnly="True" type="string" name="impactDescription"/>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop readOnly="True" type="string" name="targetClusterVersion"/>
<prop readOnly="True" type="string" name="workloadImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</item>
</prop>
<prop readOnly="True" type="object" name="clusterCapacity">
<prop type="integer64" name="availableApplianceStorageGB"/>
<prop type="integer64" name="availableCoreCount"/>
<prop type="integer64" name="availableHostStorageGB"/>
<prop type="integer64" name="availableMemoryGB"/>
<prop type="integer64" name="totalApplianceStorageGB"/>
<prop type="integer64" name="totalCoreCount"/>
<prop type="integer64" name="totalHostStorageGB"/>
<prop type="integer64" name="totalMemoryGB"/>
</prop>
<prop readOnly="True" type="string" name="clusterConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Disconnected""/>
<item value=""Timeout""/>
<item value=""Undefined""/>
</enum>
</prop>
<prop readOnly="True" type="@ExtendedLocation_read" name="clusterExtendedLocation"/>
<prop type="string" name="clusterLocation">
<format maxLength="256"/>
</prop>
<prop readOnly="True" type="string" name="clusterManagerConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Unreachable""/>
</enum>
</prop>
<prop readOnly="True" type="ResourceId" name="clusterManagerId"/>
<prop type="object" name="clusterServicePrincipal">
<prop type="string" name="applicationId" required="True"/>
<prop type="string" name="password" required="True" secret="True"/>
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="tenantId" required="True"/>
</prop>
<prop type="string" name="clusterType" required="True">
<enum>
<item value=""MultiRack""/>
<item value=""SingleRack""/>
</enum>
</prop>
<prop type="string" name="clusterVersion" required="True"/>
<prop type="object" name="commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl"/>
</prop>
<prop type="object" name="computeDeploymentThreshold">
<prop type="string" name="grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_read>" name="computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_read"/>
</prop>
<prop readOnly="True" type="string" name="detailedStatus">
<enum>
<item value=""Degraded""/>
<item value=""Deleting""/>
<item value=""Deploying""/>
<item value=""Disconnected""/>
<item value=""Failed""/>
<item value=""PendingDeployment""/>
<item value=""Running""/>
<item value=""UpdatePaused""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="detailedStatusMessage"/>
<prop readOnly="True" type="@ExtendedLocation_read" name="hybridAksExtendedLocation"/>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="string" name="location"/>
<prop type="string" name="name">
<format maxLength="75"/>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="manualActionCount"/>
<prop type="ResourceId" name="networkFabricId" required="True"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
<item value=""Validating""/>
</enum>
</prop>
<prop type="object" name="runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop type="object" name="secretArchive">
<prop type="ResourceId" name="keyVaultId" required="True"/>
<prop type="string" name="useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop type="object" name="updateStrategy">
<prop type="integer64" name="maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
<prop readOnly="True" type="array<string>" name="workloadResourceIds">
<item type="string"/>
</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="clusterParameters.identity" required="True">
<userAssigned action="assign" type="array<string>" name="userAssigned" arg="$clusterParameters.identity.userAssigned">
<item action="assign" type="string"/>
</userAssigned>
<systemAssigned action="assign" type="string" name="systemAssigned" arg="$clusterParameters.identity.systemAssigned"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="Clusters_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="put">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@Cluster_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-07-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" subresource="identity" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.clusterName" options="cluster-name name n" required="True" idPart="name">
<help short="The name of the cluster."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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="ClusterParameters.identity">
<arg type="string" var="$clusterParameters.identity.systemAssigned" options="mi-system-assigned system-assigned" group="ClusterParameters.identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="array<string>" var="$clusterParameters.identity.userAssigned" options="mi-user-assigned user-assigned" group="ClusterParameters.identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="clusterParameters">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="Clusters_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="get">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="Cluster_read">
<prop type="object" name="extendedLocation" required="True" cls="ExtendedLocation_read">
<prop type="string" name="name" required="True"/>
<prop type="string" name="type" required="True"/>
</prop>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetworkCloud/clusters/{}"/>
</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 type="object" name="aggregatorOrSingleRackDefinition" required="True" cls="RackDefinition_read">
<prop type="string" name="availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData">
<item type="object">
<prop readOnly="True" type="string" name="bmcConnectionString"/>
<prop type="object" name="bmcCredentials" required="True" cls="AdministrativeCredentials_read">
<prop type="string" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" required="True"/>
<prop type="string" name="rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_read" name="adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True"/>
<prop type="string" name="storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="ResourceId" name="analyticsWorkspaceId"/>
<prop readOnly="True" type="array<object>" name="availableUpgradeVersions" identifiers="targetClusterVersion">
<item type="object">
<prop readOnly="True" type="string" name="controlImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="expectedDuration"/>
<prop readOnly="True" type="string" name="impactDescription"/>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop readOnly="True" type="string" name="targetClusterVersion"/>
<prop readOnly="True" type="string" name="workloadImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</item>
</prop>
<prop readOnly="True" type="object" name="clusterCapacity">
<prop type="integer64" name="availableApplianceStorageGB"/>
<prop type="integer64" name="availableCoreCount"/>
<prop type="integer64" name="availableHostStorageGB"/>
<prop type="integer64" name="availableMemoryGB"/>
<prop type="integer64" name="totalApplianceStorageGB"/>
<prop type="integer64" name="totalCoreCount"/>
<prop type="integer64" name="totalHostStorageGB"/>
<prop type="integer64" name="totalMemoryGB"/>
</prop>
<prop readOnly="True" type="string" name="clusterConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Disconnected""/>
<item value=""Timeout""/>
<item value=""Undefined""/>
</enum>
</prop>
<prop readOnly="True" type="@ExtendedLocation_read" name="clusterExtendedLocation"/>
<prop type="string" name="clusterLocation">
<format maxLength="256"/>
</prop>
<prop readOnly="True" type="string" name="clusterManagerConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Unreachable""/>
</enum>
</prop>
<prop readOnly="True" type="ResourceId" name="clusterManagerId"/>
<prop type="object" name="clusterServicePrincipal">
<prop type="string" name="applicationId" required="True"/>
<prop type="string" name="password" required="True" secret="True"/>
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="tenantId" required="True"/>
</prop>
<prop type="string" name="clusterType" required="True">
<enum>
<item value=""MultiRack""/>
<item value=""SingleRack""/>
</enum>
</prop>
<prop type="string" name="clusterVersion" required="True"/>
<prop type="object" name="commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl"/>
</prop>
<prop type="object" name="computeDeploymentThreshold">
<prop type="string" name="grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_read>" name="computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_read"/>
</prop>
<prop readOnly="True" type="string" name="detailedStatus">
<enum>
<item value=""Degraded""/>
<item value=""Deleting""/>
<item value=""Deploying""/>
<item value=""Disconnected""/>
<item value=""Failed""/>
<item value=""PendingDeployment""/>
<item value=""Running""/>
<item value=""UpdatePaused""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="detailedStatusMessage"/>
<prop readOnly="True" type="@ExtendedLocation_read" name="hybridAksExtendedLocation"/>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="string" name="location"/>
<prop type="string" name="name">
<format maxLength="75"/>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="manualActionCount"/>
<prop type="ResourceId" name="networkFabricId" required="True"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
<item value=""Validating""/>
</enum>
</prop>
<prop type="object" name="runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop type="object" name="secretArchive">
<prop type="ResourceId" name="keyVaultId" required="True"/>
<prop type="string" name="useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop type="object" name="updateStrategy">
<prop type="integer64" name="maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
<prop readOnly="True" type="array<string>" name="workloadResourceIds">
<item type="string"/>
</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="clusterParameters.identity" required="True">
<userAssigned action="remove" type="array<string>" name="userAssigned" arg="$clusterParameters.identity.userAssigned">
<item action="remove" type="string"/>
</userAssigned>
<systemAssigned action="remove" type="string" name="systemAssigned" arg="$clusterParameters.identity.systemAssigned"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="Clusters_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="put">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@Cluster_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-07-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.networkcloud/clusters/{}" version="2024-07-01" subresource="identity" swagger="mgmt-plane/networkcloud/ResourceProviders/Microsoft.NetworkCloud/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29ya0Nsb3VkL2NsdXN0ZXJzL3tjbHVzdGVyTmFtZX0=/V/MjAyNC0wNy0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.clusterName" options="cluster-name name n" required="True" idPart="name">
<help short="The name of the cluster."/>
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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="clusterParameters">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="Clusters_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}">
<request method="get">
<path>
<param type="string" name="clusterName" arg="$Path.clusterName" required="True">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</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-07-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="Cluster_read">
<prop type="object" name="extendedLocation" required="True" cls="ExtendedLocation_read">
<prop type="string" name="name" required="True"/>
<prop type="string" name="type" required="True"/>
</prop>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetworkCloud/clusters/{}"/>
</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 type="object" name="aggregatorOrSingleRackDefinition" required="True" cls="RackDefinition_read">
<prop type="string" name="availabilityZone">
<format pattern="^[a-zA-Z0-9]{1,10}$"/>
</prop>
<prop type="array<object>" name="bareMetalMachineConfigurationData">
<item type="object">
<prop readOnly="True" type="string" name="bmcConnectionString"/>
<prop type="object" name="bmcCredentials" required="True" cls="AdministrativeCredentials_read">
<prop type="string" name="password" required="True" secret="True">
<format minLength="1"/>
</prop>
<prop type="string" name="username" required="True">
<format minLength="1"/>
</prop>
</prop>
<prop type="string" name="bmcMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="bootMacAddress" required="True">
<format pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"/>
</prop>
<prop type="string" name="machineDetails">
<format maxLength="256"/>
</prop>
<prop type="string" name="machineName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$"/>
</prop>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True">
<format maxLength="64"/>
</prop>
</item>
</prop>
<prop type="ResourceId" name="networkRackId" required="True"/>
<prop type="string" name="rackLocation">
<format maxLength="256"/>
</prop>
<prop type="string" name="rackSerialNumber" required="True">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="ResourceId" name="rackSkuId" required="True"/>
<prop type="array<object>" name="storageApplianceConfigurationData">
<item type="object">
<prop type="@AdministrativeCredentials_read" name="adminCredentials" required="True"/>
<prop type="integer64" name="rackSlot" required="True">
<format maximum="256" minimum="1"/>
</prop>
<prop type="string" name="serialNumber" required="True"/>
<prop type="string" name="storageApplianceName">
<format pattern="^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$"/>
</prop>
</item>
</prop>
</prop>
<prop type="ResourceId" name="analyticsWorkspaceId"/>
<prop readOnly="True" type="array<object>" name="availableUpgradeVersions" identifiers="targetClusterVersion">
<item type="object">
<prop readOnly="True" type="string" name="controlImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="expectedDuration"/>
<prop readOnly="True" type="string" name="impactDescription"/>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop readOnly="True" type="string" name="targetClusterVersion"/>
<prop readOnly="True" type="string" name="workloadImpact">
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</item>
</prop>
<prop readOnly="True" type="object" name="clusterCapacity">
<prop type="integer64" name="availableApplianceStorageGB"/>
<prop type="integer64" name="availableCoreCount"/>
<prop type="integer64" name="availableHostStorageGB"/>
<prop type="integer64" name="availableMemoryGB"/>
<prop type="integer64" name="totalApplianceStorageGB"/>
<prop type="integer64" name="totalCoreCount"/>
<prop type="integer64" name="totalHostStorageGB"/>
<prop type="integer64" name="totalMemoryGB"/>
</prop>
<prop readOnly="True" type="string" name="clusterConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Disconnected""/>
<item value=""Timeout""/>
<item value=""Undefined""/>
</enum>
</prop>
<prop readOnly="True" type="@ExtendedLocation_read" name="clusterExtendedLocation"/>
<prop type="string" name="clusterLocation">
<format maxLength="256"/>
</prop>
<prop readOnly="True" type="string" name="clusterManagerConnectionStatus">
<enum>
<item value=""Connected""/>
<item value=""Unreachable""/>
</enum>
</prop>
<prop readOnly="True" type="ResourceId" name="clusterManagerId"/>
<prop type="object" name="clusterServicePrincipal">
<prop type="string" name="applicationId" required="True"/>
<prop type="string" name="password" required="True" secret="True"/>
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="tenantId" required="True"/>
</prop>
<prop type="string" name="clusterType" required="True">
<enum>
<item value=""MultiRack""/>
<item value=""SingleRack""/>
</enum>
</prop>
<prop type="string" name="clusterVersion" required="True"/>
<prop type="object" name="commandOutputSettings">
<prop type="object" name="associatedIdentity">
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssignedIdentity""/>
<item value=""UserAssignedIdentity""/>
</enum>
</prop>
<prop nullable="True" type="ResourceId" name="userAssignedIdentityResourceId"/>
</prop>
<prop type="string" name="containerUrl"/>
</prop>
<prop type="object" name="computeDeploymentThreshold">
<prop type="string" name="grouping" required="True">
<enum>
<item value=""PerCluster""/>
<item value=""PerRack""/>
</enum>
</prop>
<prop type="string" name="type" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="value" required="True">
<format minimum="0"/>
</prop>
</prop>
<prop type="array<@RackDefinition_read>" name="computeRackDefinitions" identifiers="networkRackId">
<item type="@RackDefinition_read"/>
</prop>
<prop readOnly="True" type="string" name="detailedStatus">
<enum>
<item value=""Degraded""/>
<item value=""Deleting""/>
<item value=""Deploying""/>
<item value=""Disconnected""/>
<item value=""Failed""/>
<item value=""PendingDeployment""/>
<item value=""Running""/>
<item value=""UpdatePaused""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="detailedStatusMessage"/>
<prop readOnly="True" type="@ExtendedLocation_read" name="hybridAksExtendedLocation"/>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="string" name="location"/>
<prop type="string" name="name">
<format maxLength="75"/>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="manualActionCount"/>
<prop type="ResourceId" name="networkFabricId" required="True"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
<item value=""Validating""/>
</enum>
</prop>
<prop type="object" name="runtimeProtectionConfiguration">
<prop type="string" name="enforcementLevel">
<default value=""Disabled""/>
<enum>
<item value=""Audit""/>
<item value=""Disabled""/>
<item value=""OnDemand""/>
<item value=""Passive""/>
<item value=""RealTime""/>
</enum>
</prop>
</prop>
<prop type="object" name="secretArchive">
<prop type="ResourceId" name="keyVaultId" required="True"/>
<prop type="string" name="useKeyVault">
<default value=""False""/>
<enum>
<item value=""False""/>
<item value=""True""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="supportExpiryDate"/>
<prop type="object" name="updateStrategy">
<prop type="integer64" name="maxUnavailable">
<format minimum="1"/>
</prop>
<prop type="string" name="strategyType" required="True">
<enum>
<item value=""PauseAfterRack""/>
<item value=""Rack""/>
</enum>
</prop>
<prop type="string" name="thresholdType" required="True">
<enum>
<item value=""CountSuccess""/>
<item value=""PercentSuccess""/>
</enum>
</prop>
<prop type="integer64" name="thresholdValue" required="True">
<format minimum="0"/>
</prop>
<prop type="integer64" name="waitTimeMinutes">
<default value="15"/>
<format maximum="60" minimum="0"/>
</prop>
</prop>
<prop readOnly="True" type="array<string>" name="workloadResourceIds">
<item type="string"/>
</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>