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="&quot;2024-07-01&quot;"/> <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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Timeout&quot;"/> <item value="&quot;Undefined&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Unreachable&quot;"/> </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="&quot;MultiRack&quot;"/> <item value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Degraded&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Deploying&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;PendingDeployment&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;UpdatePaused&quot;"/> <item value="&quot;Updating&quot;"/> </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="&quot;Accepted&quot;"/> <item value="&quot;Canceled&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> <item value="&quot;Validating&quot;"/> </enum> </prop> <prop type="object" name="runtimeProtectionConfiguration"> <prop type="string" name="enforcementLevel"> <default value="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </enum> </prop> </prop> <prop type="object" name="secretArchive"> <prop type="ResourceId" name="keyVaultId" required="True"/> <prop type="string" name="useKeyVault"> <default value="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </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="&quot;2024-07-01&quot;"/> <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="&quot;True&quot;"/> <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="&quot;None&quot;"/> <item name="SystemAssigned" value="&quot;SystemAssigned&quot;"/> <item name="SystemAssigned,UserAssigned" value="&quot;SystemAssigned,UserAssigned&quot;"/> <item name="UserAssigned" value="&quot;UserAssigned&quot;"/> </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="&quot;MultiRack&quot;"/> <item name="SingleRack" value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item name="UserAssignedIdentity" value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item name="PerRack" value="&quot;PerRack&quot;"/> </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="&quot;CountSuccess&quot;"/> <item name="PercentSuccess" value="&quot;PercentSuccess&quot;"/> </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="&quot;Disabled&quot;"/> <enum> <item name="Audit" value="&quot;Audit&quot;"/> <item name="Disabled" value="&quot;Disabled&quot;"/> <item name="OnDemand" value="&quot;OnDemand&quot;"/> <item name="Passive" value="&quot;Passive&quot;"/> <item name="RealTime" value="&quot;RealTime&quot;"/> </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="&quot;False&quot;"/> <enum> <item name="False" value="&quot;False&quot;"/> <item name="True" value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item name="Rack" value="&quot;Rack&quot;"/> </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="&quot;CountSuccess&quot;"/> <item name="PercentSuccess" value="&quot;PercentSuccess&quot;"/> </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="&quot;2024-07-01&quot;"/> <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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;MultiRack&quot;"/> <item value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" arg="$clusterParameters.properties.computeDeploymentThreshold.type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </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="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" arg="$clusterParameters.properties.updateStrategy.thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Timeout&quot;"/> <item value="&quot;Undefined&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Unreachable&quot;"/> </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="&quot;MultiRack&quot;"/> <item value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Degraded&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Deploying&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;PendingDeployment&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;UpdatePaused&quot;"/> <item value="&quot;Updating&quot;"/> </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="&quot;Accepted&quot;"/> <item value="&quot;Canceled&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> <item value="&quot;Validating&quot;"/> </enum> </prop> <prop type="object" name="runtimeProtectionConfiguration"> <prop type="string" name="enforcementLevel"> <default value="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </enum> </prop> </prop> <prop type="object" name="secretArchive"> <prop type="ResourceId" name="keyVaultId" required="True"/> <prop type="string" name="useKeyVault"> <default value="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </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="&quot;True&quot;"/> <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="&quot;None&quot;"/> <item name="SystemAssigned" value="&quot;SystemAssigned&quot;"/> <item name="SystemAssigned,UserAssigned" value="&quot;SystemAssigned,UserAssigned&quot;"/> <item name="UserAssigned" value="&quot;UserAssigned&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item name="UserAssignedIdentity" value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item name="PerRack" value="&quot;PerRack&quot;"/> </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="&quot;CountSuccess&quot;"/> <item name="PercentSuccess" value="&quot;PercentSuccess&quot;"/> </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="&quot;Disabled&quot;"/> <enum> <item name="Audit" value="&quot;Audit&quot;"/> <item name="Disabled" value="&quot;Disabled&quot;"/> <item name="OnDemand" value="&quot;OnDemand&quot;"/> <item name="Passive" value="&quot;Passive&quot;"/> <item name="RealTime" value="&quot;RealTime&quot;"/> </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="&quot;False&quot;"/> <enum> <item name="False" value="&quot;False&quot;"/> <item name="True" value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item name="Rack" value="&quot;Rack&quot;"/> </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="&quot;CountSuccess&quot;"/> <item name="PercentSuccess" value="&quot;PercentSuccess&quot;"/> </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="&quot;2024-07-01&quot;"/> <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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" arg="$clusterUpdateParameters.properties.computeDeploymentThreshold.type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </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="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" arg="$clusterUpdateParameters.properties.updateStrategy.thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Timeout&quot;"/> <item value="&quot;Undefined&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Unreachable&quot;"/> </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="&quot;MultiRack&quot;"/> <item value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Degraded&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Deploying&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;PendingDeployment&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;UpdatePaused&quot;"/> <item value="&quot;Updating&quot;"/> </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="&quot;Accepted&quot;"/> <item value="&quot;Canceled&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> <item value="&quot;Validating&quot;"/> </enum> </prop> <prop type="object" name="runtimeProtectionConfiguration"> <prop type="string" name="enforcementLevel"> <default value="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </enum> </prop> </prop> <prop type="object" name="secretArchive"> <prop type="ResourceId" name="keyVaultId" required="True"/> <prop type="string" name="useKeyVault"> <default value="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </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="&quot;True&quot;"/> <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="&quot;2024-07-01&quot;"/> <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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Timeout&quot;"/> <item value="&quot;Undefined&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Unreachable&quot;"/> </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="&quot;MultiRack&quot;"/> <item value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Degraded&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Deploying&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;PendingDeployment&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;UpdatePaused&quot;"/> <item value="&quot;Updating&quot;"/> </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="&quot;Accepted&quot;"/> <item value="&quot;Canceled&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> <item value="&quot;Validating&quot;"/> </enum> </prop> <prop type="object" name="runtimeProtectionConfiguration"> <prop type="string" name="enforcementLevel"> <default value="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </enum> </prop> </prop> <prop type="object" name="secretArchive"> <prop type="ResourceId" name="keyVaultId" required="True"/> <prop type="string" name="useKeyVault"> <default value="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </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="&quot;2024-07-01&quot;"/> <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="&quot;True&quot;"/> <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="&quot;2024-07-01&quot;"/> <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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Timeout&quot;"/> <item value="&quot;Undefined&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Unreachable&quot;"/> </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="&quot;MultiRack&quot;"/> <item value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Degraded&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Deploying&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;PendingDeployment&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;UpdatePaused&quot;"/> <item value="&quot;Updating&quot;"/> </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="&quot;Accepted&quot;"/> <item value="&quot;Canceled&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> <item value="&quot;Validating&quot;"/> </enum> </prop> <prop type="object" name="runtimeProtectionConfiguration"> <prop type="string" name="enforcementLevel"> <default value="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </enum> </prop> </prop> <prop type="object" name="secretArchive"> <prop type="ResourceId" name="keyVaultId" required="True"/> <prop type="string" name="useKeyVault"> <default value="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </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="&quot;2024-07-01&quot;"/> <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="&quot;2024-07-01&quot;"/> <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="&quot;None&quot;"/> <item value="&quot;SystemAssigned&quot;"/> <item value="&quot;SystemAssigned,UserAssigned&quot;"/> <item value="&quot;UserAssigned&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Timeout&quot;"/> <item value="&quot;Undefined&quot;"/> </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="&quot;Connected&quot;"/> <item value="&quot;Unreachable&quot;"/> </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="&quot;MultiRack&quot;"/> <item value="&quot;SingleRack&quot;"/> </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="&quot;SystemAssignedIdentity&quot;"/> <item value="&quot;UserAssignedIdentity&quot;"/> </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="&quot;PerCluster&quot;"/> <item value="&quot;PerRack&quot;"/> </enum> </prop> <prop type="string" name="type" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Degraded&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Deploying&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;PendingDeployment&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;UpdatePaused&quot;"/> <item value="&quot;Updating&quot;"/> </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="&quot;Accepted&quot;"/> <item value="&quot;Canceled&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> <item value="&quot;Validating&quot;"/> </enum> </prop> <prop type="object" name="runtimeProtectionConfiguration"> <prop type="string" name="enforcementLevel"> <default value="&quot;Disabled&quot;"/> <enum> <item value="&quot;Audit&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;OnDemand&quot;"/> <item value="&quot;Passive&quot;"/> <item value="&quot;RealTime&quot;"/> </enum> </prop> </prop> <prop type="object" name="secretArchive"> <prop type="ResourceId" name="keyVaultId" required="True"/> <prop type="string" name="useKeyVault"> <default value="&quot;False&quot;"/> <enum> <item value="&quot;False&quot;"/> <item value="&quot;True&quot;"/> </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="&quot;PauseAfterRack&quot;"/> <item value="&quot;Rack&quot;"/> </enum> </prop> <prop type="string" name="thresholdType" required="True"> <enum> <item value="&quot;CountSuccess&quot;"/> <item value="&quot;PercentSuccess&quot;"/> </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="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </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>