Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5lbGFzdGljc2FuL2VsYXN0aWNzYW5zL3t9L3ZvbHVtZWdyb3Vwcy97fS92b2x1bWVzL3t9/2024-07-01-preview.xml (731 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9L3ZvbHVtZWdyb3Vwcy97dm9sdW1lR3JvdXBOYW1lfS92b2x1bWVzL3t2b2x1bWVOYW1lfQ==/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<commandGroup name="elastic-san volume">
<command name="show" version="2024-07-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9L3ZvbHVtZWdyb3Vwcy97dm9sdW1lR3JvdXBOYW1lfS92b2x1bWVzL3t2b2x1bWVOYW1lfQ==/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name elastic-san e" required="True" group="" idPart="name">
<help short="The name of the ElasticSan."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</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"/>
<arg type="string" var="$Path.volumeGroupName" options="volume-group-name volume-group v" required="True" group="" idPart="child_name_1">
<help short="The name of the VolumeGroup."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
<arg type="string" var="$Path.volumeName" options="volume-name name n" required="True" idPart="child_name_2">
<help short="The name of the Volume."/>
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
</argGroup>
<operation operationId="Volumes_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}">
<request method="get">
<path>
<param type="string" name="elasticSanName" arg="$Path.elasticSanName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
<param type="string" name="volumeGroupName" arg="$Path.volumeGroupName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
<param type="string" name="volumeName" arg="$Path.volumeName" required="True">
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-07-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}/volumegroups/{}/volumes/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="creationData">
<prop type="string" name="createSource">
<enum>
<item value=""Disk""/>
<item value=""DiskRestorePoint""/>
<item value=""DiskSnapshot""/>
<item value=""None""/>
<item value=""VolumeSnapshot""/>
</enum>
</prop>
<prop type="string" name="sourceId"/>
</prop>
<prop type="object" name="managedBy">
<prop type="string" name="resourceId"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Canceled""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Invalid""/>
<item value=""Pending""/>
<item value=""Restoring""/>
<item value=""SoftDeleting""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer64" name="sizeGiB" required="True"/>
<prop readOnly="True" type="object" name="storageTarget">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Canceled""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Invalid""/>
<item value=""Pending""/>
<item value=""Restoring""/>
<item value=""SoftDeleting""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="status">
<enum>
<item value=""Healthy""/>
<item value=""Invalid""/>
<item value=""Running""/>
<item value=""Stopped""/>
<item value=""Stopped (deallocated)""/>
<item value=""Unhealthy""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="targetIqn"/>
<prop readOnly="True" type="string" name="targetPortalHostname"/>
<prop readOnly="True" type="integer32" name="targetPortalPort"/>
</prop>
<prop readOnly="True" type="string" name="volumeId"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2024-07-01-preview" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9L3ZvbHVtZWdyb3Vwcy97dm9sdW1lR3JvdXBOYW1lfS92b2x1bWVzL3t2b2x1bWVOYW1lfQ==/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Header.x-ms-delete-snapshots" options="x-ms-delete-snapshots delete-snapshots" group="">
<help short="Optional, used to delete snapshots under volume. Allowed value are only true or false. Default value is false."/>
<enum>
<item name="false" value=""false""/>
<item name="true" value=""true""/>
</enum>
</arg>
<arg type="string" var="$Header.x-ms-force-delete" options="x-ms-force-delete force-delete" group="">
<help short="Optional, used to delete volume if active sessions present. Allowed value are only true or false. Default value is false."/>
<enum>
<item name="false" value=""false""/>
<item name="true" value=""true""/>
</enum>
</arg>
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name elastic-san e" required="True" group="" idPart="name">
<help short="The name of the ElasticSan."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</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"/>
<arg type="string" var="$Path.volumeGroupName" options="volume-group-name volume-group v" required="True" group="" idPart="child_name_1">
<help short="The name of the VolumeGroup."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
<arg type="string" var="$Path.volumeName" options="volume-name name n" required="True" idPart="child_name_2">
<help short="The name of the Volume."/>
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
<arg type="string" var="$Query.deleteType" options="delete-type" stage="Preview" group="">
<help short="Optional. Specifies that the delete operation should be a permanent delete for the soft deleted volume. The value of deleteType can only be 'permanent'."/>
<enum>
<item name="permanent" value=""permanent""/>
</enum>
</arg>
</argGroup>
<operation operationId="Volumes_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}">
<request method="delete">
<path>
<param type="string" name="elasticSanName" arg="$Path.elasticSanName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
<param type="string" name="volumeGroupName" arg="$Path.volumeGroupName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
<param type="string" name="volumeName" arg="$Path.volumeName" required="True">
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
</path>
<query>
<param type="string" name="deleteType" arg="$Query.deleteType">
<enum>
<item value=""permanent""/>
</enum>
</param>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-07-01-preview""/>
<format minLength="1"/>
</const>
</query>
<header>
<param type="string" name="x-ms-delete-snapshots" arg="$Header.x-ms-delete-snapshots">
<enum>
<item value=""false""/>
<item value=""true""/>
</enum>
</param>
<param type="string" name="x-ms-force-delete" arg="$Header.x-ms-force-delete">
<enum>
<item value=""false""/>
<item value=""true""/>
</enum>
</param>
</header>
</request>
<response statusCode="200"/>
<response statusCode="202">
<header>
<item name="Location"/>
</header>
</response>
<response statusCode="204"/>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2024-07-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9L3ZvbHVtZWdyb3Vwcy97dm9sdW1lR3JvdXBOYW1lfS92b2x1bWVzL3t2b2x1bWVOYW1lfQ==/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name elastic-san e" required="True" group="" idPart="name">
<help short="The name of the ElasticSan."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</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"/>
<arg type="string" var="$Path.volumeGroupName" options="volume-group-name volume-group v" required="True" group="" idPart="child_name_1">
<help short="The name of the VolumeGroup."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
<arg type="string" var="$Path.volumeName" options="volume-name name n" required="True" idPart="child_name_2">
<help short="The name of the Volume."/>
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="object" var="$parameters.properties.creationData" options="creation-data" group="Properties">
<help short="State of the operation on the resource."/>
<arg type="string" var="$parameters.properties.creationData.createSource" options="create-source">
<help short="This enumerates the possible sources of a volume creation."/>
<enum>
<item name="Disk" value=""Disk""/>
<item name="DiskRestorePoint" value=""DiskRestorePoint""/>
<item name="DiskSnapshot" value=""DiskSnapshot""/>
<item name="None" value=""None""/>
<item name="VolumeSnapshot" value=""VolumeSnapshot""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.creationData.sourceId" options="source-id">
<help short="Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}""/>
</arg>
</arg>
<arg type="object" var="$parameters.properties.managedBy" options="managed-by" hide="True" group="Properties">
<help short="Parent resource information."/>
<arg type="string" var="$parameters.properties.managedBy.resourceId" options="resource-id">
<help short="Resource ID of the resource managing the volume."/>
</arg>
</arg>
<arg type="integer64" var="$parameters.properties.sizeGiB" options="size-gib" required="True" group="Properties">
<help short="Volume size."/>
</arg>
</argGroup>
<operation operationId="Volumes_Create">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}">
<request method="put">
<path>
<param type="string" name="elasticSanName" arg="$Path.elasticSanName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
<param type="string" name="volumeGroupName" arg="$Path.volumeGroupName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
<param type="string" name="volumeName" arg="$Path.volumeName" required="True">
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-07-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="creationData" arg="$parameters.properties.creationData">
<prop type="string" name="createSource" arg="$parameters.properties.creationData.createSource">
<enum>
<item value=""Disk""/>
<item value=""DiskRestorePoint""/>
<item value=""DiskSnapshot""/>
<item value=""None""/>
<item value=""VolumeSnapshot""/>
</enum>
</prop>
<prop type="string" name="sourceId" arg="$parameters.properties.creationData.sourceId"/>
</prop>
<prop type="object" name="managedBy" arg="$parameters.properties.managedBy">
<prop type="string" name="resourceId" arg="$parameters.properties.managedBy.resourceId"/>
</prop>
<prop type="integer64" name="sizeGiB" arg="$parameters.properties.sizeGiB" required="True"/>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}/volumegroups/{}/volumes/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="creationData">
<prop type="string" name="createSource">
<enum>
<item value=""Disk""/>
<item value=""DiskRestorePoint""/>
<item value=""DiskSnapshot""/>
<item value=""None""/>
<item value=""VolumeSnapshot""/>
</enum>
</prop>
<prop type="string" name="sourceId"/>
</prop>
<prop type="object" name="managedBy">
<prop type="string" name="resourceId"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Canceled""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Invalid""/>
<item value=""Pending""/>
<item value=""Restoring""/>
<item value=""SoftDeleting""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer64" name="sizeGiB" required="True"/>
<prop readOnly="True" type="object" name="storageTarget">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Canceled""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Invalid""/>
<item value=""Pending""/>
<item value=""Restoring""/>
<item value=""SoftDeleting""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="status">
<enum>
<item value=""Healthy""/>
<item value=""Invalid""/>
<item value=""Running""/>
<item value=""Stopped""/>
<item value=""Stopped (deallocated)""/>
<item value=""Unhealthy""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="targetIqn"/>
<prop readOnly="True" type="string" name="targetPortalHostname"/>
<prop readOnly="True" type="integer32" name="targetPortalPort"/>
</prop>
<prop readOnly="True" type="string" name="volumeId"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2024-07-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9L3ZvbHVtZWdyb3Vwcy97dm9sdW1lR3JvdXBOYW1lfS92b2x1bWVzL3t2b2x1bWVOYW1lfQ==/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name elastic-san e" required="True" group="" idPart="name">
<help short="The name of the ElasticSan."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</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"/>
<arg type="string" var="$Path.volumeGroupName" options="volume-group-name volume-group v" required="True" group="" idPart="child_name_1">
<help short="The name of the VolumeGroup."/>
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
<arg type="string" var="$Path.volumeName" options="volume-name name n" required="True" idPart="child_name_2">
<help short="The name of the Volume."/>
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="object" var="$parameters.properties.creationData" options="creation-data" group="Properties">
<help short="State of the operation on the resource."/>
<arg nullable="True" type="string" var="$parameters.properties.creationData.createSource" options="create-source">
<help short="This enumerates the possible sources of a volume creation."/>
<enum>
<item name="Disk" value=""Disk""/>
<item name="DiskRestorePoint" value=""DiskRestorePoint""/>
<item name="DiskSnapshot" value=""DiskSnapshot""/>
<item name="None" value=""None""/>
<item name="VolumeSnapshot" value=""VolumeSnapshot""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.creationData.sourceId" options="source-id">
<help short="Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}""/>
</arg>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.managedBy" options="managed-by" hide="True" group="Properties">
<help short="Parent resource information."/>
<arg nullable="True" type="string" var="$parameters.properties.managedBy.resourceId" options="resource-id">
<help short="Resource ID of the resource managing the volume."/>
</arg>
</arg>
<arg type="integer64" var="$parameters.properties.sizeGiB" options="size-gib" group="Properties">
<help short="Volume size."/>
</arg>
</argGroup>
<operation operationId="Volumes_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}">
<request method="get">
<path>
<param type="string" name="elasticSanName" arg="$Path.elasticSanName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
<param type="string" name="volumeGroupName" arg="$Path.volumeGroupName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
<param type="string" name="volumeName" arg="$Path.volumeName" required="True">
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-07-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="Volume_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}/volumegroups/{}/volumes/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="creationData">
<prop type="string" name="createSource">
<enum>
<item value=""Disk""/>
<item value=""DiskRestorePoint""/>
<item value=""DiskSnapshot""/>
<item value=""None""/>
<item value=""VolumeSnapshot""/>
</enum>
</prop>
<prop type="string" name="sourceId"/>
</prop>
<prop type="object" name="managedBy">
<prop type="string" name="resourceId"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Canceled""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Invalid""/>
<item value=""Pending""/>
<item value=""Restoring""/>
<item value=""SoftDeleting""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="integer64" name="sizeGiB" required="True"/>
<prop readOnly="True" type="object" name="storageTarget">
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Canceled""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Invalid""/>
<item value=""Pending""/>
<item value=""Restoring""/>
<item value=""SoftDeleting""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="string" name="status">
<enum>
<item value=""Healthy""/>
<item value=""Invalid""/>
<item value=""Running""/>
<item value=""Stopped""/>
<item value=""Stopped (deallocated)""/>
<item value=""Unhealthy""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="targetIqn"/>
<prop readOnly="True" type="string" name="targetPortalHostname"/>
<prop readOnly="True" type="integer32" name="targetPortalPort"/>
</prop>
<prop readOnly="True" type="string" name="volumeId"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="creationData" arg="$parameters.properties.creationData">
<prop type="string" name="createSource" arg="$parameters.properties.creationData.createSource">
<enum>
<item value=""Disk""/>
<item value=""DiskRestorePoint""/>
<item value=""DiskSnapshot""/>
<item value=""None""/>
<item value=""VolumeSnapshot""/>
</enum>
</prop>
<prop type="string" name="sourceId" arg="$parameters.properties.creationData.sourceId"/>
</prop>
<prop type="object" name="managedBy" arg="$parameters.properties.managedBy">
<prop type="string" name="resourceId" arg="$parameters.properties.managedBy.resourceId"/>
</prop>
<prop type="integer64" name="sizeGiB" arg="$parameters.properties.sizeGiB" required="True"/>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="Volumes_Create">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}">
<request method="put">
<path>
<param type="string" name="elasticSanName" arg="$Path.elasticSanName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="24" minLength="3"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
<param type="string" name="volumeGroupName" arg="$Path.volumeGroupName" required="True">
<format pattern="^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
<param type="string" name="volumeName" arg="$Path.volumeName" required="True">
<format pattern="^[a-z0-9]+(-[a-z0-9A-Z]+)*$" maxLength="63" minLength="3"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-07-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@Volume_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>
</CodeGen>