diff --git a/src/FileShare/FileShare.Autorest/.gitattributes b/src/FileShare/FileShare.Autorest/.gitattributes
new file mode 100644
index 000000000000..2125666142eb
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/.gitattributes
@@ -0,0 +1 @@
+* text=auto
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/.gitignore b/src/FileShare/FileShare.Autorest/.gitignore
new file mode 100644
index 000000000000..6ec158bd9768
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/.gitignore
@@ -0,0 +1,16 @@
+bin
+obj
+.vs
+generated
+internal
+exports
+tools
+test/*-TestResults.xml
+license.txt
+/*.ps1
+/*.psd1
+/*.ps1xml
+/*.psm1
+/*.snk
+/*.csproj
+/*.nuspec
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/Az.FileShare.csproj b/src/FileShare/FileShare.Autorest/Az.FileShare.csproj
new file mode 100644
index 000000000000..c9fd09155d9e
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/Az.FileShare.csproj
@@ -0,0 +1,44 @@
+
+
+
+ 0.1.0
+ 7.1
+ netstandard2.0
+ Library
+ Az.FileShare.private
+ false
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare
+ true
+ false
+ ./bin
+ $(OutputPath)
+ Az.FileShare.nuspec
+ true
+
+
+ 1998, 1591
+ true
+
+
+
+ false
+ TRACE;DEBUG;NETSTANDARD
+
+
+
+ true
+ true
+ MSSharedLibKey.snk
+ TRACE;RELEASE;NETSTANDARD;SIGN
+
+
+
+
+
+
+
+
+ $(DefaultItemExcludes);resources/**
+
+
+
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/Az.FileShare.format.ps1xml b/src/FileShare/FileShare.Autorest/Az.FileShare.format.ps1xml
new file mode 100644
index 000000000000..432ca2c46917
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/Az.FileShare.format.ps1xml
@@ -0,0 +1,1137 @@
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.CheckNameAvailabilityRequest
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.CheckNameAvailabilityRequest#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.CheckNameAvailabilityResponse
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.CheckNameAvailabilityResponse#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Message
+
+
+ NameAvailable
+
+
+ Reason
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.ErrorDetail
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.ErrorDetail#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShare
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShare#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Location
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareIdentity
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareIdentity#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Location
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ ResourceName
+
+
+ SubscriptionId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareLimits
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareLimits#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MaxFileShare
+
+
+ MaxFileSharePrivateEndpointConnection
+
+
+ MaxFileShareSnapshot
+
+
+ MaxFileShareSubnet
+
+
+ MaxProvisionedIoPerSec
+
+
+ MaxProvisionedStorageGiB
+
+
+ MaxProvisionedThroughputMiBPerSec
+
+
+ MinProvisionedIoPerSec
+
+
+ MinProvisionedStorageGiB
+
+
+ MinProvisionedThroughputMiBPerSec
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareListResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareListResult#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HostName
+
+
+ IncludedBurstIoPerSec
+
+
+ MaxBurstIoPerSecCredit
+
+
+ MediaTier
+
+
+ MountName
+
+
+ Protocol
+
+
+ ProvisionedIoPerSec
+
+
+ ProvisionedIoPerSecNextAllowedDowngrade
+
+
+ ProvisionedStorageGiB
+
+
+ ProvisionedStorageNextAllowedDowngrade
+
+
+ ProvisionedThroughputMiBPerSec
+
+
+ ProvisionedThroughputNextAllowedDowngrade
+
+
+ ProvisioningState
+
+
+ PublicNetworkAccess
+
+
+ Redundancy
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProvisioningConstants
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProvisioningConstants#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BaseIoPerSec
+
+
+ BaseThroughputMiBPerSec
+
+
+ ScalarIoPerSec
+
+
+ ScalarThroughputMiBPerSec
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProvisioningRecommendationInput
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProvisioningRecommendationInput#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ ProvisionedStorageGiB
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProvisioningRecommendationOutput
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareProvisioningRecommendationOutput#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProvisionedIoPerSec
+
+
+ ProvisionedThroughputMiBPerSec
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareSnapshot
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareSnapshot#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ ResourceGroupName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareSnapshotListResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareSnapshotListResult#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareSnapshotProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareSnapshotProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InitiatorId
+
+
+ SnapshotTime
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareUpdateProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.FileShareUpdateProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProvisionedIoPerSec
+
+
+ ProvisionedStorageGiB
+
+
+ ProvisionedThroughputMiBPerSec
+
+
+ PublicNetworkAccess
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.LiveSharesUsageData
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.LiveSharesUsageData#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ FileShareCount
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.NfsProtocolProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.NfsProtocolProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ RootSquash
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.Operation
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.Operation#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ActionType
+
+
+ IsDataAction
+
+
+ Name
+
+
+ Origin
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.OperationDisplay
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.OperationDisplay#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ Operation
+
+
+ Provider
+
+
+ Resource
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.OperationListResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.OperationListResult#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.PrivateEndpointConnection
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.PrivateEndpointConnection#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.PrivateEndpointConnectionProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.PrivateEndpointConnectionProperties#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ ProvisioningState
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.PrivateLinkServiceConnectionState
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.PrivateLinkServiceConnectionState#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ActionsRequired
+
+
+ Description
+
+
+ Status
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.ProxyResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.ProxyResource#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.Resource
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.Resource#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.SystemData
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.SystemData#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CreatedAt
+
+
+ CreatedBy
+
+
+ CreatedByType
+
+
+ LastModifiedAt
+
+
+ LastModifiedBy
+
+
+ LastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.Tags
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.Tags#Multiple
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.TrackedResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.TrackedResource#Multiple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ Location
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/Az.FileShare.nuspec b/src/FileShare/FileShare.Autorest/Az.FileShare.nuspec
new file mode 100644
index 000000000000..3d9cc162bdc4
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/Az.FileShare.nuspec
@@ -0,0 +1,32 @@
+
+
+
+ Az.FileShare
+ 0.1.0
+ Microsoft Corporation
+ Microsoft Corporation
+ true
+ https://aka.ms/azps-license
+ https://github.com/Azure/azure-powershell
+ Microsoft Azure PowerShell: FileShare cmdlets
+
+ Microsoft Corporation. All rights reserved.
+ Azure ResourceManager ARM PSModule FileShare
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/Az.FileShare.psd1 b/src/FileShare/FileShare.Autorest/Az.FileShare.psd1
new file mode 100644
index 000000000000..c1a4a973186b
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/Az.FileShare.psd1
@@ -0,0 +1,23 @@
+@{
+ GUID = '5a382cc7-bd7c-4aee-b85e-844a1631d925'
+ RootModule = './Az.FileShare.psm1'
+ ModuleVersion = '0.1.0'
+ CompatiblePSEditions = 'Core', 'Desktop'
+ Author = 'Microsoft Corporation'
+ CompanyName = 'Microsoft Corporation'
+ Copyright = 'Microsoft Corporation. All rights reserved.'
+ Description = 'Microsoft Azure PowerShell: FileShare cmdlets'
+ PowerShellVersion = '5.1'
+ DotNetFrameworkVersion = '4.7.2'
+ RequiredAssemblies = './bin/Az.FileShare.private.dll'
+ FormatsToProcess = './Az.FileShare.format.ps1xml'
+ FunctionsToExport = 'Get-AzFileShare', 'Get-AzFileShareInformationalOperationLimit', 'Get-AzFileShareInformationalOperationProvisioningRecommendation', 'Get-AzFileShareInformationalOperationUsageData', 'Get-AzFileShareSnapshot', 'New-AzFileShare', 'New-AzFileShareSnapshot', 'Remove-AzFileShare', 'Remove-AzFileShareSnapshot', 'Test-AzFileShareNameAvailability', 'Update-AzFileShare', 'Update-AzFileShareSnapshot'
+ PrivateData = @{
+ PSData = @{
+ Tags = 'Azure', 'ResourceManager', 'ARM', 'PSModule', 'FileShare'
+ LicenseUri = 'https://aka.ms/azps-license'
+ ProjectUri = 'https://github.com/Azure/azure-powershell'
+ ReleaseNotes = ''
+ }
+ }
+}
diff --git a/src/FileShare/FileShare.Autorest/Az.FileShare.psm1 b/src/FileShare/FileShare.Autorest/Az.FileShare.psm1
new file mode 100644
index 000000000000..cce0009e059a
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/Az.FileShare.psm1
@@ -0,0 +1,119 @@
+# region Generated
+ # ----------------------------------------------------------------------------------
+ # Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+ # ----------------------------------------------------------------------------------
+ # Load required Az.Accounts module
+ $accountsName = 'Az.Accounts'
+ $accountsModule = Get-Module -Name $accountsName
+ if(-not $accountsModule) {
+ $localAccountsPath = Join-Path $PSScriptRoot 'generated\modules'
+ if(Test-Path -Path $localAccountsPath) {
+ $localAccounts = Get-ChildItem -Path $localAccountsPath -Recurse -Include 'Az.Accounts.psd1' | Select-Object -Last 1
+ if($localAccounts) {
+ $accountsModule = Import-Module -Name ($localAccounts.FullName) -Scope Global -PassThru
+ }
+ }
+ if(-not $accountsModule) {
+ $hasAdequateVersion = (Get-Module -Name $accountsName -ListAvailable | Where-Object { $_.Version -ge [System.Version]'2.7.5' } | Measure-Object).Count -gt 0
+ if($hasAdequateVersion) {
+ $accountsModule = Import-Module -Name $accountsName -MinimumVersion 2.7.5 -Scope Global -PassThru
+ }
+ }
+ }
+
+ if(-not $accountsModule) {
+ Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. For installation instructions, please see: https://learn.microsoft.com/powershell/azure/install-az-ps" -ErrorAction Stop
+ } elseif (($accountsModule.Version -lt [System.Version]'2.7.5') -and (-not $localAccounts)) {
+ Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. An earlier version of Az.Accounts is imported in the current PowerShell session. If you are running test, please try to add the switch '-RegenerateSupportModule' when executing 'test-module.ps1'. Otherwise please open a new PowerShell session and import this module again.`nAdditionally, this error could indicate that multiple incompatible versions of Azure PowerShell modules are installed on your system. For troubleshooting information, please see: https://aka.ms/azps-version-error" -ErrorAction Stop
+ }
+ Write-Information "Loaded Module '$($accountsModule.Name)'"
+
+ # Load the private module dll
+ $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.FileShare.private.dll')
+
+ # Get the private module's instance
+ $instance = [Microsoft.Azure.PowerShell.Cmdlets.FileShare.Module]::Instance
+
+ # Ask for the shared functionality table
+ $VTable = Register-AzModule
+
+ # Tweaks the pipeline on module load
+ $instance.OnModuleLoad = $VTable.OnModuleLoad
+
+ # Following two delegates are added for telemetry
+ $instance.GetTelemetryId = $VTable.GetTelemetryId
+ $instance.Telemetry = $VTable.Telemetry
+
+ # Delegate to sanitize the output object
+ $instance.SanitizeOutput = $VTable.SanitizerHandler
+
+ # Delegate to get the telemetry info
+ $instance.GetTelemetryInfo = $VTable.GetTelemetryInfo
+
+ # Tweaks the pipeline per call
+ $instance.OnNewRequest = $VTable.OnNewRequest
+
+ # Gets shared parameter values
+ $instance.GetParameterValue = $VTable.GetParameterValue
+
+ # Allows shared module to listen to events from this module
+ $instance.EventListener = $VTable.EventListener
+
+ # Gets shared argument completers
+ $instance.ArgumentCompleter = $VTable.ArgumentCompleter
+
+ # The name of the currently selected Azure profile
+ $instance.ProfileName = $VTable.ProfileName
+
+ # Load the custom module
+ $customModulePath = Join-Path $PSScriptRoot './custom/Az.FileShare.custom.psm1'
+ if(Test-Path $customModulePath) {
+ $null = Import-Module -Name $customModulePath
+ }
+
+ # Export nothing to clear implicit exports
+ Export-ModuleMember
+
+ # Export proxy cmdlet scripts
+ $exportsPath = Join-Path $PSScriptRoot './exports'
+ $directories = Get-ChildItem -Directory -Path $exportsPath
+ $profileDirectory = $null
+ if($instance.ProfileName) {
+ if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) {
+ $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName }
+ } else {
+ # Don't export anything if the profile doesn't exist for the module
+ $exportsPath = $null
+ Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded."
+ }
+ } elseif(($directories | Measure-Object).Count -gt 0) {
+ # Load the last folder if no profile is selected
+ $profileDirectory = $directories | Select-Object -Last 1
+ }
+
+ if($profileDirectory) {
+ Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'"
+ $exportsPath = $profileDirectory.FullName
+ }
+
+ if($exportsPath) {
+ Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName }
+ $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath
+ Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias)
+ }
+
+ # Finalize initialization of this module
+ $instance.Init();
+ Write-Information "Loaded Module '$($instance.Name)'"
+# endregion
diff --git a/src/FileShare/FileShare.Autorest/MSSharedLibKey.snk b/src/FileShare/FileShare.Autorest/MSSharedLibKey.snk
new file mode 100644
index 000000000000..695f1b38774e
Binary files /dev/null and b/src/FileShare/FileShare.Autorest/MSSharedLibKey.snk differ
diff --git a/src/FileShare/FileShare.Autorest/Properties/AssemblyInfo.cs b/src/FileShare/FileShare.Autorest/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000000..c7fea70bf73b
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/Properties/AssemblyInfo.cs
@@ -0,0 +1,30 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the Apache License, Version 2.0 (the ""License"");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an ""AS IS"" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+// is regenerated.
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Microsoft")]
+[assembly: System.Reflection.AssemblyCopyrightAttribute("Copyright © Microsoft")]
+[assembly: System.Reflection.AssemblyProductAttribute("Microsoft Azure PowerShell")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Microsoft Azure PowerShell - MicrosoftFileShares")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.1.0")]
+[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
+[assembly: System.CLSCompliantAttribute(false)]
+
diff --git a/src/FileShare/FileShare.Autorest/README.md b/src/FileShare/FileShare.Autorest/README.md
new file mode 100644
index 000000000000..19ac700f0a1c
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/README.md
@@ -0,0 +1,24 @@
+
+# Az.FileShare
+This directory contains the PowerShell module for the FileShare service.
+
+---
+## Info
+- Modifiable: yes
+- Generated: all
+- Committed: yes
+- Packaged: yes
+
+---
+## Detail
+This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension.
+
+## Module Requirements
+- [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater
+
+## Authentication
+AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent.
+
+## Development
+For information on how to develop for `Az.FileShare`, see [how-to.md](how-to.md).
+
diff --git a/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/fileShares-fileShareSnapshots.json b/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/fileShares-fileShareSnapshots.json
new file mode 100644
index 000000000000..e85e1da511ca
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/fileShares-fileShareSnapshots.json
@@ -0,0 +1,95 @@
+{
+ "resourceType": "fileShares/fileShareSnapshots",
+ "apiVersion": "2025-06-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare"
+ },
+ "commands": [
+ {
+ "name": "Get-AzFileShareSnapshot",
+ "description": "Get a FileShareSnapshot",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.FileShares/fileShares/{resourceName}/fileShareSnapshots/{name}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare/get-azfilesharesnapshot"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-Name ",
+ "-ResourceGroupName ",
+ "-ResourceName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Get a FileShareSnapshot",
+ "parameters": [
+ {
+ "name": "-Name",
+ "value": "[Path.name]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-ResourceName",
+ "value": "[Path.resourceName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Remove-AzFileShareSnapshot",
+ "description": "Delete a FileShareSnapshot.",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.FileShares/fileShares/{resourceName}/fileShareSnapshots/{name}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare/remove-azfilesharesnapshot"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-Name ",
+ "-ResourceGroupName ",
+ "-ResourceName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Delete a FileShareSnapshot.",
+ "parameters": [
+ {
+ "name": "-Name",
+ "value": "[Path.name]"
+ },
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-ResourceName",
+ "value": "[Path.resourceName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/fileShares.json b/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/fileShares.json
new file mode 100644
index 000000000000..1a58c08c94a9
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/fileShares.json
@@ -0,0 +1,85 @@
+{
+ "resourceType": "fileShares",
+ "apiVersion": "2025-06-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare"
+ },
+ "commands": [
+ {
+ "name": "Get-AzFileShare",
+ "description": "Get a FileShare",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.FileShares/fileShares/{resourceName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare/get-azfileshare"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-ResourceGroupName ",
+ "-ResourceName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Get a FileShare",
+ "parameters": [
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-ResourceName",
+ "value": "[Path.resourceName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Remove-AzFileShare",
+ "description": "Delete a FileShare",
+ "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.FileShares/fileShares/{resourceName}",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare/remove-azfileshare"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-ResourceGroupName ",
+ "-ResourceName ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Delete a FileShare",
+ "parameters": [
+ {
+ "name": "-ResourceGroupName",
+ "value": "[Path.resourceGroupName]"
+ },
+ {
+ "name": "-ResourceName",
+ "value": "[Path.resourceName]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/locations.json b/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/locations.json
new file mode 100644
index 000000000000..b156b583039a
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/UX/Microsoft.FileShares/locations.json
@@ -0,0 +1,75 @@
+{
+ "resourceType": "locations",
+ "apiVersion": "2025-06-01-preview",
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare"
+ },
+ "commands": [
+ {
+ "name": "Get-AzFileShareInformationalOperationLimit",
+ "description": "Get file shares limits.",
+ "path": "/subscriptions/{subscriptionId}/providers/Microsoft.FileShares/locations/{location}/getLimits",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare/get-azfileshareinformationaloperationlimit"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-Location ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Get file shares limits.",
+ "parameters": [
+ {
+ "name": "-Location",
+ "value": "[Path.location]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Get-AzFileShareInformationalOperationUsageData",
+ "description": "Get file shares usage data.",
+ "path": "/subscriptions/{subscriptionId}/providers/Microsoft.FileShares/locations/{location}/getUsageData",
+ "help": {
+ "learnMore": {
+ "url": "https://learn.microsoft.com/powershell/module/az.fileshare/get-azfileshareinformationaloperationusagedata"
+ },
+ "parameterSets": [
+ {
+ "parameters": [
+ "-Location ",
+ "[-SubscriptionId ]"
+ ]
+ }
+ ]
+ },
+ "examples": [
+ {
+ "description": "Get file shares usage data.",
+ "parameters": [
+ {
+ "name": "-Location",
+ "value": "[Path.location]"
+ },
+ {
+ "name": "-SubscriptionId",
+ "value": "[Path.subscriptionId]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/FileShare/FileShare.Autorest/build-module.ps1 b/src/FileShare/FileShare.Autorest/build-module.ps1
new file mode 100644
index 000000000000..b492607cfabf
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/build-module.ps1
@@ -0,0 +1,191 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$NotIsolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs, [switch]$UX, [Switch]$DisableAfterBuildTasks)
+$ErrorActionPreference = 'Stop'
+
+if($PSEdition -ne 'Core') {
+ Write-Error 'This script requires PowerShell Core to execute. [Note] Generated cmdlets will work in both PowerShell Core or Windows PowerShell.'
+}
+
+if(-not $NotIsolated -and -not $Debugger) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+ & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated
+
+ if($LastExitCode -ne 0) {
+ # Build failed. Don't attempt to run the module.
+ return
+ }
+
+ if($Test) {
+ . (Join-Path $PSScriptRoot 'test-module.ps1')
+ if($LastExitCode -ne 0) {
+ # Tests failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ if($Docs) {
+ . (Join-Path $PSScriptRoot 'generate-help.ps1')
+ if($LastExitCode -ne 0) {
+ # Docs generation failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ if($UX) {
+ . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1')
+ if($LastExitCode -ne 0) {
+ # UX generation failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ if($Pack) {
+ . (Join-Path $PSScriptRoot 'pack-module.ps1')
+ if($LastExitCode -ne 0) {
+ # Packing failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ $runModulePath = Join-Path $PSScriptRoot 'run-module.ps1'
+ if($Code) {
+ . $runModulePath -Code
+ } elseif($Run) {
+ . $runModulePath
+ } else {
+ Write-Host -ForegroundColor Cyan "To run this module in an isolated PowerShell session, run the 'run-module.ps1' script or provide the '-Run' parameter to this script."
+ }
+ return
+}
+
+$binFolder = Join-Path $PSScriptRoot 'bin'
+$objFolder = Join-Path $PSScriptRoot 'obj'
+
+$isAzure = [System.Convert]::ToBoolean('true')
+
+if(-not $Debugger) {
+ Write-Host -ForegroundColor Green 'Cleaning build folders...'
+ $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Force -Path $binFolder, $objFolder
+
+ if((Test-Path $binFolder) -or (Test-Path $objFolder)) {
+ Write-Host -ForegroundColor Cyan 'Did you forget to exit your isolated module session before rebuilding?'
+ Write-Error 'Unable to clean ''bin'' or ''obj'' folder. A process may have an open handle.'
+ }
+
+ Write-Host -ForegroundColor Green 'Compiling module...'
+ $buildConfig = 'Debug'
+ if($Release) {
+ $buildConfig = 'Release'
+ }
+ dotnet publish $PSScriptRoot --verbosity quiet --configuration $buildConfig /nologo
+ if($LastExitCode -ne 0) {
+ Write-Error 'Compilation failed.'
+ }
+
+ $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Force -Path (Join-Path $binFolder 'Debug'), (Join-Path $binFolder 'Release')
+}
+
+$dll = Join-Path $PSScriptRoot 'bin\Az.FileShare.private.dll'
+if(-not (Test-Path $dll)) {
+ Write-Error "Unable to find output assembly in '$binFolder'."
+}
+
+# Load DLL to use build-time cmdlets
+$null = Import-Module -Name $dll
+
+$modulePaths = $dll
+$customPsm1 = Join-Path $PSScriptRoot 'custom\Az.FileShare.custom.psm1'
+if(Test-Path $customPsm1) {
+ $modulePaths = @($dll, $customPsm1)
+}
+
+$exportsFolder = Join-Path $PSScriptRoot 'exports'
+if(Test-Path $exportsFolder) {
+ $null = Get-ChildItem -Path $exportsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue -Force
+}
+$null = New-Item -ItemType Directory -Force -Path $exportsFolder
+
+$internalFolder = Join-Path $PSScriptRoot 'internal'
+if(Test-Path $internalFolder) {
+ $null = Get-ChildItem -Path $internalFolder -Recurse -Exclude '*.psm1', 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue -Force
+}
+$null = New-Item -ItemType Directory -Force -Path $internalFolder
+
+$psd1 = Join-Path $PSScriptRoot './Az.FileShare.psd1'
+$guid = Get-ModuleGuid -Psd1Path $psd1
+$moduleName = 'Az.FileShare'
+$examplesFolder = Join-Path $PSScriptRoot 'examples'
+$null = New-Item -ItemType Directory -Force -Path $examplesFolder
+
+Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...'
+$modelCmdlets = @()
+$modelCmdletFolder = Join-Path (Join-Path $PSScriptRoot './custom') 'autogen-model-cmdlets'
+if (Test-Path $modelCmdletFolder) {
+ $null = Remove-Item -Force -Recurse -Path $modelCmdletFolder
+}
+if ($modelCmdlets.Count -gt 0) {
+ . (Join-Path $PSScriptRoot 'create-model-cmdlets.ps1')
+ CreateModelCmdlet($modelCmdlets)
+}
+
+if($NoDocs) {
+ Write-Host -ForegroundColor Green 'Creating exports...'
+ Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ExcludeDocs -ExamplesFolder $examplesFolder
+} else {
+ Write-Host -ForegroundColor Green 'Creating exports and docs...'
+ $moduleDescription = 'Microsoft Azure PowerShell: FileShare cmdlets'
+ $docsFolder = Join-Path $PSScriptRoot 'docs'
+ if(Test-Path $docsFolder) {
+ $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue -Force
+ }
+ $null = New-Item -ItemType Directory -Force -Path $docsFolder
+ $addComplexInterfaceInfo = !$isAzure
+ Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid -AddComplexInterfaceInfo:$addComplexInterfaceInfo
+}
+
+Write-Host -ForegroundColor Green 'Creating format.ps1xml...'
+$formatPs1xml = Join-Path $PSScriptRoot './Az.FileShare.format.ps1xml'
+Export-FormatPs1xml -FilePath $formatPs1xml
+
+Write-Host -ForegroundColor Green 'Creating psd1...'
+$customFolder = Join-Path $PSScriptRoot 'custom'
+Export-Psd1 -ExportsFolder $exportsFolder -CustomFolder $customFolder -Psd1Path $psd1 -ModuleGuid $guid
+
+Write-Host -ForegroundColor Green 'Creating test stubs...'
+$testFolder = Join-Path $PSScriptRoot 'test'
+$null = New-Item -ItemType Directory -Force -Path $testFolder
+Export-TestStub -ModuleName $moduleName -ExportsFolder $exportsFolder -OutputFolder $testFolder
+
+Write-Host -ForegroundColor Green 'Creating example stubs...'
+Export-ExampleStub -ExportsFolder $exportsFolder -OutputFolder $examplesFolder
+
+if (Test-Path (Join-Path $PSScriptRoot 'generate-portal-ux.ps1'))
+{
+ Write-Host -ForegroundColor Green 'Creating ux metadata...'
+ . (Join-Path $PSScriptRoot 'generate-portal-ux.ps1')
+}
+
+if (-not $DisableAfterBuildTasks){
+ $afterBuildTasksPath = Join-Path $PSScriptRoot '../../../tools/BuildScripts/AdaptAutorestModule.ps1'
+ $afterBuildTasksArgs = ConvertFrom-Json '{"SubModuleName":"Az.FileShare","ModuleRootName":"$(root-module-name)"}' -AsHashtable
+ if(Test-Path -Path $afterBuildTasksPath -PathType leaf){
+ Write-Host -ForegroundColor Green 'Running after build tasks...'
+ . $afterBuildTasksPath @afterBuildTasksArgs
+ }
+}
+
+Write-Host -ForegroundColor Green '-------------Done-------------'
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/check-dependencies.ps1 b/src/FileShare/FileShare.Autorest/check-dependencies.ps1
new file mode 100644
index 000000000000..90ca9867ae40
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/check-dependencies.ps1
@@ -0,0 +1,65 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$NotIsolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources)
+$ErrorActionPreference = 'Stop'
+
+if(-not $NotIsolated) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+ & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -NotIsolated
+ return
+}
+
+function DownloadModule ([bool]$predicate, [string]$path, [string]$moduleName, [string]$versionMinimum, [string]$requiredVersion) {
+ if($predicate) {
+ $module = Get-Module -ListAvailable -Name $moduleName
+ if((-not $module) -or ($versionMinimum -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -ge [System.Version]$versionMinimum } | Measure-Object).Count -eq 0) -or ($requiredVersion -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -eq [System.Version]$requiredVersion } | Measure-Object).Count -eq 0)) {
+ $null = New-Item -ItemType Directory -Force -Path $path
+ Write-Host -ForegroundColor Green "Installing local $moduleName module into '$path'..."
+ if ($requiredVersion) {
+ Find-Module -Name $moduleName -RequiredVersion $requiredVersion -Repository PSGallery | Save-Module -Path $path
+ }elseif($versionMinimum) {
+ Find-Module -Name $moduleName -MinimumVersion $versionMinimum -Repository PSGallery | Save-Module -Path $path
+ } else {
+ Find-Module -Name $moduleName -Repository PSGallery | Save-Module -Path $path
+ }
+ }
+ }
+}
+
+$ProgressPreference = 'SilentlyContinue'
+$all = (@($Accounts.IsPresent, $Pester.IsPresent) | Select-Object -Unique | Measure-Object).Count -eq 1
+
+$localModulesPath = Join-Path $PSScriptRoot 'generated\modules'
+if(Test-Path -Path $localModulesPath) {
+ $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath"
+}
+
+DownloadModule -predicate ($all -or $Accounts) -path $localModulesPath -moduleName 'Az.Accounts' -versionMinimum '2.7.5'
+DownloadModule -predicate ($all -or $Pester) -path $localModulesPath -moduleName 'Pester' -requiredVersion '4.10.1'
+
+$tools = Join-Path $PSScriptRoot 'tools'
+$resourceDir = Join-Path $tools 'Resources'
+$resourceModule = Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psm1'
+
+if ($Resources.IsPresent -and ((-not (Test-Path -Path $resourceModule)) -or $RegenerateSupportModule.IsPresent)) {
+ Write-Host -ForegroundColor Green "Building local Resource module used for test..."
+ Set-Location $resourceDir
+ $null = autorest .\README.md --use:@autorest/powershell@3.0.414 --output-folder=$HOME/.PSSharedModules/Resources
+ $null = Copy-Item custom/* $HOME/.PSSharedModules/Resources/custom/
+ Set-Location $HOME/.PSSharedModules/Resources
+ $null = .\build-module.ps1
+ Set-Location $PSScriptRoot
+}
diff --git a/src/FileShare/FileShare.Autorest/create-model-cmdlets.ps1 b/src/FileShare/FileShare.Autorest/create-model-cmdlets.ps1
new file mode 100644
index 000000000000..4998795ffdff
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/create-model-cmdlets.ps1
@@ -0,0 +1,263 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+function CreateModelCmdlet {
+
+ param([Hashtable[]]$Models)
+
+ if ($Models.Count -eq 0)
+ {
+ return
+ }
+
+ $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated\api') 'Models'
+ $OutputDir = Join-Path $PSScriptRoot 'custom\autogen-model-cmdlets'
+ $null = New-Item -ItemType Directory -Force -Path $OutputDir
+ if (''.length -gt 0) {
+ $ModuleName = ''
+ } else {
+ $ModuleName = 'Az.FileShare'
+ }
+ $CsFiles = Get-ChildItem -Path $ModelCsPath -Recurse -Filter *.cs
+ $Content = ''
+ $null = $CsFiles | ForEach-Object -Process { if ($_.Name.Split('.').count -eq 2 )
+ { $Content += get-content $_.fullname -raw
+ } }
+
+ $Tree = [Microsoft.CodeAnalysis.CSharp.SyntaxFactory]::ParseCompilationUnit($Content)
+ $Nodes = $Tree.ChildNodes().ChildNodes()
+ $classConstantMember = @{}
+ foreach ($Model in $Models)
+ {
+ $ModelName = $Model.modelName
+ $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$ModelName") }
+ $ClassNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'class') -and ($_.Identifier.value -eq "$ModelName") }
+ $classConstantMember = @()
+ foreach ($class in $ClassNode) {
+ foreach ($member in $class.Members) {
+ $isConstant = $false
+ foreach ($attr in $member.AttributeLists) {
+ $memberName = $attr.Attributes.Name.ToString()
+ if ($memberName.EndsWith('.Constant')) {
+ $isConstant = $true
+ break
+ }
+ }
+ if (($member.Modifiers.ToString() -eq 'public') -and $isConstant) {
+ $classConstantMember += $member.Identifier.Value
+ }
+ }
+ }
+ if ($InterfaceNode.count -eq 0) {
+ continue
+ }
+ # through a queue, we iterate all the parent models.
+ $Queue = @($InterfaceNode)
+ $visited = @("I$ModelName")
+ $AllInterfaceNodes = @()
+ while ($Queue.count -ne 0)
+ {
+ $AllInterfaceNodes += $Queue[0]
+ # Baselist contains the direct parent models.
+ foreach ($parent in $Queue[0].BaseList.Types)
+ {
+ if (($parent.Type.Right.Identifier.Value -ne 'IJsonSerializable') -and (-not $visited.Contains($parent.Type.Right.Identifier.Value)))
+ {
+ $Queue = [Array]$Queue + ($Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq $parent.Type.Right.Identifier.Value) })
+ $visited = [Array]$visited + $parent.Type.Right.Identifier.Value
+ }
+ }
+ $first, $Queue = $Queue
+ }
+
+ $Namespace = $InterfaceNode.Parent.Name
+ $ObjectType = $ModelName
+ $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}"
+ $Prefix = 'Az'
+ # remove duplicated module name
+ if ($ObjectType.StartsWith('FileShare')) {
+ $ModulePrefix = ''
+ } else {
+ $ModulePrefix = 'FileShare'
+ }
+ $OutputPath = Join-Path -ChildPath "New-${Prefix}${ModulePrefix}${ObjectType}Object.ps1" -Path $OutputDir
+
+ $ParameterDefineScriptList = New-Object System.Collections.Generic.List[string]
+ $ParameterAssignScriptList = New-Object System.Collections.Generic.List[string]
+ foreach ($Node in $AllInterfaceNodes)
+ {
+ foreach ($Member in $Node.Members)
+ {
+ if ($classConstantMember.Contains($Member.Identifier.Value)) {
+ # skip constant member
+ continue
+ }
+ $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments
+ $Required = $false
+ $Description = ""
+ $Readonly = $False
+ $mutability = @{Read = $true; Create = $true; Update = $true}
+ foreach ($Argument in $Arguments)
+ {
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Required")
+ {
+ $Required = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Description")
+ {
+ $Description = $Argument.Expression.Token.Value.Trim('.').replace('"', '`"')
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Readonly")
+ {
+ $Readonly = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Read")
+ {
+ $mutability.Read = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Create")
+ {
+ $mutability.Create = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Update")
+ {
+ $mutability.Update = $Argument.Expression.Token.Value
+ }
+ }
+ if ($Readonly)
+ {
+ continue
+ }
+ $Identifier = $Member.Identifier.Value
+ $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1]
+ if ($Type.StartsWith("System.Collections.Generic.List"))
+ {
+ # if the type is a list, we need to convert it to array
+ $matched = $Type -match '\<(?.+)\>$'
+ if ($matched)
+ {
+ $Type = $matches.Name + '[]';
+ }
+ }
+ $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string]
+ if ($Required -and $mutability.Create -and $mutability.Update)
+ {
+ $ParameterDefinePropertyList.Add("Mandatory")
+ }
+ if ($Description -ne "")
+ {
+ $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"")
+ }
+ $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList)
+ # check whether completer is needed
+ $completer = '';
+ if(IsEnumType($Member)){
+ $completer += GetCompleter($Member)
+ }
+ $ParameterDefineScript = "
+ [Parameter($ParameterDefineProperty)]${completer}
+ [${Type}]
+ `$${Identifier}"
+ $ParameterDefineScriptList.Add($ParameterDefineScript)
+ $ParameterAssignScriptList.Add("
+ if (`$PSBoundParameters.ContainsKey('${Identifier}')) {
+ `$Object.${Identifier} = `$${Identifier}
+ }")
+ }
+ }
+ $ParameterDefineScript = $ParameterDefineScriptList | Join-String -Separator ","
+ $ParameterAssignScript = $ParameterAssignScriptList | Join-String -Separator ""
+
+ $cmdletName = "New-${Prefix}${ModulePrefix}${ObjectType}Object"
+ if ('' -ne $Model.cmdletName) {
+ $cmdletName = $Model.cmdletName
+ }
+ $OutputPath = Join-Path -ChildPath "${cmdletName}.ps1" -Path $OutputDir
+ $cmdletNameInLowerCase = $cmdletName.ToLower()
+ $Script = "
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the ""License"");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an ""AS IS"" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ${ObjectType}.
+.Description
+Create an in-memory object for ${ObjectType}.
+
+.Outputs
+${ObjectTypeWithNamespace}
+.Link
+https://learn.microsoft.com/powershell/module/${ModuleName}/${cmdletNameInLowerCase}
+#>
+function ${cmdletName} {
+ [Microsoft.Azure.PowerShell.Cmdlets.FileShare.ModelCmdletAttribute()]
+ [OutputType('${ObjectTypeWithNamespace}')]
+ [CmdletBinding(PositionalBinding=`$false)]
+ Param(
+${ParameterDefineScript}
+ )
+
+ process {
+ `$Object = [${ObjectTypeWithNamespace}]::New()
+${ParameterAssignScript}
+ return `$Object
+ }
+}
+"
+ Set-Content -Path $OutputPath -Value $Script
+ }
+}
+
+function IsEnumType {
+ param (
+ [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property
+ )
+ $isEnum = $false
+ foreach ($attr in $property.AttributeLists) {
+ $attributeName = $attr.Attributes.Name.ToString()
+ if ($attributeName.Contains('ArgumentCompleter')) {
+ $isEnum = $true
+ break
+ }
+ }
+ return $isEnum;
+}
+
+function GetCompleter {
+ param (
+ [Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax]$property
+ )
+ foreach ($attr in $property.AttributeLists) {
+ $attributeName = $attr.Attributes.Name.ToString()
+ if ($attributeName.Contains('ArgumentCompleter')) {
+ $attributeName = $attributeName.Split("::")[-1]
+ $possibleValues = [System.String]::Join(", ", $attr.Attributes.ArgumentList.Arguments)
+ $completer += "`n [${attributeName}(${possibleValues})]"
+ return $completer
+ }
+ }
+}
diff --git a/src/FileShare/FileShare.Autorest/custom/Az.FileShare.custom.psm1 b/src/FileShare/FileShare.Autorest/custom/Az.FileShare.custom.psm1
new file mode 100644
index 000000000000..d4c4a1996905
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/custom/Az.FileShare.custom.psm1
@@ -0,0 +1,17 @@
+# region Generated
+ # Load the private module dll
+ $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.FileShare.private.dll')
+
+ # Load the internal module
+ $internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.FileShare.internal.psm1'
+ if(Test-Path $internalModulePath) {
+ $null = Import-Module -Name $internalModulePath
+ }
+
+ # Export nothing to clear implicit exports
+ Export-ModuleMember
+
+ # Export script cmdlets
+ Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName }
+ Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias)
+# endregion
diff --git a/src/FileShare/FileShare.Autorest/custom/README.md b/src/FileShare/FileShare.Autorest/custom/README.md
new file mode 100644
index 000000000000..9e479cd21e39
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/custom/README.md
@@ -0,0 +1,41 @@
+# Custom
+This directory contains custom implementation for non-generated cmdlets for the `Az.FileShare` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `..\exports` folder. The only generated file into this folder is the `Az.FileShare.custom.psm1`. This file should not be modified.
+
+## Info
+- Modifiable: yes
+- Generated: partial
+- Committed: yes
+- Packaged: yes
+
+## Details
+For `Az.FileShare` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*.
+
+For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.FileShare.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder.
+
+For script cmdlets, these are loaded via the `Az.FileShare.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build.
+
+## Purpose
+This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `..\exports` folder.
+
+## Usage
+The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `..\exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters:
+- Break
+- DefaultProfile
+- HttpPipelineAppend
+- HttpPipelinePrepend
+- Proxy
+- ProxyCredential
+- ProxyUseDefaultCredentials
+
+These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.FileShare`. For C#, follow the usage seen in the `ProcessRecordAsync` method.
+
+### Attributes
+For processing the cmdlets, we've created some additional attributes:
+- `Microsoft.Azure.PowerShell.Cmdlets.FileShare.DescriptionAttribute`
+ - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts.
+- `Microsoft.Azure.PowerShell.Cmdlets.FileShare.DoNotExportAttribute`
+ - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.FileShare`.
+- `Microsoft.Azure.PowerShell.Cmdlets.FileShare.InternalExportAttribute`
+ - Used in C# cmdlets to route exported cmdlets to the `..\internal`, which are *not exposed* by `Az.FileShare`. For more information, see [README.md](..\internal/README.md) in the `..\internal` folder.
+- `Microsoft.Azure.PowerShell.Cmdlets.FileShare.ProfileAttribute`
+ - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules.
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/docs/Az.FileShare.md b/src/FileShare/FileShare.Autorest/docs/Az.FileShare.md
new file mode 100644
index 000000000000..baf1f1482aef
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Az.FileShare.md
@@ -0,0 +1,49 @@
+---
+Module Name: Az.FileShare
+Module Guid: 5a382cc7-bd7c-4aee-b85e-844a1631d925
+Download Help Link: https://learn.microsoft.com/powershell/module/az.fileshare
+Help Version: 1.0.0.0
+Locale: en-US
+---
+
+# Az.FileShare Module
+## Description
+Microsoft Azure PowerShell: FileShare cmdlets
+
+## Az.FileShare Cmdlets
+### [Get-AzFileShare](Get-AzFileShare.md)
+Get a FileShare
+
+### [Get-AzFileShareInformationalOperationLimit](Get-AzFileShareInformationalOperationLimit.md)
+Get file shares limits.
+
+### [Get-AzFileShareInformationalOperationProvisioningRecommendation](Get-AzFileShareInformationalOperationProvisioningRecommendation.md)
+Get file shares provisioning parameters recommendation.
+
+### [Get-AzFileShareInformationalOperationUsageData](Get-AzFileShareInformationalOperationUsageData.md)
+Get file shares usage data.
+
+### [Get-AzFileShareSnapshot](Get-AzFileShareSnapshot.md)
+Get a FileShareSnapshot
+
+### [New-AzFileShare](New-AzFileShare.md)
+Create a file share.
+
+### [New-AzFileShareSnapshot](New-AzFileShareSnapshot.md)
+Create a FileShareSnapshot.
+
+### [Remove-AzFileShare](Remove-AzFileShare.md)
+Delete a FileShare
+
+### [Remove-AzFileShareSnapshot](Remove-AzFileShareSnapshot.md)
+Delete a FileShareSnapshot.
+
+### [Test-AzFileShareNameAvailability](Test-AzFileShareNameAvailability.md)
+Implements local CheckNameAvailability operations
+
+### [Update-AzFileShare](Update-AzFileShare.md)
+Update a FileShare
+
+### [Update-AzFileShareSnapshot](Update-AzFileShareSnapshot.md)
+Update a FileShareSnapshot.
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Get-AzFileShare.md b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShare.md
new file mode 100644
index 000000000000..cfe0f0637473
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShare.md
@@ -0,0 +1,158 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/get-azfileshare
+schema: 2.0.0
+---
+
+# Get-AzFileShare
+
+## SYNOPSIS
+Get a FileShare
+
+## SYNTAX
+
+### List (Default)
+```
+Get-AzFileShare [-SubscriptionId ] [-DefaultProfile ] []
+```
+
+### Get
+```
+Get-AzFileShare -ResourceGroupName -ResourceName [-SubscriptionId ]
+ [-DefaultProfile ] []
+```
+
+### GetViaIdentity
+```
+Get-AzFileShare -InputObject [-DefaultProfile ] []
+```
+
+### List1
+```
+Get-AzFileShare -ResourceGroupName [-SubscriptionId ] [-DefaultProfile ]
+ []
+```
+
+## DESCRIPTION
+Get a FileShare
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: GetViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -ResourceGroupName
+The name of the resource group.
+The name is case insensitive.
+
+```yaml
+Type: System.String
+Parameter Sets: Get, List1
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceName
+The resource name of the file share, as seen by the administrator through Azure Resource Manager.
+
+```yaml
+Type: System.String
+Parameter Sets: Get
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String[]
+Parameter Sets: Get, List, List1
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShare
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationLimit.md b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationLimit.md
new file mode 100644
index 000000000000..dd3c3a8975b3
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationLimit.md
@@ -0,0 +1,163 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/get-azfileshareinformationaloperationlimit
+schema: 2.0.0
+---
+
+# Get-AzFileShareInformationalOperationLimit
+
+## SYNOPSIS
+Get file shares limits.
+
+## SYNTAX
+
+### Get (Default)
+```
+Get-AzFileShareInformationalOperationLimit -Location [-SubscriptionId ]
+ [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### GetViaIdentity
+```
+Get-AzFileShareInformationalOperationLimit -InputObject [-DefaultProfile ]
+ [-Confirm] [-WhatIf] []
+```
+
+## DESCRIPTION
+Get file shares limits.
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: GetViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -Location
+The name of the Azure region.
+
+```yaml
+Type: System.String
+Parameter Sets: Get
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String[]
+Parameter Sets: Get
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareLimitsResponse
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationProvisioningRecommendation.md b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationProvisioningRecommendation.md
new file mode 100644
index 000000000000..6fe7c4d7f8bc
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationProvisioningRecommendation.md
@@ -0,0 +1,253 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/get-azfileshareinformationaloperationprovisioningrecommendation
+schema: 2.0.0
+---
+
+# Get-AzFileShareInformationalOperationProvisioningRecommendation
+
+## SYNOPSIS
+Get file shares provisioning parameters recommendation.
+
+## SYNTAX
+
+### GetExpanded (Default)
+```
+Get-AzFileShareInformationalOperationProvisioningRecommendation -Location
+ -ProvisionedStorageGiB [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf]
+ []
+```
+
+### Get
+```
+Get-AzFileShareInformationalOperationProvisioningRecommendation -Location
+ -Body [-SubscriptionId ] [-DefaultProfile ]
+ [-Confirm] [-WhatIf] []
+```
+
+### GetViaIdentity
+```
+Get-AzFileShareInformationalOperationProvisioningRecommendation -InputObject
+ -Body [-DefaultProfile ] [-Confirm] [-WhatIf]
+ []
+```
+
+### GetViaIdentityExpanded
+```
+Get-AzFileShareInformationalOperationProvisioningRecommendation -InputObject
+ -ProvisionedStorageGiB [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### GetViaJsonFilePath
+```
+Get-AzFileShareInformationalOperationProvisioningRecommendation -Location -JsonFilePath
+ [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### GetViaJsonString
+```
+Get-AzFileShareInformationalOperationProvisioningRecommendation -Location -JsonString
+ [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+## DESCRIPTION
+Get file shares provisioning parameters recommendation.
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -Body
+Request structure for file share provisioning parameters recommendation API.
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareProvisioningRecommendationRequest
+Parameter Sets: Get, GetViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: GetViaIdentity, GetViaIdentityExpanded
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -JsonFilePath
+Path of Json file supplied to the Get operation
+
+```yaml
+Type: System.String
+Parameter Sets: GetViaJsonFilePath
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -JsonString
+Json string supplied to the Get operation
+
+```yaml
+Type: System.String
+Parameter Sets: GetViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Location
+The name of the Azure region.
+
+```yaml
+Type: System.String
+Parameter Sets: Get, GetExpanded, GetViaJsonFilePath, GetViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProvisionedStorageGiB
+The desired provisioned storage size of the share in GiB.
+Will be use to calculate the values of remaining provisioning parameters.
+
+```yaml
+Type: System.Int32
+Parameter Sets: GetExpanded, GetViaIdentityExpanded
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String[]
+Parameter Sets: Get, GetExpanded, GetViaJsonFilePath, GetViaJsonString
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareProvisioningRecommendationRequest
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareProvisioningRecommendationResponse
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationUsageData.md b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationUsageData.md
new file mode 100644
index 000000000000..5620dda2b8f4
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareInformationalOperationUsageData.md
@@ -0,0 +1,163 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/get-azfileshareinformationaloperationusagedata
+schema: 2.0.0
+---
+
+# Get-AzFileShareInformationalOperationUsageData
+
+## SYNOPSIS
+Get file shares usage data.
+
+## SYNTAX
+
+### Get (Default)
+```
+Get-AzFileShareInformationalOperationUsageData -Location [-SubscriptionId ]
+ [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### GetViaIdentity
+```
+Get-AzFileShareInformationalOperationUsageData -InputObject [-DefaultProfile ]
+ [-Confirm] [-WhatIf] []
+```
+
+## DESCRIPTION
+Get file shares usage data.
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: GetViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -Location
+The name of the Azure region.
+
+```yaml
+Type: System.String
+Parameter Sets: Get
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String[]
+Parameter Sets: Get
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareUsageDataResponse
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareSnapshot.md b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareSnapshot.md
new file mode 100644
index 000000000000..162ec3042f3b
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Get-AzFileShareSnapshot.md
@@ -0,0 +1,189 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/get-azfilesharesnapshot
+schema: 2.0.0
+---
+
+# Get-AzFileShareSnapshot
+
+## SYNOPSIS
+Get a FileShareSnapshot
+
+## SYNTAX
+
+### List (Default)
+```
+Get-AzFileShareSnapshot -ResourceGroupName -ResourceName [-SubscriptionId ]
+ [-DefaultProfile ] []
+```
+
+### Get
+```
+Get-AzFileShareSnapshot -Name -ResourceGroupName -ResourceName
+ [-SubscriptionId ] [-DefaultProfile ] []
+```
+
+### GetViaIdentity
+```
+Get-AzFileShareSnapshot -InputObject [-DefaultProfile ] []
+```
+
+### GetViaIdentityFileShare
+```
+Get-AzFileShareSnapshot -FileShareInputObject -Name [-DefaultProfile ]
+ []
+```
+
+## DESCRIPTION
+Get a FileShareSnapshot
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -FileShareInputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: GetViaIdentityFileShare
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: GetViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -Name
+The name of the FileShareSnapshot
+
+```yaml
+Type: System.String
+Parameter Sets: Get, GetViaIdentityFileShare
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceGroupName
+The name of the resource group.
+The name is case insensitive.
+
+```yaml
+Type: System.String
+Parameter Sets: Get, List
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceName
+The resource name of the file share, as seen by the administrator through Azure Resource Manager.
+
+```yaml
+Type: System.String
+Parameter Sets: Get, List
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String[]
+Parameter Sets: Get, List
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareSnapshot
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/New-AzFileShare.md b/src/FileShare/FileShare.Autorest/docs/New-AzFileShare.md
new file mode 100644
index 000000000000..77e9fec53c32
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/New-AzFileShare.md
@@ -0,0 +1,415 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/new-azfileshare
+schema: 2.0.0
+---
+
+# New-AzFileShare
+
+## SYNOPSIS
+Create a file share.
+
+## SYNTAX
+
+### CreateExpanded (Default)
+```
+New-AzFileShare -ResourceGroupName -ResourceName -Location
+ [-SubscriptionId ] [-MediaTier ] [-MountName ]
+ [-NfProtocolPropertyRootSquash ] [-Protocol ] [-ProvisionedIoPerSec ]
+ [-ProvisionedStorageGiB ] [-ProvisionedThroughputMiBPerSec ]
+ [-PublicAccessPropertyAllowedSubnet ] [-PublicNetworkAccess ] [-Redundancy ]
+ [-Tag ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] []
+```
+
+### CreateViaJsonFilePath
+```
+New-AzFileShare -ResourceGroupName -ResourceName -JsonFilePath
+ [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf]
+ []
+```
+
+### CreateViaJsonString
+```
+New-AzFileShare -ResourceGroupName -ResourceName -JsonString
+ [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf]
+ []
+```
+
+## DESCRIPTION
+Create a file share.
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -AsJob
+Run the command as a job
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -JsonFilePath
+Path of Json file supplied to the Create operation
+
+```yaml
+Type: System.String
+Parameter Sets: CreateViaJsonFilePath
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -JsonString
+Json string supplied to the Create operation
+
+```yaml
+Type: System.String
+Parameter Sets: CreateViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Location
+The geo-location where the resource lives
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -MediaTier
+The storage media tier of the file share.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -MountName
+The name of the file share as seen by the end user when mounting the share, such as in a URI or UNC format in their operating system.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -NfProtocolPropertyRootSquash
+Root squash defines how root users on clients are mapped to the NFS share.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -NoWait
+Run the command asynchronously
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Protocol
+The file sharing protocol for this file share.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProvisionedIoPerSec
+The provisioned IO / sec of the share.
+
+```yaml
+Type: System.Int32
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProvisionedStorageGiB
+The provisioned storage size of the share in GiB (1 GiB is 1024^3 bytes or 1073741824 bytes).
+A component of the file share's bill is the provisioned storage, regardless of the amount of used storage.
+
+```yaml
+Type: System.Int32
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProvisionedThroughputMiBPerSec
+The provisioned throughput / sec of the share.
+
+```yaml
+Type: System.Int32
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -PublicAccessPropertyAllowedSubnet
+The allowed set of subnets when access is restricted.
+
+```yaml
+Type: System.String[]
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -PublicNetworkAccess
+Gets or sets allow or disallow public network access to azure managed file share
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Redundancy
+The chosen redundancy level of the file share.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceGroupName
+The name of the resource group.
+The name is case insensitive.
+
+```yaml
+Type: System.String
+Parameter Sets: (All)
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceName
+The resource name of the file share, as seen by the administrator through Azure Resource Manager.
+
+```yaml
+Type: System.String
+Parameter Sets: (All)
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Tag
+Resource tags.
+
+```yaml
+Type: System.Collections.Hashtable
+Parameter Sets: CreateExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShare
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/New-AzFileShareSnapshot.md b/src/FileShare/FileShare.Autorest/docs/New-AzFileShareSnapshot.md
new file mode 100644
index 000000000000..5cd3e12f8d4e
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/New-AzFileShareSnapshot.md
@@ -0,0 +1,284 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/new-azfilesharesnapshot
+schema: 2.0.0
+---
+
+# New-AzFileShareSnapshot
+
+## SYNOPSIS
+Create a FileShareSnapshot.
+
+## SYNTAX
+
+### CreateExpanded (Default)
+```
+New-AzFileShareSnapshot -Name -ResourceGroupName -ResourceName
+ [-SubscriptionId ] [-Metadata ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm]
+ [-WhatIf] []
+```
+
+### CreateViaIdentityFileShareExpanded
+```
+New-AzFileShareSnapshot -FileShareInputObject -Name [-Metadata ]
+ [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] []
+```
+
+### CreateViaJsonFilePath
+```
+New-AzFileShareSnapshot -Name -ResourceGroupName -ResourceName
+ -JsonFilePath [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm]
+ [-WhatIf] []
+```
+
+### CreateViaJsonString
+```
+New-AzFileShareSnapshot -Name -ResourceGroupName -ResourceName -JsonString
+ [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf]
+ []
+```
+
+## DESCRIPTION
+Create a FileShareSnapshot.
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -AsJob
+Run the command as a job
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -FileShareInputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: CreateViaIdentityFileShareExpanded
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -JsonFilePath
+Path of Json file supplied to the Create operation
+
+```yaml
+Type: System.String
+Parameter Sets: CreateViaJsonFilePath
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -JsonString
+Json string supplied to the Create operation
+
+```yaml
+Type: System.String
+Parameter Sets: CreateViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Metadata
+The metadata
+
+```yaml
+Type: System.Collections.Hashtable
+Parameter Sets: CreateExpanded, CreateViaIdentityFileShareExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Name
+The name of the FileShareSnapshot
+
+```yaml
+Type: System.String
+Parameter Sets: (All)
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -NoWait
+Run the command asynchronously
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceGroupName
+The name of the resource group.
+The name is case insensitive.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded, CreateViaJsonFilePath, CreateViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceName
+The resource name of the file share, as seen by the administrator through Azure Resource Manager.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded, CreateViaJsonFilePath, CreateViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String
+Parameter Sets: CreateExpanded, CreateViaJsonFilePath, CreateViaJsonString
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### System.Boolean
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/README.md b/src/FileShare/FileShare.Autorest/docs/README.md
new file mode 100644
index 000000000000..cfb037edb01c
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/README.md
@@ -0,0 +1,11 @@
+# Docs
+This directory contains the documentation of the cmdlets for the `Az.FileShare` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overridden on regeneration*. To update documentation examples, please use the `..\examples` folder.
+
+## Info
+- Modifiable: no
+- Generated: all
+- Committed: yes
+- Packaged: yes
+
+## Details
+The process of documentation generation loads `Az.FileShare` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `..\exports` folder. Additionally, when writing custom cmdlets in the `..\custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `..\examples` folder.
\ No newline at end of file
diff --git a/src/FileShare/FileShare.Autorest/docs/Remove-AzFileShare.md b/src/FileShare/FileShare.Autorest/docs/Remove-AzFileShare.md
new file mode 100644
index 000000000000..7e1dd7554ed4
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Remove-AzFileShare.md
@@ -0,0 +1,224 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/remove-azfileshare
+schema: 2.0.0
+---
+
+# Remove-AzFileShare
+
+## SYNOPSIS
+Delete a FileShare
+
+## SYNTAX
+
+### Delete (Default)
+```
+Remove-AzFileShare -ResourceGroupName -ResourceName [-SubscriptionId ]
+ [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] []
+```
+
+### DeleteViaIdentity
+```
+Remove-AzFileShare -InputObject [-DefaultProfile ] [-AsJob] [-NoWait]
+ [-PassThru] [-Confirm] [-WhatIf] []
+```
+
+## DESCRIPTION
+Delete a FileShare
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -AsJob
+Run the command as a job
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: DeleteViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -NoWait
+Run the command asynchronously
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -PassThru
+Returns true when the command succeeds
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceGroupName
+The name of the resource group.
+The name is case insensitive.
+
+```yaml
+Type: System.String
+Parameter Sets: Delete
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceName
+The resource name of the file share, as seen by the administrator through Azure Resource Manager.
+
+```yaml
+Type: System.String
+Parameter Sets: Delete
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String
+Parameter Sets: Delete
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### System.Boolean
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Remove-AzFileShareSnapshot.md b/src/FileShare/FileShare.Autorest/docs/Remove-AzFileShareSnapshot.md
new file mode 100644
index 000000000000..85d20be6cebd
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Remove-AzFileShareSnapshot.md
@@ -0,0 +1,261 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/remove-azfilesharesnapshot
+schema: 2.0.0
+---
+
+# Remove-AzFileShareSnapshot
+
+## SYNOPSIS
+Delete a FileShareSnapshot.
+
+## SYNTAX
+
+### Delete (Default)
+```
+Remove-AzFileShareSnapshot -Name -ResourceGroupName -ResourceName
+ [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf]
+ []
+```
+
+### DeleteViaIdentity
+```
+Remove-AzFileShareSnapshot -InputObject [-DefaultProfile ] [-AsJob] [-NoWait]
+ [-PassThru] [-Confirm] [-WhatIf] []
+```
+
+### DeleteViaIdentityFileShare
+```
+Remove-AzFileShareSnapshot -FileShareInputObject -Name
+ [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] []
+```
+
+## DESCRIPTION
+Delete a FileShareSnapshot.
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -AsJob
+Run the command as a job
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -FileShareInputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: DeleteViaIdentityFileShare
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: DeleteViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -Name
+The name of the FileShareSnapshot
+
+```yaml
+Type: System.String
+Parameter Sets: Delete, DeleteViaIdentityFileShare
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -NoWait
+Run the command asynchronously
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -PassThru
+Returns true when the command succeeds
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceGroupName
+The name of the resource group.
+The name is case insensitive.
+
+```yaml
+Type: System.String
+Parameter Sets: Delete
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceName
+The resource name of the file share, as seen by the administrator through Azure Resource Manager.
+
+```yaml
+Type: System.String
+Parameter Sets: Delete
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String
+Parameter Sets: Delete
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### System.Boolean
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Test-AzFileShareNameAvailability.md b/src/FileShare/FileShare.Autorest/docs/Test-AzFileShareNameAvailability.md
new file mode 100644
index 000000000000..9d2f2bcff4a3
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Test-AzFileShareNameAvailability.md
@@ -0,0 +1,264 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/test-azfilesharenameavailability
+schema: 2.0.0
+---
+
+# Test-AzFileShareNameAvailability
+
+## SYNOPSIS
+Implements local CheckNameAvailability operations
+
+## SYNTAX
+
+### CheckExpanded (Default)
+```
+Test-AzFileShareNameAvailability -Location [-SubscriptionId ] [-Name ]
+ [-Type ] [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### Check
+```
+Test-AzFileShareNameAvailability -Location -Body
+ [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### CheckViaIdentity
+```
+Test-AzFileShareNameAvailability -InputObject -Body
+ [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### CheckViaIdentityExpanded
+```
+Test-AzFileShareNameAvailability -InputObject [-Name ] [-Type ]
+ [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### CheckViaJsonFilePath
+```
+Test-AzFileShareNameAvailability -Location -JsonFilePath [-SubscriptionId ]
+ [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+### CheckViaJsonString
+```
+Test-AzFileShareNameAvailability -Location -JsonString [-SubscriptionId ]
+ [-DefaultProfile ] [-Confirm] [-WhatIf] []
+```
+
+## DESCRIPTION
+Implements local CheckNameAvailability operations
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -Body
+The check availability request body.
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.ICheckNameAvailabilityRequest
+Parameter Sets: Check, CheckViaIdentity
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: CheckViaIdentity, CheckViaIdentityExpanded
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -JsonFilePath
+Path of Json file supplied to the Check operation
+
+```yaml
+Type: System.String
+Parameter Sets: CheckViaJsonFilePath
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -JsonString
+Json string supplied to the Check operation
+
+```yaml
+Type: System.String
+Parameter Sets: CheckViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Location
+The name of the Azure region.
+
+```yaml
+Type: System.String
+Parameter Sets: Check, CheckExpanded, CheckViaJsonFilePath, CheckViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Name
+The name of the resource for which availability needs to be checked.
+
+```yaml
+Type: System.String
+Parameter Sets: CheckExpanded, CheckViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String
+Parameter Sets: Check, CheckExpanded, CheckViaJsonFilePath, CheckViaJsonString
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Type
+The resource type.
+
+```yaml
+Type: System.String
+Parameter Sets: CheckExpanded, CheckViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.ICheckNameAvailabilityRequest
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.ICheckNameAvailabilityResponse
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Update-AzFileShare.md b/src/FileShare/FileShare.Autorest/docs/Update-AzFileShare.md
new file mode 100644
index 000000000000..e1338d48c2fe
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Update-AzFileShare.md
@@ -0,0 +1,364 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/update-azfileshare
+schema: 2.0.0
+---
+
+# Update-AzFileShare
+
+## SYNOPSIS
+Update a FileShare
+
+## SYNTAX
+
+### UpdateExpanded (Default)
+```
+Update-AzFileShare -ResourceGroupName -ResourceName [-SubscriptionId ]
+ [-NfProtocolPropertyRootSquash ] [-ProvisionedIoPerSec ] [-ProvisionedStorageGiB ]
+ [-ProvisionedThroughputMiBPerSec ] [-PublicAccessPropertyAllowedSubnet ]
+ [-PublicNetworkAccess ] [-Tag ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm]
+ [-WhatIf] []
+```
+
+### UpdateViaIdentityExpanded
+```
+Update-AzFileShare -InputObject [-NfProtocolPropertyRootSquash ]
+ [-ProvisionedIoPerSec ] [-ProvisionedStorageGiB ] [-ProvisionedThroughputMiBPerSec ]
+ [-PublicAccessPropertyAllowedSubnet ] [-PublicNetworkAccess ] [-Tag ]
+ [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] []
+```
+
+### UpdateViaJsonFilePath
+```
+Update-AzFileShare -ResourceGroupName -ResourceName -JsonFilePath
+ [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf]
+ []
+```
+
+### UpdateViaJsonString
+```
+Update-AzFileShare -ResourceGroupName -ResourceName -JsonString
+ [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf]
+ []
+```
+
+## DESCRIPTION
+Update a FileShare
+
+## EXAMPLES
+
+### Example 1: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+### Example 2: {{ Add title here }}
+```powershell
+{{ Add code here }}
+```
+
+```output
+{{ Add output here (remove the output block if the example doesn't have an output) }}
+```
+
+{{ Add description here }}
+
+## PARAMETERS
+
+### -AsJob
+Run the command as a job
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -DefaultProfile
+The DefaultProfile parameter is not functional.
+Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+
+```yaml
+Type: System.Management.Automation.PSObject
+Parameter Sets: (All)
+Aliases: AzureRMContext, AzureCredential
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -InputObject
+Identity Parameter
+
+```yaml
+Type: Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+Parameter Sets: UpdateViaIdentityExpanded
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: True (ByValue)
+Accept wildcard characters: False
+```
+
+### -JsonFilePath
+Path of Json file supplied to the Update operation
+
+```yaml
+Type: System.String
+Parameter Sets: UpdateViaJsonFilePath
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -JsonString
+Json string supplied to the Update operation
+
+```yaml
+Type: System.String
+Parameter Sets: UpdateViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -NfProtocolPropertyRootSquash
+Root squash defines how root users on clients are mapped to the NFS share.
+
+```yaml
+Type: System.String
+Parameter Sets: UpdateExpanded, UpdateViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -NoWait
+Run the command asynchronously
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProvisionedIoPerSec
+The provisioned IO / sec of the share.
+
+```yaml
+Type: System.Int32
+Parameter Sets: UpdateExpanded, UpdateViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProvisionedStorageGiB
+The provisioned storage size of the share in GiB (1 GiB is 1024^3 bytes or 1073741824 bytes).
+A component of the file share's bill is the provisioned storage, regardless of the amount of used storage.
+
+```yaml
+Type: System.Int32
+Parameter Sets: UpdateExpanded, UpdateViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProvisionedThroughputMiBPerSec
+The provisioned throughput / sec of the share.
+
+```yaml
+Type: System.Int32
+Parameter Sets: UpdateExpanded, UpdateViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -PublicAccessPropertyAllowedSubnet
+The allowed set of subnets when access is restricted.
+
+```yaml
+Type: System.String[]
+Parameter Sets: UpdateExpanded, UpdateViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -PublicNetworkAccess
+Gets or sets allow or disallow public network access to azure managed file share
+
+```yaml
+Type: System.String
+Parameter Sets: UpdateExpanded, UpdateViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceGroupName
+The name of the resource group.
+The name is case insensitive.
+
+```yaml
+Type: System.String
+Parameter Sets: UpdateExpanded, UpdateViaJsonFilePath, UpdateViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ResourceName
+The resource name of the file share, as seen by the administrator through Azure Resource Manager.
+
+```yaml
+Type: System.String
+Parameter Sets: UpdateExpanded, UpdateViaJsonFilePath, UpdateViaJsonString
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -SubscriptionId
+The ID of the target subscription.
+The value must be an UUID.
+
+```yaml
+Type: System.String
+Parameter Sets: UpdateExpanded, UpdateViaJsonFilePath, UpdateViaJsonString
+Aliases:
+
+Required: False
+Position: Named
+Default value: (Get-AzContext).Subscription.Id
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Tag
+Resource tags.
+
+```yaml
+Type: System.Collections.Hashtable
+Parameter Sets: UpdateExpanded, UpdateViaIdentityExpanded
+Aliases:
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: cf
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: System.Management.Automation.SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### CommonParameters
+This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
+
+## INPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShareIdentity
+
+## OUTPUTS
+
+### Microsoft.Azure.PowerShell.Cmdlets.FileShare.Models.IFileShare
+
+## NOTES
+
+## RELATED LINKS
+
diff --git a/src/FileShare/FileShare.Autorest/docs/Update-AzFileShareSnapshot.md b/src/FileShare/FileShare.Autorest/docs/Update-AzFileShareSnapshot.md
new file mode 100644
index 000000000000..b7f57eccd585
--- /dev/null
+++ b/src/FileShare/FileShare.Autorest/docs/Update-AzFileShareSnapshot.md
@@ -0,0 +1,305 @@
+---
+external help file:
+Module Name: Az.FileShare
+online version: https://learn.microsoft.com/powershell/module/az.fileshare/update-azfilesharesnapshot
+schema: 2.0.0
+---
+
+# Update-AzFileShareSnapshot
+
+## SYNOPSIS
+Update a FileShareSnapshot.
+
+## SYNTAX
+
+### UpdateExpanded (Default)
+```
+Update-AzFileShareSnapshot -Name -ResourceGroupName -ResourceName
+ [-SubscriptionId ] [-Metadata ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm]
+ [-WhatIf] []
+```
+
+### UpdateViaIdentityExpanded
+```
+Update-AzFileShareSnapshot -InputObject [-Metadata ]
+ [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] []
+```
+
+### UpdateViaIdentityFileShareExpanded
+```
+Update-AzFileShareSnapshot -FileShareInputObject -Name [-Metadata ]
+ [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] []
+```
+
+### UpdateViaJsonFilePath
+```
+Update-AzFileShareSnapshot -Name -ResourceGroupName -ResourceName
+ -JsonFilePath [-SubscriptionId