Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5lbGFzdGljc2FuL2VsYXN0aWNzYW5zL3t9/2024-07-01-preview.xml (895 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<commandGroup name="elastic-san">
<command name="show" version="2024-07-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name name n" required="True" 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"/>
</argGroup>
<operation operationId="ElasticSans_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}">
<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>
</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/{}"/>
</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="autoScaleProperties">
<prop type="object" name="scaleUpProperties">
<prop type="string" name="autoScalePolicyEnforcement">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""None""/>
</enum>
</prop>
<prop type="integer64" name="capacityUnitScaleUpLimitTiB"/>
<prop type="integer64" name="increaseCapacityUnitByTiB"/>
<prop type="integer64" name="unusedSizeTiB"/>
</prop>
</prop>
<prop type="array<string>" name="availabilityZones">
<item type="string"/>
</prop>
<prop type="integer64" name="baseSizeTiB" required="True"/>
<prop type="integer64" name="extendedCapacitySizeTiB" required="True"/>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}/privateEndpointConnections/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="array<string>" name="groupIds">
<item type="string"/>
</prop>
<prop type="object" name="privateEndpoint">
<prop readOnly="True" type="string" name="id"/>
</prop>
<prop type="object" name="privateLinkServiceConnectionState" required="True">
<prop type="string" name="actionsRequired"/>
<prop type="string" name="description"/>
<prop type="string" name="status">
<enum>
<item value=""Approved""/>
<item value=""Failed""/>
<item value=""Pending""/>
<item value=""Rejected""/>
</enum>
</prop>
</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>
<prop readOnly="True" type="@SystemData_read" name="systemData"/>
<prop readOnly="True" type="string" name="type"/>
</item>
</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="string" name="publicNetworkAccess">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="sku" required="True">
<prop type="string" name="name" required="True">
<enum>
<item value=""Premium_LRS""/>
<item value=""Premium_ZRS""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Premium""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="totalIops"/>
<prop readOnly="True" type="integer64" name="totalMBps"/>
<prop readOnly="True" type="integer64" name="totalSizeTiB"/>
<prop readOnly="True" type="integer64" name="totalVolumeSizeGiB"/>
<prop readOnly="True" type="integer64" name="volumeGroupCount"/>
</prop>
<prop readOnly="True" type="object" name="systemData" cls="SystemData_read">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2024-07-01-preview" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name name n" required="True" 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"/>
</argGroup>
<operation operationId="ElasticSans_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}">
<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>
</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"/>
<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/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name name n" required="True" 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"/>
</argGroup>
<argGroup name="AutoScaleProperties">
<arg type="string" var="$parameters.properties.autoScaleProperties.scaleUpProperties.autoScalePolicyEnforcement" options="auto-scale-policy-enforcement auto-scale-policy" stage="Preview" group="AutoScaleProperties">
<help short="Enable or Disable scale up setting on Elastic San Appliance."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="integer64" var="$parameters.properties.autoScaleProperties.scaleUpProperties.capacityUnitScaleUpLimitTiB" options="capacity-unit-scale-up-limit-tib capacity-unit-scale-up" stage="Preview" group="AutoScaleProperties">
<help short="Maximum scale up size on Elastic San appliance in TiB."/>
</arg>
<arg type="integer64" var="$parameters.properties.autoScaleProperties.scaleUpProperties.increaseCapacityUnitByTiB" options="increase-capacity-unit-by-tib increase-capacity-unit" stage="Preview" group="AutoScaleProperties">
<help short="Unit to increase Capacity Unit on Elastic San appliance in TiB."/>
</arg>
<arg type="integer64" var="$parameters.properties.autoScaleProperties.scaleUpProperties.unusedSizeTiB" options="unused-size-tib" stage="Preview" group="AutoScaleProperties">
<help short="Unused size on Elastic San appliance in TiB."/>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg type="ResourceLocation" var="$parameters.location" options="location l" required="True" group="Parameters">
<help short="The geo-location where the resource lives."/>
</arg>
<arg type="object" var="$parameters.tags" options="tags" group="Parameters">
<help short="Azure resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="array<string>" var="$parameters.properties.availabilityZones" options="availability-zones" group="Properties">
<help short="Logical zone for Elastic San resource; example: ["1"]."/>
<item type="string"/>
</arg>
<arg type="integer64" var="$parameters.properties.baseSizeTiB" options="base-size-tib" required="True" group="Properties">
<help short="Base size of the Elastic San appliance in TiB."/>
<default value="20"/>
</arg>
<arg type="integer64" var="$parameters.properties.extendedCapacitySizeTiB" options="extended-capacity-size-tib extended-size" required="True" group="Properties">
<help short="Extended size of the Elastic San appliance in TiB."/>
<default value="0"/>
</arg>
<arg type="string" var="$parameters.properties.publicNetworkAccess" options="public-network-access" group="Properties">
<help short="Allow or disallow public network access to ElasticSan. Value is optional but if passed in, must be 'Enabled' or 'Disabled'."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="object" var="$parameters.properties.sku" options="sku" required="True" group="Properties">
<help short="resource sku"/>
<arg type="string" var="$parameters.properties.sku.name" options="name" required="True">
<help short="The sku name."/>
<enum>
<item name="Premium_LRS" value=""Premium_LRS""/>
<item name="Premium_ZRS" value=""Premium_ZRS""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.sku.tier" options="tier">
<help short="The sku tier."/>
<enum>
<item name="Premium" value=""Premium""/>
</enum>
</arg>
</arg>
</argGroup>
<operation operationId="ElasticSans_Create">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}">
<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>
</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="ResourceLocation" name="location" arg="$parameters.location" required="True"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="autoScaleProperties">
<prop type="object" name="scaleUpProperties">
<prop type="string" name="autoScalePolicyEnforcement" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.autoScalePolicyEnforcement">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""None""/>
</enum>
</prop>
<prop type="integer64" name="capacityUnitScaleUpLimitTiB" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.capacityUnitScaleUpLimitTiB"/>
<prop type="integer64" name="increaseCapacityUnitByTiB" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.increaseCapacityUnitByTiB"/>
<prop type="integer64" name="unusedSizeTiB" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.unusedSizeTiB"/>
</prop>
</prop>
<prop type="array<string>" name="availabilityZones" arg="$parameters.properties.availabilityZones">
<item type="string"/>
</prop>
<prop type="integer64" name="baseSizeTiB" arg="$parameters.properties.baseSizeTiB" required="True"/>
<prop type="integer64" name="extendedCapacitySizeTiB" arg="$parameters.properties.extendedCapacitySizeTiB" required="True"/>
<prop type="string" name="publicNetworkAccess" arg="$parameters.properties.publicNetworkAccess">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="sku" arg="$parameters.properties.sku" required="True">
<prop type="string" name="name" arg="$parameters.properties.sku.name" required="True">
<enum>
<item value=""Premium_LRS""/>
<item value=""Premium_ZRS""/>
</enum>
</prop>
<prop type="string" name="tier" arg="$parameters.properties.sku.tier">
<enum>
<item value=""Premium""/>
</enum>
</prop>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}"/>
</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="autoScaleProperties">
<prop type="object" name="scaleUpProperties">
<prop type="string" name="autoScalePolicyEnforcement">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""None""/>
</enum>
</prop>
<prop type="integer64" name="capacityUnitScaleUpLimitTiB"/>
<prop type="integer64" name="increaseCapacityUnitByTiB"/>
<prop type="integer64" name="unusedSizeTiB"/>
</prop>
</prop>
<prop type="array<string>" name="availabilityZones">
<item type="string"/>
</prop>
<prop type="integer64" name="baseSizeTiB" required="True"/>
<prop type="integer64" name="extendedCapacitySizeTiB" required="True"/>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}/privateEndpointConnections/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="array<string>" name="groupIds">
<item type="string"/>
</prop>
<prop type="object" name="privateEndpoint">
<prop readOnly="True" type="string" name="id"/>
</prop>
<prop type="object" name="privateLinkServiceConnectionState" required="True">
<prop type="string" name="actionsRequired"/>
<prop type="string" name="description"/>
<prop type="string" name="status">
<enum>
<item value=""Approved""/>
<item value=""Failed""/>
<item value=""Pending""/>
<item value=""Rejected""/>
</enum>
</prop>
</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>
<prop readOnly="True" type="@SystemData_read" name="systemData"/>
<prop readOnly="True" type="string" name="type"/>
</item>
</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="string" name="publicNetworkAccess">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="sku" required="True">
<prop type="string" name="name" required="True">
<enum>
<item value=""Premium_LRS""/>
<item value=""Premium_ZRS""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Premium""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="totalIops"/>
<prop readOnly="True" type="integer64" name="totalMBps"/>
<prop readOnly="True" type="integer64" name="totalSizeTiB"/>
<prop readOnly="True" type="integer64" name="totalVolumeSizeGiB"/>
<prop readOnly="True" type="integer64" name="volumeGroupCount"/>
</prop>
<prop readOnly="True" type="object" name="systemData" cls="SystemData_read">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2024-07-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}" version="2024-07-01-preview" swagger="mgmt-plane/elasticsan/ResourceProviders/Microsoft.ElasticSan/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRWxhc3RpY1Nhbi9lbGFzdGljU2Fucy97ZWxhc3RpY1Nhbk5hbWV9/V/MjAyNC0wNy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.elasticSanName" options="elastic-san-name name n" required="True" 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"/>
</argGroup>
<argGroup name="AutoScaleProperties">
<arg nullable="True" type="string" var="$parameters.properties.autoScaleProperties.scaleUpProperties.autoScalePolicyEnforcement" options="auto-scale-policy-enforcement auto-scale-policy" stage="Preview" group="AutoScaleProperties">
<help short="Enable or Disable scale up setting on Elastic San Appliance."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.autoScaleProperties.scaleUpProperties.capacityUnitScaleUpLimitTiB" options="capacity-unit-scale-up-limit-tib capacity-unit-scale-up" stage="Preview" group="AutoScaleProperties">
<help short="Maximum scale up size on Elastic San appliance in TiB."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.autoScaleProperties.scaleUpProperties.increaseCapacityUnitByTiB" options="increase-capacity-unit-by-tib increase-capacity-unit" stage="Preview" group="AutoScaleProperties">
<help short="Unit to increase Capacity Unit on Elastic San appliance in TiB."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.autoScaleProperties.scaleUpProperties.unusedSizeTiB" options="unused-size-tib" stage="Preview" group="AutoScaleProperties">
<help short="Unused size on Elastic San appliance in TiB."/>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg nullable="True" type="object" var="$parameters.tags" options="tags" group="Parameters">
<help short="Azure resource tags."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="array<string>" var="$parameters.properties.availabilityZones" options="availability-zones" group="Properties">
<help short="Logical zone for Elastic San resource; example: ["1"]."/>
<item nullable="True" type="string"/>
</arg>
<arg type="integer64" var="$parameters.properties.baseSizeTiB" options="base-size-tib" group="Properties">
<help short="Base size of the Elastic San appliance in TiB."/>
</arg>
<arg type="integer64" var="$parameters.properties.extendedCapacitySizeTiB" options="extended-capacity-size-tib extended-size" group="Properties">
<help short="Extended size of the Elastic San appliance in TiB."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.publicNetworkAccess" options="public-network-access" group="Properties">
<help short="Allow or disallow public network access to ElasticSan. Value is optional but if passed in, must be 'Enabled' or 'Disabled'."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="object" var="$parameters.properties.sku" options="sku" group="Properties">
<help short="resource sku"/>
<arg type="string" var="$parameters.properties.sku.name" options="name">
<help short="The sku name."/>
<enum>
<item name="Premium_LRS" value=""Premium_LRS""/>
<item name="Premium_ZRS" value=""Premium_ZRS""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.sku.tier" options="tier">
<help short="The sku tier."/>
<enum>
<item name="Premium" value=""Premium""/>
</enum>
</arg>
</arg>
</argGroup>
<operation operationId="ElasticSans_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}">
<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>
</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="ElasticSan_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}"/>
</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="autoScaleProperties">
<prop type="object" name="scaleUpProperties">
<prop type="string" name="autoScalePolicyEnforcement">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""None""/>
</enum>
</prop>
<prop type="integer64" name="capacityUnitScaleUpLimitTiB"/>
<prop type="integer64" name="increaseCapacityUnitByTiB"/>
<prop type="integer64" name="unusedSizeTiB"/>
</prop>
</prop>
<prop type="array<string>" name="availabilityZones">
<item type="string"/>
</prop>
<prop type="integer64" name="baseSizeTiB" required="True"/>
<prop type="integer64" name="extendedCapacitySizeTiB" required="True"/>
<prop readOnly="True" type="array<object>" name="privateEndpointConnections">
<item type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ElasticSan/elasticSans/{}/privateEndpointConnections/{}"/>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="array<string>" name="groupIds">
<item type="string"/>
</prop>
<prop type="object" name="privateEndpoint">
<prop readOnly="True" type="string" name="id"/>
</prop>
<prop type="object" name="privateLinkServiceConnectionState" required="True">
<prop type="string" name="actionsRequired"/>
<prop type="string" name="description"/>
<prop type="string" name="status">
<enum>
<item value=""Approved""/>
<item value=""Failed""/>
<item value=""Pending""/>
<item value=""Rejected""/>
</enum>
</prop>
</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>
<prop readOnly="True" type="@SystemData_read" name="systemData"/>
<prop readOnly="True" type="string" name="type"/>
</item>
</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="string" name="publicNetworkAccess">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="sku" required="True">
<prop type="string" name="name" required="True">
<enum>
<item value=""Premium_LRS""/>
<item value=""Premium_ZRS""/>
</enum>
</prop>
<prop type="string" name="tier">
<enum>
<item value=""Premium""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="integer64" name="totalIops"/>
<prop readOnly="True" type="integer64" name="totalMBps"/>
<prop readOnly="True" type="integer64" name="totalSizeTiB"/>
<prop readOnly="True" type="integer64" name="totalVolumeSizeGiB"/>
<prop readOnly="True" type="integer64" name="volumeGroupCount"/>
</prop>
<prop readOnly="True" type="object" name="systemData" cls="SystemData_read">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="object" name="autoScaleProperties">
<prop type="object" name="scaleUpProperties">
<prop type="string" name="autoScalePolicyEnforcement" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.autoScalePolicyEnforcement">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""None""/>
</enum>
</prop>
<prop type="integer64" name="capacityUnitScaleUpLimitTiB" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.capacityUnitScaleUpLimitTiB"/>
<prop type="integer64" name="increaseCapacityUnitByTiB" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.increaseCapacityUnitByTiB"/>
<prop type="integer64" name="unusedSizeTiB" arg="$parameters.properties.autoScaleProperties.scaleUpProperties.unusedSizeTiB"/>
</prop>
</prop>
<prop type="array<string>" name="availabilityZones" arg="$parameters.properties.availabilityZones">
<item type="string"/>
</prop>
<prop type="integer64" name="baseSizeTiB" arg="$parameters.properties.baseSizeTiB" required="True"/>
<prop type="integer64" name="extendedCapacitySizeTiB" arg="$parameters.properties.extendedCapacitySizeTiB" required="True"/>
<prop type="string" name="publicNetworkAccess" arg="$parameters.properties.publicNetworkAccess">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="sku" arg="$parameters.properties.sku" required="True">
<prop type="string" name="name" arg="$parameters.properties.sku.name" required="True">
<enum>
<item value=""Premium_LRS""/>
<item value=""Premium_ZRS""/>
</enum>
</prop>
<prop type="string" name="tier" arg="$parameters.properties.sku.tier">
<enum>
<item value=""Premium""/>
</enum>
</prop>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ElasticSans_Create">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}">
<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>
</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="@ElasticSan_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>