exports/hybrid-2019-03-01/ProxyCmdletDefinitions.ps1


# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/disable-azstoragedeleteretentionpolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSDeleteRetentionPolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/disable-azstoragedeleteretentionpolicy
#>

function Disable-AzStorageDeleteRetentionPolicy {
[Alias('Disable-AzStorageSoftDelete')]
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSDeleteRetentionPolicy])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display DeleteRetentionPolicyProperties
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Disable-AzStorageDeleteRetentionPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/disable-azstoragestaticwebsite
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSStaticWebsiteProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/disable-azstoragestaticwebsite
#>

function Disable-AzStorageStaticWebsite {
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSStaticWebsiteProperties])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Disable-AzStorageStaticWebsite!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/enable-azstoragedeleteretentionpolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSDeleteRetentionPolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/enable-azstoragedeleteretentionpolicy
#>

function Enable-AzStorageDeleteRetentionPolicy {
[Alias('Enable-AzStorageSoftDelete')]
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSDeleteRetentionPolicy])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Alias('Days')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Int32]
    # Sets the number of retention days for the DeleteRetentionPolicy.
    ${RetentionDays},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display DeleteRetentionPolicyProperties
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Enable-AzStorageDeleteRetentionPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/enable-azstoragestaticwebsite
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSStaticWebsiteProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/enable-azstoragestaticwebsite
#>

function Enable-AzStorageStaticWebsite {
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSStaticWebsiteProperties])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The name of the index document in each directory.
    ${IndexDocument},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # the path to the error document that should be shown when a 404 is issued (meaning, when a browser requests a page that does not exist.)
    ${ErrorDocument404Path},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Enable-AzStorageStaticWebsite!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
Lists the access keys for the specified storage account.
.Description
Lists the access keys for the specified storage account.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccountkey
.Outputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountKey
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccountkey
#>

function Get-AzStorageAccountKey {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountKey])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the storage account within the specified resource group.
    # Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
    ${Name},

    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the resource group within the user's subscription.
    # The name is case insensitive.
    ${ResourceGroupName},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String[]]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            List = 'Az.Storage.private\Get-AzStorageAccountKey_List';
        }
        if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
List SAS credentials of a storage account.
.Description
List SAS credentials of a storage account.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccountsas
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IAccountSasParameters
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
PARAMETER <IAccountSasParameters>: The parameters to list SAS credentials of a storage account.
  Permission <Permissions>: The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
  ResourceType <SignedResourceTypes>: The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files.
  Service <Services>: The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f).
  SharedAccessExpiryTime <DateTime>: The time at which the shared access signature becomes invalid.
  [IPAddressOrRange <String>]: An IP address or a range of IP addresses from which to accept requests.
  [KeyToSign <String>]: The key to sign the account SAS token with.
  [Protocol <HttpProtocol?>]: The protocol permitted for a request made with the account SAS.
  [SharedAccessStartTime <DateTime?>]: The time at which the SAS becomes valid.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccountsas
#>

function Get-AzStorageAccountSas {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='ListExpanded1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the storage account within the specified resource group.
    # Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
    ${Name},

    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the resource group within the user's subscription.
    # The name is case insensitive.
    ${ResourceGroupName},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String[]]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter(ParameterSetName='List1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IAccountSasParameters]
    # The parameters to list SAS credentials of a storage account.
    # To construct, see NOTES section for PARAMETER properties and create a hash table.
    ${Parameter},

    [Parameter(ParameterSetName='ListExpanded1', Mandatory)]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.Permissions])]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.Permissions]
    # The signed permissions for the account SAS.
    # Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
    ${Permission},

    [Parameter(ParameterSetName='ListExpanded1', Mandatory)]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.SignedResourceTypes])]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.SignedResourceTypes]
    # The signed resource types that are accessible with the account SAS.
    # Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files.
    ${ResourceType},

    [Parameter(ParameterSetName='ListExpanded1', Mandatory)]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.Services])]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.Services]
    # The signed services accessible with the account SAS.
    # Possible values include: Blob (b), Queue (q), Table (t), File (f).
    ${Service},

    [Parameter(ParameterSetName='ListExpanded1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.DateTime]
    # The time at which the shared access signature becomes invalid.
    ${SharedAccessExpiryTime},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # An IP address or a range of IP addresses from which to accept requests.
    ${IPAddressOrRange},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The key to sign the account SAS token with.
    ${KeyToSign},

    [Parameter(ParameterSetName='ListExpanded1')]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.HttpProtocol])]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.HttpProtocol]
    # The protocol permitted for a request made with the account SAS.
    ${Protocol},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.DateTime]
    # The time at which the SAS becomes valid.
    ${SharedAccessStartTime},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            List1 = 'Az.Storage.private\Get-AzStorageAccountSas_List1';
            ListExpanded1 = 'Az.Storage.private\Get-AzStorageAccountSas_ListExpanded1';
        }
        if (('List1', 'ListExpanded1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
List service SAS credentials of a specific resource.
.Description
List service SAS credentials of a specific resource.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccountservicesas
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IServiceSasParameters
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
PARAMETER <IServiceSasParameters>: The parameters to list service SAS credentials of a specific resource.
  CanonicalizedResource <String>: The canonical path to the signed resource.
  [CacheControl <String>]: The response header override for cache control.
  [ContentDisposition <String>]: The response header override for content disposition.
  [ContentEncoding <String>]: The response header override for content encoding.
  [ContentLanguage <String>]: The response header override for content language.
  [ContentType <String>]: The response header override for content type.
  [IPAddressOrRange <String>]: An IP address or a range of IP addresses from which to accept requests.
  [Identifier <String>]: A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table.
  [KeyToSign <String>]: The key to sign the account SAS token with.
  [PartitionKeyEnd <String>]: The end of partition key.
  [PartitionKeyStart <String>]: The start of partition key.
  [Permission <Permissions?>]: The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
  [Protocol <HttpProtocol?>]: The protocol permitted for a request made with the account SAS.
  [Resource <SignedResource?>]: The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s).
  [RowKeyEnd <String>]: The end of row key.
  [RowKeyStart <String>]: The start of row key.
  [SharedAccessExpiryTime <DateTime?>]: The time at which the shared access signature becomes invalid.
  [SharedAccessStartTime <DateTime?>]: The time at which the SAS becomes valid.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccountservicesas
#>

function Get-AzStorageAccountServiceSas {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='ListExpanded1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the storage account within the specified resource group.
    # Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
    ${Name},

    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the resource group within the user's subscription.
    # The name is case insensitive.
    ${ResourceGroupName},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String[]]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter(ParameterSetName='List1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IServiceSasParameters]
    # The parameters to list service SAS credentials of a specific resource.
    # To construct, see NOTES section for PARAMETER properties and create a hash table.
    ${Parameter},

    [Parameter(ParameterSetName='ListExpanded1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The canonical path to the signed resource.
    ${CanonicalizedResource},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The response header override for cache control.
    ${CacheControl},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The response header override for content disposition.
    ${ContentDisposition},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The response header override for content encoding.
    ${ContentEncoding},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The response header override for content language.
    ${ContentLanguage},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The response header override for content type.
    ${ContentType},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # An IP address or a range of IP addresses from which to accept requests.
    ${IPAddressOrRange},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table.
    ${Identifier},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The key to sign the account SAS token with.
    ${KeyToSign},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The end of partition key.
    ${PartitionKeyEnd},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The start of partition key.
    ${PartitionKeyStart},

    [Parameter(ParameterSetName='ListExpanded1')]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.Permissions])]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.Permissions]
    # The signed permissions for the service SAS.
    # Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
    ${Permission},

    [Parameter(ParameterSetName='ListExpanded1')]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.HttpProtocol])]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.HttpProtocol]
    # The protocol permitted for a request made with the account SAS.
    ${Protocol},

    [Parameter(ParameterSetName='ListExpanded1')]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.SignedResource])]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Support.SignedResource]
    # The signed services accessible with the service SAS.
    # Possible values include: Blob (b), Container (c), File (f), Share (s).
    ${Resource},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The end of row key.
    ${RowKeyEnd},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The start of row key.
    ${RowKeyStart},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.DateTime]
    # The time at which the shared access signature becomes invalid.
    ${SharedAccessExpiryTime},

    [Parameter(ParameterSetName='ListExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.DateTime]
    # The time at which the SAS becomes valid.
    ${SharedAccessStartTime},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            List1 = 'Az.Storage.private\Get-AzStorageAccountServiceSas_List1';
            ListExpanded1 = 'Az.Storage.private\Get-AzStorageAccountServiceSas_ListExpanded1';
        }
        if (('List1', 'ListExpanded1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
Lists all the storage accounts available under the subscription.
Note that storage keys are not returned; use the ListKeys operation for this.
.Description
Lists all the storage accounts available under the subscription.
Note that storage keys are not returned; use the ListKeys operation for this.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccount
.Outputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccount
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageaccount
#>

function Get-AzStorageAccount {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccount])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String[]]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter(ParameterSetName='List1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the resource group within the user's subscription.
    # The name is case insensitive.
    ${ResourceGroupName},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            List = 'Az.Storage.private\Get-AzStorageAccount_List';
            List1 = 'Az.Storage.private\Get-AzStorageAccount_List1';
        }
        if (('List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageblob
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageblob
#>

function Get-AzStorageBlob {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob])]
[CmdletBinding(DefaultParameterSetName='BlobName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter(ParameterSetName='BlobName', Position=0)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${Blob},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Include deleted blobs, by default get blob won't include deleted blobs
    ${IncludeDeleted},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The max count of the blobs that can return.
    ${MaxCount},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.BlobContinuationToken]
    # Continuation Token.
    ${ContinuationToken},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='BlobPrefix')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob Prefix
    ${Prefix}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            BlobName = 'Az.Storage.private\Get-AzStorageBlob!V1';
            BlobPrefix = 'Az.Storage.private\Get-AzStorageBlob!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageblobcontent
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageblobcontent
#>

function Get-AzStorageBlobContent {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob])]
[CmdletBinding(DefaultParameterSetName='ReceiveManual', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ReceiveManual', Position=0, Mandatory)]
    [Parameter(ParameterSetName='ContainerPipeline', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${Blob},

    [Parameter(ParameterSetName='ReceiveManual', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter()]
    [Alias('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # File Path
    ${Destination},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # check the md5sum
    ${CheckMd5},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to overwrite the existing blob or file
    ${Force},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='BlobPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('ICloudBlob')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # Azure Blob Object
    ${CloudBlob},

    [Parameter(ParameterSetName='ContainerPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # Azure Container Object
    ${CloudBlobContainer}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ReceiveManual = 'Az.Storage.private\Get-AzStorageBlobContent!V1';
            BlobPipeline = 'Az.Storage.private\Get-AzStorageBlobContent!V1';
            ContainerPipeline = 'Az.Storage.private\Get-AzStorageBlobContent!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageblobcopystate
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageblobcopystate
#>

function Get-AzStorageBlobCopyState {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob])]
[CmdletBinding(DefaultParameterSetName='NamePipeline', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='NamePipeline', Position=0, Mandatory)]
    [Parameter(ParameterSetName='ContainerPipeline', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${Blob},

    [Parameter(ParameterSetName='NamePipeline', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Wait for copy task complete
    ${WaitForComplete},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='BlobPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('ICloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # CloudBlob Object
    ${CloudBlob},

    [Parameter(ParameterSetName='ContainerPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # CloudBlobContainer Object
    ${CloudBlobContainer}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            NamePipeline = 'Az.Storage.private\Get-AzStorageBlobCopyState!V1';
            BlobPipeline = 'Az.Storage.private\Get-AzStorageBlobCopyState!V1';
            ContainerPipeline = 'Az.Storage.private\Get-AzStorageBlobCopyState!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragecontainer
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageContainer
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragecontainer
#>

function Get-AzStorageContainer {
[Alias('Get-AzStorageContainerAcl')]
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageContainer])]
[CmdletBinding(DefaultParameterSetName='ContainerName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ContainerName', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Container')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container Name
    ${Name},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The max count of the containers that can return.
    ${MaxCount},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.BlobContinuationToken]
    # Continuation Token.
    ${ContinuationToken},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='ContainerPrefix', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container Prefix
    ${Prefix}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ContainerName = 'Az.Storage.private\Get-AzStorageContainer!V1';
            ContainerPrefix = 'Az.Storage.private\Get-AzStorageContainer!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragecontainerstoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragecontainerstoredaccesspolicy
#>

function Get-AzStorageContainerStoredAccessPolicy {
[OutputType([Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPolicy])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter(Position=1, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Get-AzStorageContainerStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragecorsrule
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSCorsRule
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragecorsrule
#>

function Get-AzStorageCORSRule {
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSCorsRule])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Get-AzStorageCORSRule!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragefile
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragefile
#>

function Get-AzStorageFile {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFile])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share where the files/directories would be listed.
    ${ShareName},

    [Parameter(Position=1)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path to an existing file/directory.
    ${Path},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # CloudFileShare object indicated the share where the files/directories would be listed.
    ${Share},

    [Parameter(ParameterSetName='Directory', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileDirectory]
    # CloudFileDirectory object indicated the base folder where the files/directories would be listed.
    ${Directory}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Get-AzStorageFile!V1';
            Share = 'Az.Storage.private\Get-AzStorageFile!V1';
            Directory = 'Az.Storage.private\Get-AzStorageFile!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragefilecontent
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragefilecontent
#>

function Get-AzStorageFileContent {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFile])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share where the file would be downloaded.
    ${ShareName},

    [Parameter(ParameterSetName='ShareName', Position=1, Mandatory)]
    [Parameter(ParameterSetName='Share', Position=1, Mandatory)]
    [Parameter(ParameterSetName='Directory', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path to the cloud file to be downloaded.
    ${Path},

    [Parameter(Position=2)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path to the local file or directory when the downloaded file would be put.
    ${Destination},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # check the md5sum
    ${CheckMd5},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Returns an object representing the downloaded cloud file.
    # By default, this cmdlet does not generate any output.
    ${PassThru},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to overwrite the existing file.
    ${Force},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # CloudFileShare object indicated the share where the file would be downloaded.
    ${Share},

    [Parameter(ParameterSetName='Directory', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileDirectory]
    # CloudFileDirectory object indicated the cloud directory where the file would be downloaded.
    ${Directory},

    [Parameter(ParameterSetName='File', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # CloudFile object indicated the cloud file to be downloaded.
    ${File}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Get-AzStorageFileContent!V1';
            Share = 'Az.Storage.private\Get-AzStorageFileContent!V1';
            Directory = 'Az.Storage.private\Get-AzStorageFileContent!V1';
            File = 'Az.Storage.private\Get-AzStorageFileContent!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragefilecopystate
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragefilecopystate
#>

function Get-AzStorageFileCopyState {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFile])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Target share name
    ${ShareName},

    [Parameter(ParameterSetName='ShareName', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Target file path
    ${FilePath},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Indicates whether or not to wait util the copying finished.
    ${WaitForComplete},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='File', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # Target file instance
    ${File}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Get-AzStorageFileCopyState!V1';
            File = 'Az.Storage.private\Get-AzStorageFileCopyState!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragequeue
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageQueue
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragequeue
#>

function Get-AzStorageQueue {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageQueue])]
[CmdletBinding(DefaultParameterSetName='QueueName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='QueueName', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Queue')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue name
    ${Name},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='QueuePrefix', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue Prefix
    ${Prefix}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            QueueName = 'Az.Storage.private\Get-AzStorageQueue!V1';
            QueuePrefix = 'Az.Storage.private\Get-AzStorageQueue!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragequeuestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.Queue.SharedAccessQueuePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragequeuestoredaccesspolicy
#>

function Get-AzStorageQueueStoredAccessPolicy {
[OutputType([Microsoft.WindowsAzure.Storage.Queue.SharedAccessQueuePolicy])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue Name
    ${Queue},

    [Parameter(Position=1, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Get-AzStorageQueueStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageserviceloggingproperty
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Storage.Shared.Protocol.LoggingProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageserviceloggingproperty
#>

function Get-AzStorageServiceLoggingProperty {
[OutputType([Microsoft.WindowsAzure.Storage.Shared.Protocol.LoggingProperties])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Get-AzStorageServiceLoggingProperty!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageservicemetricsproperty
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Storage.Shared.Protocol.MetricsProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageservicemetricsproperty
#>

function Get-AzStorageServiceMetricsProperty {
[OutputType([Microsoft.WindowsAzure.Storage.Shared.Protocol.MetricsProperties])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.ServiceMetricsType]
    # Azure storage service metrics type(Hour, Minute).
    ${MetricsType},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Get-AzStorageServiceMetricsProperty!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageserviceproperty
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSSeriviceProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageserviceproperty
#>

function Get-AzStorageServiceProperty {
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSSeriviceProperties])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Get-AzStorageServiceProperty!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageshare
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageshare
#>

function Get-AzStorageShare {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFileShare])]
[CmdletBinding(DefaultParameterSetName='MatchingPrefix', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='MatchingPrefix', Position=0)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # A prefix of the file shares to be listed.
    ${Prefix},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Specific', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share to be received.
    ${Name},

    [Parameter(ParameterSetName='Specific', Position=1)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTimeOffset]]
    # SnapshotTime of the file share snapshot to be received.
    ${SnapshotTime}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            MatchingPrefix = 'Az.Storage.private\Get-AzStorageShare!V1';
            Specific = 'Az.Storage.private\Get-AzStorageShare!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragesharestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.File.SharedAccessFilePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragesharestoredaccesspolicy
#>

function Get-AzStorageShareStoredAccessPolicy {
[OutputType([Microsoft.WindowsAzure.Storage.File.SharedAccessFilePolicy])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Share name
    ${ShareName},

    [Parameter(Position=1, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Get-AzStorageShareStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragetable
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragetable
#>

function Get-AzStorageTable {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable])]
[CmdletBinding(DefaultParameterSetName='TableName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='TableName', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Table')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table name
    ${Name},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='TablePrefix', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table Prefix
    ${Prefix}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            TableName = 'Az.Storage.private\Get-AzStorageTable!V1';
            TablePrefix = 'Az.Storage.private\Get-AzStorageTable!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragetablestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.Table.SharedAccessTablePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragetablestoredaccesspolicy
#>

function Get-AzStorageTableStoredAccessPolicy {
[OutputType([Microsoft.WindowsAzure.Storage.Table.SharedAccessTablePolicy])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table Name
    ${Table},

    [Parameter(Position=1, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Get-AzStorageTableStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
Gets the current usage count and the limit for the resources under the subscription.
.Description
Gets the current usage count and the limit for the resources under the subscription.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageusage
.Outputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IUsage
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageusage
#>

function Get-AzStorageUsage {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IUsage])]
[CmdletBinding(DefaultParameterSetName='List2', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String[]]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            List2 = 'Az.Storage.private\Get-AzStorageUsage_List2';
        }
        if (('List2') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
Regenerates one of the access keys for the specified storage account.
.Description
Regenerates one of the access keys for the specified storage account.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageaccountkey
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountRegenerateKeyParameters
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity
.Outputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountKey
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IStorageIdentity>: Identity Parameter
  [AccountName <String>]: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
  [BlobServicesName <String>]: The name of the blob Service within the specified storage account. Blob Service Name must be 'default'
  [ContainerName <String>]: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
  [FileServicesName <String>]: The name of the file Service within the specified storage account. File Service Name must be "default"
  [Id <String>]: Resource identity path
  [ImmutabilityPolicyName <String>]: The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'
  [Location <String>]: The location of the Azure Storage resource.
  [ManagementPolicyName <ManagementPolicyName?>]: The name of the Storage Account Management Policy. It should always be 'default'
  [ResourceGroupName <String>]: The name of the resource group within the user's subscription. The name is case insensitive.
  [ShareName <String>]: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
  [SubscriptionId <String>]: The ID of the target subscription.
 
REGENERATEKEY <IStorageAccountRegenerateKeyParameters>: The parameters used to regenerate the storage account key.
  KeyName <String>: The name of storage keys that want to be regenerated, possible values are key1, key2.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageaccountkey
#>

function New-AzStorageAccountKey {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountKey])]
[CmdletBinding(DefaultParameterSetName='RegenerateExpanded1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='Regenerate1', Mandatory)]
    [Parameter(ParameterSetName='RegenerateExpanded1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the storage account within the specified resource group.
    # Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
    ${Name},

    [Parameter(ParameterSetName='Regenerate1', Mandatory)]
    [Parameter(ParameterSetName='RegenerateExpanded1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the resource group within the user's subscription.
    # The name is case insensitive.
    ${ResourceGroupName},

    [Parameter(ParameterSetName='Regenerate1')]
    [Parameter(ParameterSetName='RegenerateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter(ParameterSetName='RegenerateViaIdentity1', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='RegenerateViaIdentityExpanded1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Regenerate1', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='RegenerateViaIdentity1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountRegenerateKeyParameters]
    # The parameters used to regenerate the storage account key.
    # To construct, see NOTES section for REGENERATEKEY properties and create a hash table.
    ${RegenerateKey},

    [Parameter(ParameterSetName='RegenerateExpanded1', Mandatory)]
    [Parameter(ParameterSetName='RegenerateViaIdentityExpanded1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The name of storage keys that want to be regenerated, possible values are key1, key2.
    ${KeyName},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Regenerate1 = 'Az.Storage.private\New-AzStorageAccountKey_Regenerate1';
            RegenerateExpanded1 = 'Az.Storage.private\New-AzStorageAccountKey_RegenerateExpanded1';
            RegenerateViaIdentity1 = 'Az.Storage.private\New-AzStorageAccountKey_RegenerateViaIdentity1';
            RegenerateViaIdentityExpanded1 = 'Az.Storage.private\New-AzStorageAccountKey_RegenerateViaIdentityExpanded1';
        }
        if (('Regenerate1', 'RegenerateExpanded1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageaccountsastoken
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageaccountsastoken
#>

function New-AzStorageAccountSASToken {
[OutputType([System.String])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.SharedAccessAccountServices]
    # Service type that this SAS token applies to.
    ${Service},

    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.SharedAccessAccountResourceTypes]
    # Resource type that this SAS token applies to.
    ${ResourceType},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions.
    ${Permission},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.SharedAccessProtocol]]
    # Protocol can be used in the request with this SAS token.
    ${Protocol},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # IP, or IP range ACL (access control list) that the request would be accepted by Azure Storage.
    ${IPAddressOrRange},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\New-AzStorageAccountSASToken!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageblobsastoken
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageblobsastoken
#>

function New-AzStorageBlobSASToken {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='BlobNameWithPermission', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='BlobNameWithPermission', Position=0, Mandatory)]
    [Parameter(ParameterSetName='BlobNameWithPolicy', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container Name
    ${Container},

    [Parameter(ParameterSetName='BlobNameWithPermission', Position=1, Mandatory)]
    [Parameter(ParameterSetName='BlobNameWithPolicy', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob Name
    ${Blob},

    [Parameter(ParameterSetName='BlobNameWithPermission')]
    [Parameter(ParameterSetName='BlobPipelineWithPermission')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a blob.
    # Permissions can be any not-empty subset of "rwd".
    ${Permission},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.SharedAccessProtocol]]
    # Protocol can be used in the request with this SAS token.
    ${Protocol},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # IP, or IP range ACL (access control list) that the request would be accepted by Azure Storage.
    ${IPAddressOrRange},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display full uri with sas token
    ${FullUri},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='BlobPipelineWithPolicy', Mandatory, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='BlobPipelineWithPermission', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('ICloudBlob')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # CloudBlob Object
    ${CloudBlob},

    [Parameter(ParameterSetName='BlobPipelineWithPolicy', Mandatory)]
    [Parameter(ParameterSetName='BlobNameWithPolicy', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            BlobNameWithPermission = 'Az.Storage.private\New-AzStorageBlobSASToken!V1';
            BlobPipelineWithPolicy = 'Az.Storage.private\New-AzStorageBlobSASToken!V1';
            BlobPipelineWithPermission = 'Az.Storage.private\New-AzStorageBlobSASToken!V1';
            BlobNameWithPolicy = 'Az.Storage.private\New-AzStorageBlobSASToken!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontainer
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageContainer
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontainer
#>

function New-AzStorageContainer {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageContainer])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Container')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Name},

    [Parameter(Position=1)]
    [Alias('PublicAccess')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.Blob.BlobContainerPublicAccessType]]
    # Permission string Off/Blob/Container
    ${Permission},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\New-AzStorageContainer!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontainersastoken
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontainersastoken
#>

function New-AzStorageContainerSASToken {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='SasPermission', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Container')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container Name
    ${Name},

    [Parameter(ParameterSetName='SasPolicy', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.SharedAccessProtocol]]
    # Protocol can be used in the request with this SAS token.
    ${Protocol},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # IP, or IP range ACL (access control list) that the request would be accepted by Azure Storage.
    ${IPAddressOrRange},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display full uri with sas token
    ${FullUri},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='SasPermission')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a container.
    # Permissions can be any not-empty subset of "rwdl".
    ${Permission}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            SasPolicy = 'Az.Storage.private\New-AzStorageContainerSASToken!V1';
            SasPermission = 'Az.Storage.private\New-AzStorageContainerSASToken!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontainerstoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontainerstoredaccesspolicy
#>

function New-AzStorageContainerStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier.
    # Need to be unique in the Container
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a container.
    # Permissions can be any subset of "rwdl".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\New-AzStorageContainerStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontext
#>

function New-AzStorageContext {
[OutputType([Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext])]
[CmdletBinding(DefaultParameterSetName='OAuthAccount', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='OAuthAccount', Position=0, Mandatory)]
    [Parameter(ParameterSetName='AccountNameAndKey', Position=0, Mandatory)]
    [Parameter(ParameterSetName='AccountNameAndKeyEnvironment', Position=0, Mandatory)]
    [Parameter(ParameterSetName='AnonymousAccount', Position=0, Mandatory)]
    [Parameter(ParameterSetName='AnonymousAccountEnvironment', Position=0, Mandatory)]
    [Parameter(ParameterSetName='SasToken', Position=0, Mandatory)]
    [Parameter(ParameterSetName='SasTokenWithAzureEnvironment', Position=0, Mandatory)]
    [Parameter(ParameterSetName='OAuthAccountEnvironment', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Azure Storage Account Name
    ${StorageAccountName},

    [Parameter(ParameterSetName='OAuthAccount')]
    [Parameter(ParameterSetName='OAuthAccountEnvironment')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Use OAuth storage account
    ${UseConnectedAccount},

    [Parameter(ParameterSetName='OAuthAccount')]
    [Parameter(ParameterSetName='AccountNameAndKey')]
    [Parameter(ParameterSetName='AccountNameAndKeyEnvironment')]
    [Parameter(ParameterSetName='AnonymousAccount')]
    [Parameter(ParameterSetName='AnonymousAccountEnvironment')]
    [Parameter(ParameterSetName='SasToken')]
    [Parameter(ParameterSetName='OAuthAccountEnvironment')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Protocol specification (HTTP or HTTPS), default is HTTPS
    ${Protocol},

    [Parameter(ParameterSetName='OAuthAccount')]
    [Parameter(ParameterSetName='AccountNameAndKey')]
    [Parameter(ParameterSetName='AnonymousAccount')]
    [Parameter(ParameterSetName='SasToken')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Azure storage endpoint
    ${Endpoint},

    [Parameter(ParameterSetName='AccountNameAndKey', Position=1, Mandatory)]
    [Parameter(ParameterSetName='AccountNameAndKeyEnvironment', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Azure Storage Account Key
    ${StorageAccountKey},

    [Parameter(ParameterSetName='AccountNameAndKeyEnvironment', Mandatory, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='AnonymousAccountEnvironment', Mandatory, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='SasTokenWithAzureEnvironment', Mandatory)]
    [Parameter(ParameterSetName='OAuthAccountEnvironment', Mandatory)]
    [Alias('Name', 'EnvironmentName')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Azure environment name
    ${Environment},

    [Parameter(ParameterSetName='AnonymousAccount', Mandatory)]
    [Parameter(ParameterSetName='AnonymousAccountEnvironment', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Use anonymous storage account
    ${Anonymous},

    [Parameter(ParameterSetName='SasToken', Mandatory)]
    [Parameter(ParameterSetName='SasTokenWithAzureEnvironment', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Azure Storage SAS Token
    ${SasToken},

    [Parameter(ParameterSetName='ConnectionString', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Azure Storage Connection String
    ${ConnectionString},

    [Parameter(ParameterSetName='LocalDevelopment', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Use local development storage account
    ${Local}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            OAuthAccount = 'Az.Storage.private\New-AzStorageContext!V1';
            AccountNameAndKey = 'Az.Storage.private\New-AzStorageContext!V1';
            AccountNameAndKeyEnvironment = 'Az.Storage.private\New-AzStorageContext!V1';
            AnonymousAccount = 'Az.Storage.private\New-AzStorageContext!V1';
            AnonymousAccountEnvironment = 'Az.Storage.private\New-AzStorageContext!V1';
            SasToken = 'Az.Storage.private\New-AzStorageContext!V1';
            SasTokenWithAzureEnvironment = 'Az.Storage.private\New-AzStorageContext!V1';
            OAuthAccountEnvironment = 'Az.Storage.private\New-AzStorageContext!V1';
            ConnectionString = 'Az.Storage.private\New-AzStorageContext!V1';
            LocalDevelopment = 'Az.Storage.private\New-AzStorageContext!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragedirectory
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragedirectory
#>

function New-AzStorageDirectory {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFileDirectory])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=1, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path of the directory to be created.
    ${Path},

    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share where the directory would be created.
    ${ShareName},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # CloudFileShare object indicated the share where the directory would be created.
    ${Share},

    [Parameter(ParameterSetName='Directory', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileDirectory]
    # CloudFileDirectory object indicated the base folder where the new directory would be created.
    ${Directory}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\New-AzStorageDirectory!V1';
            Share = 'Az.Storage.private\New-AzStorageDirectory!V1';
            Directory = 'Az.Storage.private\New-AzStorageDirectory!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragefilesastoken
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragefilesastoken
#>

function New-AzStorageFileSASToken {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='NameSasPermission', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='NameSasPermission', Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='NameSasPolicy', Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Share Name
    ${ShareName},

    [Parameter(ParameterSetName='NameSasPermission', Position=1, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='NameSasPolicy', Position=1, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path to the cloud file to generate sas token against.
    ${Path},

    [Parameter(ParameterSetName='NameSasPermission')]
    [Parameter(ParameterSetName='FileSasPermission')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a file.
    # Permissions can be any subset of "rwd".
    ${Permission},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.SharedAccessProtocol]]
    # Protocol can be used in the request with this SAS token.
    ${Protocol},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # IP, or IP range ACL (access control list) that the request would be accepted by Azure Storage.
    ${IPAddressOrRange},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display full uri with sas token
    ${FullUri},

    [Parameter(ParameterSetName='NameSasPermission', ValueFromPipeline)]
    [Parameter(ParameterSetName='NameSasPolicy', ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='NameSasPolicy', Mandatory)]
    [Parameter(ParameterSetName='FileSasPolicy', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter(ParameterSetName='FileSasPermission', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='FileSasPolicy', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # CloudFile instance to represent the file to get SAS token against.
    ${File}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            NameSasPermission = 'Az.Storage.private\New-AzStorageFileSASToken!V1';
            NameSasPolicy = 'Az.Storage.private\New-AzStorageFileSASToken!V1';
            FileSasPermission = 'Az.Storage.private\New-AzStorageFileSASToken!V1';
            FileSasPolicy = 'Az.Storage.private\New-AzStorageFileSASToken!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragequeue
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageQueue
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragequeue
#>

function New-AzStorageQueue {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageQueue])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Queue')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue name
    ${Name},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\New-AzStorageQueue!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragequeuesastoken
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragequeuesastoken
#>

function New-AzStorageQueueSASToken {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='SasPermission', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Queue')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table Name
    ${Name},

    [Parameter(ParameterSetName='SasPolicy', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.SharedAccessProtocol]]
    # Protocol can be used in the request with this SAS token.
    ${Protocol},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # IP, or IP range ACL (access control list) that the request would be accepted from by Azure Storage.
    ${IPAddressOrRange},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display full uri with sas token
    ${FullUri},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='SasPermission')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a container.
    # Permissions can be any not-empty subset of "raup".
    ${Permission}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            SasPolicy = 'Az.Storage.private\New-AzStorageQueueSASToken!V1';
            SasPermission = 'Az.Storage.private\New-AzStorageQueueSASToken!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragequeuestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragequeuestoredaccesspolicy
#>

function New-AzStorageQueueStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue Name
    ${Queue},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier.
    # Need to be unique in the Queue
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a queue.
    # Permissions can be any not-empty subset of "arup".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\New-AzStorageQueueStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageshare
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstorageshare
#>

function New-AzStorageShare {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFileShare])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share to be created.
    ${Name},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\New-AzStorageShare!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragesharesastoken
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragesharesastoken
#>

function New-AzStorageShareSASToken {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='SasPermission', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Share Name
    ${ShareName},

    [Parameter(ParameterSetName='SasPolicy', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.SharedAccessProtocol]]
    # Protocol can be used in the request with this SAS token.
    ${Protocol},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # IP, or IP range ACL (access control list) that the request would be accepted by Azure Storage.
    ${IPAddressOrRange},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display full uri with sas token
    ${FullUri},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='SasPermission')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a share.
    # Permissions can be any subset of "rwdl".
    ${Permission}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            SasPolicy = 'Az.Storage.private\New-AzStorageShareSASToken!V1';
            SasPermission = 'Az.Storage.private\New-AzStorageShareSASToken!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragesharestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragesharestoredaccesspolicy
#>

function New-AzStorageShareStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Share name
    ${ShareName},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier.
    # Need to be unique in the Share
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a share.
    # Permissions can be any subset of "rwdl".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\New-AzStorageShareStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragetable
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragetable
#>

function New-AzStorageTable {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Table')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table name
    ${Name},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\New-AzStorageTable!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragetablesastoken
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragetablesastoken
#>

function New-AzStorageTableSASToken {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='SasPermission', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Table')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table Name
    ${Name},

    [Parameter(ParameterSetName='SasPolicy', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.SharedAccessProtocol]]
    # Protocol can be used in the request with this SAS token.
    ${Protocol},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # IP, or IP range ACL (access control list) that the request would be accepted by Azure Storage.
    ${IPAddressOrRange},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display full uri with sas token
    ${FullUri},

    [Parameter()]
    [Alias('startpk')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Start Partition Key
    ${StartPartitionKey},

    [Parameter()]
    [Alias('startrk')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Start Row Key
    ${StartRowKey},

    [Parameter()]
    [Alias('endpk')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # End Partition Key
    ${EndPartitionKey},

    [Parameter()]
    [Alias('endrk')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # End Row Key
    ${EndRowKey},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(ParameterSetName='SasPermission')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a container.
    # Permissions can be any not-empty subset of "audq".
    ${Permission}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            SasPolicy = 'Az.Storage.private\New-AzStorageTableSASToken!V1';
            SasPermission = 'Az.Storage.private\New-AzStorageTableSASToken!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragetablestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragetablestoredaccesspolicy
#>

function New-AzStorageTableStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table Name
    ${Table},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier.
    # Need to be unique in the Table
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a table.
    # Permissions can be any not-empty subset of "audqr".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\New-AzStorageTableStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
Deletes a storage account in Microsoft Azure.
.Description
Deletes a storage account in Microsoft Azure.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstorageaccount
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IStorageIdentity>: Identity Parameter
  [AccountName <String>]: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
  [BlobServicesName <String>]: The name of the blob Service within the specified storage account. Blob Service Name must be 'default'
  [ContainerName <String>]: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
  [FileServicesName <String>]: The name of the file Service within the specified storage account. File Service Name must be "default"
  [Id <String>]: Resource identity path
  [ImmutabilityPolicyName <String>]: The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'
  [Location <String>]: The location of the Azure Storage resource.
  [ManagementPolicyName <ManagementPolicyName?>]: The name of the Storage Account Management Policy. It should always be 'default'
  [ResourceGroupName <String>]: The name of the resource group within the user's subscription. The name is case insensitive.
  [ShareName <String>]: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
  [SubscriptionId <String>]: The ID of the target subscription.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstorageaccount
#>

function Remove-AzStorageAccount {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='Delete1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the storage account within the specified resource group.
    # Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
    ${Name},

    [Parameter(ParameterSetName='Delete1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [System.String]
    # The name of the resource group within the user's subscription.
    # The name is case insensitive.
    ${ResourceGroupName},

    [Parameter(ParameterSetName='Delete1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter(ParameterSetName='DeleteViaIdentity1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Delete1 = 'Az.Storage.private\Remove-AzStorageAccount_Delete1';
            DeleteViaIdentity1 = 'Az.Storage.private\Remove-AzStorageAccount_DeleteViaIdentity1';
        }
        if (('Delete1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstorageblob
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstorageblob
#>

function Remove-AzStorageBlob {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='NamePipeline', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='NamePipeline', Position=0, Mandatory)]
    [Parameter(ParameterSetName='ContainerPipeline', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${Blob},

    [Parameter(ParameterSetName='NamePipeline', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Only delete blob snapshots
    ${DeleteSnapshot},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to remove the blob and its snapshot
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified blob is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='BlobPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('ICloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # CloudBlob Object
    ${CloudBlob},

    [Parameter(ParameterSetName='ContainerPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # CloudBlobContainer Object
    ${CloudBlobContainer}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            NamePipeline = 'Az.Storage.private\Remove-AzStorageBlob!V1';
            BlobPipeline = 'Az.Storage.private\Remove-AzStorageBlob!V1';
            ContainerPipeline = 'Az.Storage.private\Remove-AzStorageBlob!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragecontainer
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragecontainer
#>

function Remove-AzStorageContainer {
[OutputType([System.Boolean])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Container')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container Name
    ${Name},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to remove the container and all content in it
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified container is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Remove-AzStorageContainer!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragecontainerstoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragecontainerstoredaccesspolicy
#>

function Remove-AzStorageContainerStoredAccessPolicy {
[OutputType([System.Boolean])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified policy is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Remove-AzStorageContainerStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragecorsrule
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
System.Void
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragecorsrule
#>

function Remove-AzStorageCORSRule {
[OutputType([System.Void])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Remove-AzStorageCORSRule!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragedirectory
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragedirectory
#>

function Remove-AzStorageDirectory {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFileDirectory])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path to the directory to be removed.
    ${Path},

    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share where the directory would be removed.
    ${ShareName},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Returns an object representing the removed directory.
    # By default, this cmdlet does not generate any output.
    ${PassThru},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # CloudFileShare object indicated the share where the directory would be removed.
    ${Share},

    [Parameter(ParameterSetName='Directory', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileDirectory]
    # CloudFileDirectory object indicated the base folder where the directory would be removed.
    ${Directory}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Remove-AzStorageDirectory!V1';
            Share = 'Az.Storage.private\Remove-AzStorageDirectory!V1';
            Directory = 'Az.Storage.private\Remove-AzStorageDirectory!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragefile
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragefile
#>

function Remove-AzStorageFile {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFile])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share where the file would be removed.
    ${ShareName},

    [Parameter(ParameterSetName='ShareName', Position=1, Mandatory)]
    [Parameter(ParameterSetName='Share', Position=1, Mandatory)]
    [Parameter(ParameterSetName='Directory', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path of the file to be removed.
    ${Path},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Returns an object representing the removed file.
    # By default, this cmdlet does not generate any output.
    ${PassThru},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # CloudFileShare object indicated the share where the file would be removed.
    ${Share},

    [Parameter(ParameterSetName='Directory', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileDirectory]
    # CloudFileDirectory object indicated the cloud directory where the file would be removed.
    ${Directory},

    [Parameter(ParameterSetName='File', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # CloudFile object indicated the file to be removed.
    ${File}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Remove-AzStorageFile!V1';
            Share = 'Az.Storage.private\Remove-AzStorageFile!V1';
            Directory = 'Az.Storage.private\Remove-AzStorageFile!V1';
            File = 'Az.Storage.private\Remove-AzStorageFile!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragequeue
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragequeue
#>

function Remove-AzStorageQueue {
[OutputType([System.Boolean])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Queue')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue name
    ${Name},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to remove the queue and all content in it
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified queue is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Remove-AzStorageQueue!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragequeuestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragequeuestoredaccesspolicy
#>

function Remove-AzStorageQueueStoredAccessPolicy {
[OutputType([System.Boolean])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue Name
    ${Queue},

    [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified policy is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Remove-AzStorageQueueStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstorageshare
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstorageshare
#>

function Remove-AzStorageShare {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFileShare])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share to be removed.
    ${Name},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Remove File Share with all of its snapshots
    ${IncludeAllSnapshot},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to remove the share with all its snapshots, and all content in them.
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Returns an object representing the removed file share.
    # By default, this cmdlet does not generate any output.
    ${PassThru},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # File share object to be removed.
    ${Share}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Remove-AzStorageShare!V1';
            Share = 'Az.Storage.private\Remove-AzStorageShare!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragesharestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragesharestoredaccesspolicy
#>

function Remove-AzStorageShareStoredAccessPolicy {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Share name
    ${ShareName},

    [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified policy is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Remove-AzStorageShareStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragetable
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragetable
#>

function Remove-AzStorageTable {
[OutputType([System.Boolean])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Table')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table name
    ${Name},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to remove the table and all content in it
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified table is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Remove-AzStorageTable!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragetablestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstoragetablestoredaccesspolicy
#>

function Remove-AzStorageTableStoredAccessPolicy {
[OutputType([System.Boolean])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table Name
    ${Table},

    [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Return whether the specified policy is successfully removed
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Remove-AzStorageTableStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstorageblobcontent
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstorageblobcontent
#>

function Set-AzStorageBlobContent {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob])]
[CmdletBinding(DefaultParameterSetName='SendManual', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('FullName')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # file Path
    ${File},

    [Parameter(ParameterSetName='SendManual', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter(ParameterSetName='SendManual')]
    [Parameter(ParameterSetName='ContainerPipeline')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${Blob},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob Type('Block', 'Page', 'Append')
    ${BlobType},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Collections.Hashtable]
    # Blob Properties
    ${Properties},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Collections.Hashtable]
    # Blob Metadata
    ${Metadata},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.PremiumPageBlobTier]
    # Page Blob Tier
    ${PremiumPageBlobTier},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to overwrite the existing blob or file
    ${Force},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='ContainerPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # Azure Blob Container Object
    ${CloudBlobContainer},

    [Parameter(ParameterSetName='BlobPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('ICloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # Azure Blob Object
    ${CloudBlob}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            SendManual = 'Az.Storage.private\Set-AzStorageBlobContent!V1';
            ContainerPipeline = 'Az.Storage.private\Set-AzStorageBlobContent!V1';
            BlobPipeline = 'Az.Storage.private\Set-AzStorageBlobContent!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragecontaineracl
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageContainer
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragecontaineracl
#>

function Set-AzStorageContainerAcl {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageContainer])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Container')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container Name
    ${Name},

    [Parameter(Position=1, Mandatory)]
    [Alias('PublicAccess')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.BlobContainerPublicAccessType]
    # Permission string Off/Blob/Container
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display Container Information
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Set-AzStorageContainerAcl!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragecontainerstoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragecontainerstoredaccesspolicy
#>

function Set-AzStorageContainerStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a container.
    # Permissions can be any non-empty subset of "rdwl".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set StartTime as null for the policy
    ${NoStartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set ExpiryTime as null for the policy
    ${NoExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Set-AzStorageContainerStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragecorsrule
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSCorsRule
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragecorsrule
#>

function Set-AzStorageCORSRule {
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSCorsRule])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter(Mandatory)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSCorsRule[]]
    # CorsRule instances to represent rules to be set.
    ${CorsRules},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display ServiceProperties
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Set-AzStorageCORSRule!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragefilecontent
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileDirectory
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragefilecontent
#>

function Set-AzStorageFileContent {
[OutputType([Microsoft.WindowsAzure.Storage.File.CloudFile])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('FullName')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path to the local file to be uploaded.
    ${Source},

    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Name of the file share where the file would be uploaded to.
    ${ShareName},

    [Parameter(Position=2)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Path to the cloud file which would be uploaded to.
    ${Path},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Returns an object representing the downloaded cloud file.
    # By default, this cmdlet does not generate any output.
    ${PassThru},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to overwrite the existing file.
    ${Force},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # CloudFileShare object indicated the share where the file would be uploaded to.
    ${Share},

    [Parameter(ParameterSetName='Directory', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileDirectory]
    # CloudFileDirectory object indicated the cloud directory where the file would be uploaded.
    ${Directory}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Set-AzStorageFileContent!V1';
            Share = 'Az.Storage.private\Set-AzStorageFileContent!V1';
            Directory = 'Az.Storage.private\Set-AzStorageFileContent!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragequeuestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragequeuestoredaccesspolicy
#>

function Set-AzStorageQueueStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Queue Name
    ${Queue},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a queue.
    # Permissions can be any not-empty subset of "arup".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set StartTime as null for the policy
    ${NoStartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set ExpiryTime as null for the policy
    ${NoExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Set-AzStorageQueueStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstorageserviceloggingproperty
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Storage.Shared.Protocol.LoggingProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstorageserviceloggingproperty
#>

function Set-AzStorageServiceLoggingProperty {
[OutputType([Microsoft.WindowsAzure.Storage.Shared.Protocol.LoggingProperties])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Double]]
    # Logging version
    ${Version},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # Logging retention days.
    # -1 means disable Logging retention policy, otherwise enable.
    ${RetentionDays},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Shared.Protocol.LoggingOperations[]]
    # Logging operations.
    # (All, None, combinations of Read, Write, Delete that are seperated by semicolon.)
    ${LoggingOperations},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display ServiceProperties
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Set-AzStorageServiceLoggingProperty!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstorageservicemetricsproperty
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Storage.Shared.Protocol.MetricsProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstorageservicemetricsproperty
#>

function Set-AzStorageServiceMetricsProperty {
[OutputType([Microsoft.WindowsAzure.Storage.Shared.Protocol.MetricsProperties])]
[CmdletBinding(PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.ServiceMetricsType]
    # Azure storage service metrics type(Hour, Minute).
    ${MetricsType},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Double]]
    # Metrics version
    ${Version},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # Metrics retention days.
    # -1 means disable Metrics retention policy, otherwise enable.
    ${RetentionDays},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[Microsoft.WindowsAzure.Storage.Shared.Protocol.MetricsLevel]]
    # Metrics level.(None/Service/ServiceAndApi)
    ${MetricsLevel},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display ServiceProperties
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Set-AzStorageServiceMetricsProperty!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragesharequota
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFileShare
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Storage.File.FileShareProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragesharequota
#>

function Set-AzStorageShareQuota {
[OutputType([Microsoft.WindowsAzure.Storage.File.FileShareProperties])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false)]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Int32]
    # Share Quota
    ${Quota},

    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Share name
    ${ShareName},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='Share', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # CloudFileShare object indicated the share whose quota to set.
    ${Share}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Set-AzStorageShareQuota!V1';
            Share = 'Az.Storage.private\Set-AzStorageShareQuota!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragesharestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragesharestoredaccesspolicy
#>

function Set-AzStorageShareStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Share name
    ${ShareName},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a share.
    # Permissions can be any non-empty subset of "rwdl".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expiry Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set StartTime as null for the policy
    ${NoStartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set ExpiryTime as null for the policy
    ${NoExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Set-AzStorageShareStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragetablestoredaccesspolicy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
System.String
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstoragetablestoredaccesspolicy
#>

function Set-AzStorageTableStoredAccessPolicy {
[OutputType([System.String])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('N', 'Name')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Table Name
    ${Table},

    [Parameter(Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Policy Identifier
    ${Policy},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Permissions for a table.
    # Permissions can be any not-empty subset of "audqr".
    ${Permission},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Start Time
    ${StartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTime]]
    # Expirty Time
    ${ExpiryTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set StartTime as null for the policy
    ${NoStartTime},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Set ExpiryTime as null for the policy
    ${NoExpiryTime},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Set-AzStorageTableStoredAccessPolicy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/start-azstorageblobcopy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/start-azstorageblobcopy
#>

function Start-AzStorageBlobCopy {
[Alias('Start-CopyAzureStorageBlob')]
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob])]
[CmdletBinding(DefaultParameterSetName='ContainerName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ContainerName', Position=0, Mandatory)]
    [Parameter(ParameterSetName='ContainerInstance', Position=0, Mandatory)]
    [Alias('SourceBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${SrcBlob},

    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Alias('SourceContainer')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source Container name
    ${SrcContainer},

    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Parameter(ParameterSetName='BlobInstance', Mandatory)]
    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [Parameter(ParameterSetName='ShareName', Mandatory)]
    [Parameter(ParameterSetName='ShareInstance', Mandatory)]
    [Parameter(ParameterSetName='DirInstance', Mandatory)]
    [Parameter(ParameterSetName='FileInstance', Mandatory)]
    [Parameter(ParameterSetName='UriPipeline', Mandatory)]
    [Alias('DestinationContainer')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Destination container name
    ${DestContainer},

    [Parameter(ParameterSetName='ContainerName')]
    [Parameter(ParameterSetName='BlobInstance')]
    [Parameter(ParameterSetName='ContainerInstance')]
    [Parameter(ParameterSetName='ShareName')]
    [Parameter(ParameterSetName='ShareInstance')]
    [Parameter(ParameterSetName='DirInstance')]
    [Parameter(ParameterSetName='FileInstance')]
    [Parameter(ParameterSetName='UriPipeline', Mandatory)]
    [Alias('DestinationBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Destination blob name
    ${DestBlob},

    [Parameter(ParameterSetName='ContainerName')]
    [Parameter(ParameterSetName='BlobInstance')]
    [Parameter(ParameterSetName='BlobInstanceToBlobInstance')]
    [Parameter(ParameterSetName='ContainerInstance')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.PremiumPageBlobTier]
    # Premium Page Blob Tier
    ${PremiumPageBlobTier},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('SrcContext', 'SourceContext')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Source Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('DestinationContext')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Destination Storage context object
    ${DestContext},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to overwrite the existing blob or file
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='BlobInstance', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='BlobInstanceToBlobInstance', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('SrcICloudBlob', 'SrcCloudBlob', 'ICloudBlob', 'SourceICloudBlob', 'SourceCloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # CloudBlob Object
    ${CloudBlob},

    [Parameter(ParameterSetName='BlobInstanceToBlobInstance', Mandatory)]
    [Parameter(ParameterSetName='FileInstanceToBlobInstance', Mandatory)]
    [Alias('DestICloudBlob', 'DestinationCloudBlob', 'DestinationICloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # Destination CloudBlob object
    ${DestCloudBlob},

    [Parameter(ParameterSetName='ContainerInstance', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('SourceCloudBlobContainer')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # CloudBlobContainer Object
    ${CloudBlobContainer},

    [Parameter(ParameterSetName='ShareName', Mandatory)]
    [Alias('SourceShareName')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source share name
    ${SrcShareName},

    [Parameter(ParameterSetName='ShareName', Mandatory)]
    [Parameter(ParameterSetName='ShareInstance', Mandatory)]
    [Parameter(ParameterSetName='DirInstance', Mandatory)]
    [Alias('SourceFilePath')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source file path
    ${SrcFilePath},

    [Parameter(ParameterSetName='ShareInstance', Mandatory)]
    [Alias('SourceShare')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # Source share
    ${SrcShare},

    [Parameter(ParameterSetName='DirInstance', Mandatory)]
    [Alias('SourceDir')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileDirectory]
    # Source file directory
    ${SrcDir},

    [Parameter(ParameterSetName='FileInstance', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='FileInstanceToBlobInstance', Mandatory, ValueFromPipeline)]
    [Alias('SourceFile')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # Source file
    ${SrcFile},

    [Parameter(ParameterSetName='UriPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('SrcUri', 'SourceUri')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source blob uri
    ${AbsoluteUri}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ContainerName = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            BlobInstance = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            BlobInstanceToBlobInstance = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            ContainerInstance = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            ShareName = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            ShareInstance = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            DirInstance = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            FileInstance = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            FileInstanceToBlobInstance = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
            UriPipeline = 'Az.Storage.private\Start-AzStorageBlobCopy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/start-azstorageblobincrementalcopy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob
.Inputs
System.String
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/start-azstorageblobincrementalcopy
#>

function Start-AzStorageBlobIncrementalCopy {
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob])]
[CmdletBinding(DefaultParameterSetName='ContainerInstance', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ContainerInstance', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('SourceCloudBlobContainer')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # CloudBlobContainer Object
    ${CloudBlobContainer},

    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Alias('SourceBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${SrcBlob},

    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Alias('SourceBlobSnapshotTime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.DateTimeOffset]]
    # Source Blob Snapshot Time
    ${SrcBlobSnapshotTime},

    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [Parameter(ParameterSetName='BlobInstance', Mandatory)]
    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Parameter(ParameterSetName='UriPipeline', Mandatory)]
    [Alias('DestinationContainer')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Destination container name
    ${DestContainer},

    [Parameter(ParameterSetName='ContainerInstance')]
    [Parameter(ParameterSetName='BlobInstance')]
    [Parameter(ParameterSetName='ContainerName')]
    [Parameter(ParameterSetName='UriPipeline', Mandatory)]
    [Alias('DestinationBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Destination blob name
    ${DestBlob},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('SrcContext', 'SourceContext')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Source Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('DestinationContext')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Destination Storage context object
    ${DestContext},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='BlobInstance', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='BlobInstanceToBlobInstance', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('SrcICloudBlob', 'SrcCloudBlob', 'ICloudBlob', 'SourceICloudBlob', 'SourceCloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob]
    # CloudBlob Object
    ${CloudBlob},

    [Parameter(ParameterSetName='BlobInstanceToBlobInstance', Mandatory)]
    [Alias('DestICloudBlob', 'DestinationCloudBlob', 'DestinationICloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob]
    # Destination CloudBlob object
    ${DestCloudBlob},

    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Alias('SourceContainer')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source Container name
    ${SrcContainer},

    [Parameter(ParameterSetName='UriPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('SrcUri', 'SourceUri')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source blob uri
    ${AbsoluteUri}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ContainerInstance = 'Az.Storage.private\Start-AzStorageBlobIncrementalCopy!V1';
            BlobInstance = 'Az.Storage.private\Start-AzStorageBlobIncrementalCopy!V1';
            BlobInstanceToBlobInstance = 'Az.Storage.private\Start-AzStorageBlobIncrementalCopy!V1';
            ContainerName = 'Az.Storage.private\Start-AzStorageBlobIncrementalCopy!V1';
            UriPipeline = 'Az.Storage.private\Start-AzStorageBlobIncrementalCopy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/start-azstoragefilecopy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Outputs
System.Void
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/start-azstoragefilecopy
#>

function Start-AzStorageFileCopy {
[OutputType([System.Void])]
[CmdletBinding(DefaultParameterSetName='UriToFilePath', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source blob name
    ${SrcBlobName},

    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source container name
    ${SrcContainerName},

    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [Parameter(ParameterSetName='BlobInstanceFilePath', Mandatory)]
    [Parameter(ParameterSetName='ShareName', Mandatory)]
    [Parameter(ParameterSetName='ShareInstance', Mandatory)]
    [Parameter(ParameterSetName='FileInstanceToFilePath', Mandatory)]
    [Parameter(ParameterSetName='UriToFilePath', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Dest share name
    ${DestShareName},

    [Parameter(ParameterSetName='ContainerName', Mandatory)]
    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [Parameter(ParameterSetName='BlobInstanceFilePath', Mandatory)]
    [Parameter(ParameterSetName='ShareName', Mandatory)]
    [Parameter(ParameterSetName='ShareInstance', Mandatory)]
    [Parameter(ParameterSetName='FileInstanceToFilePath', Mandatory)]
    [Parameter(ParameterSetName='UriToFilePath', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Dest file path
    ${DestFilePath},

    [Parameter(ParameterSetName='ContainerName', ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='ShareName', ValueFromPipelineByPropertyName)]
    [Alias('SrcContext')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Source Azure Storage Context Object
    ${Context},

    [Parameter(ParameterSetName='ContainerName')]
    [Parameter(ParameterSetName='ContainerInstance')]
    [Parameter(ParameterSetName='BlobInstanceFilePath')]
    [Parameter(ParameterSetName='ShareName')]
    [Parameter(ParameterSetName='ShareInstance')]
    [Parameter(ParameterSetName='FileInstanceToFilePath')]
    [Parameter(ParameterSetName='UriToFilePath')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Destination Storage context object
    ${DestContext},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to overwrite the existing file.
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='ContainerInstance', Mandatory)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # Source container instance
    ${SrcContainer},

    [Parameter(ParameterSetName='BlobInstanceFilePath', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Parameter(ParameterSetName='BlobInstanceFileInstance', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('ICloudBlob')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # Source blob instance
    ${SrcBlob},

    [Parameter(ParameterSetName='BlobInstanceFileInstance', Mandatory)]
    [Parameter(ParameterSetName='FileInstanceToFileInstance', Mandatory)]
    [Parameter(ParameterSetName='UriToFileInstance', Mandatory)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # Dest file instance
    ${DestFile},

    [Parameter(ParameterSetName='ShareName', Mandatory)]
    [Parameter(ParameterSetName='ShareInstance', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source file path
    ${SrcFilePath},

    [Parameter(ParameterSetName='ShareName', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source share name
    ${SrcShareName},

    [Parameter(ParameterSetName='ShareInstance', Mandatory)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFileShare]
    # Source share instance
    ${SrcShare},

    [Parameter(ParameterSetName='FileInstanceToFilePath', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='FileInstanceToFileInstance', Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # Source file instance
    ${SrcFile},

    [Parameter(ParameterSetName='UriToFilePath', Mandatory)]
    [Parameter(ParameterSetName='UriToFileInstance', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Source Uri
    ${AbsoluteUri}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ContainerName = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            ContainerInstance = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            BlobInstanceFilePath = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            BlobInstanceFileInstance = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            ShareName = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            ShareInstance = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            FileInstanceToFilePath = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            FileInstanceToFileInstance = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            UriToFilePath = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
            UriToFileInstance = 'Az.Storage.private\Start-AzStorageFileCopy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/stop-azstorageblobcopy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlob
.Inputs
Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
.Outputs
Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/stop-azstorageblobcopy
#>

function Stop-AzStorageBlobCopy {
[Alias('Stop-CopyAzureStorageBlob')]
[OutputType([Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob])]
[CmdletBinding(DefaultParameterSetName='NamePipeline', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='NamePipeline', Position=0, Mandatory)]
    [Parameter(ParameterSetName='ContainerPipeline', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Blob name
    ${Blob},

    [Parameter(ParameterSetName='NamePipeline', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Container name
    ${Container},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Force to stop the current copy task on the specified blob
    ${Force},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Copy Id
    ${CopyId},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='BlobPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Alias('ICloudBlob')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlob]
    # CloudBlob Object
    ${CloudBlob},

    [Parameter(ParameterSetName='ContainerPipeline', Mandatory, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer]
    # CloudBlobContainer Object
    ${CloudBlobContainer}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            NamePipeline = 'Az.Storage.private\Stop-AzStorageBlobCopy!V1';
            BlobPipeline = 'Az.Storage.private\Stop-AzStorageBlobCopy!V1';
            ContainerPipeline = 'Az.Storage.private\Stop-AzStorageBlobCopy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/stop-azstoragefilecopy
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Inputs
Microsoft.WindowsAzure.Storage.File.CloudFile
.Outputs
System.Void
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/stop-azstoragefilecopy
#>

function Stop-AzStorageFileCopy {
[OutputType([System.Void])]
[CmdletBinding(DefaultParameterSetName='ShareName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='ShareName', Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Target share name
    ${ShareName},

    [Parameter(ParameterSetName='ShareName', Position=1, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Target file path
    ${FilePath},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Copy Id
    ${CopyId},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Whether to stop the copy when copy id is different with the one input.
    ${Force},

    [Parameter(ParameterSetName='ShareName', ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The server time out for each request in seconds.
    ${ServerTimeoutPerRequest},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The client side maximum execution time for each request in seconds.
    ${ClientTimeoutPerRequest},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter()]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Nullable[System.Int32]]
    # The total amount of concurrent async tasks.
    # The default value is 10.
    ${ConcurrentTaskCount},

    [Parameter(ParameterSetName='File', Position=0, Mandatory, ValueFromPipeline)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Storage.File.CloudFile]
    # Target file instance
    ${File}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            ShareName = 'Az.Storage.private\Stop-AzStorageFileCopy!V1';
            File = 'Az.Storage.private\Stop-AzStorageFileCopy!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis
Checks that the storage account name is valid and is not already in use.
.Description
Checks that the storage account name is valid and is not already in use.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/test-azstorageaccountnameavailability
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountCheckNameAvailabilityParameters
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity
.Outputs
Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.ICheckNameAvailabilityResult
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IStorageIdentity>: Identity Parameter
  [AccountName <String>]: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
  [BlobServicesName <String>]: The name of the blob Service within the specified storage account. Blob Service Name must be 'default'
  [ContainerName <String>]: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
  [FileServicesName <String>]: The name of the file Service within the specified storage account. File Service Name must be "default"
  [Id <String>]: Resource identity path
  [ImmutabilityPolicyName <String>]: The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'
  [Location <String>]: The location of the Azure Storage resource.
  [ManagementPolicyName <ManagementPolicyName?>]: The name of the Storage Account Management Policy. It should always be 'default'
  [ResourceGroupName <String>]: The name of the resource group within the user's subscription. The name is case insensitive.
  [ShareName <String>]: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.
  [SubscriptionId <String>]: The ID of the target subscription.
 
PARAMETER <IStorageAccountCheckNameAvailabilityParameters>: The parameters used to check the availability of the storage account name.
  Name <String>: The storage account name.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/test-azstorageaccountnameavailability
#>

function Test-AzStorageAccountNameAvailability {
[Alias('Get-AzStorageAccountNameAvailability')]
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.ICheckNameAvailabilityResult])]
[CmdletBinding(DefaultParameterSetName='CheckExpanded1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(ParameterSetName='Check1')]
    [Parameter(ParameterSetName='CheckExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String]
    # Gets subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter(ParameterSetName='CheckViaIdentity1', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CheckViaIdentityExpanded1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Check1', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CheckViaIdentity1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.Api20171001.IStorageAccountCheckNameAvailabilityParameters]
    # The parameters used to check the availability of the storage account name.
    # To construct, see NOTES section for PARAMETER properties and create a hash table.
    ${Parameter},

    [Parameter(ParameterSetName='CheckExpanded1', Mandatory)]
    [Parameter(ParameterSetName='CheckViaIdentityExpanded1', Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # The storage account name.
    ${Name},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Check1 = 'Az.Storage.private\Test-AzStorageAccountNameAvailability_Check1';
            CheckExpanded1 = 'Az.Storage.private\Test-AzStorageAccountNameAvailability_CheckExpanded1';
            CheckViaIdentity1 = 'Az.Storage.private\Test-AzStorageAccountNameAvailability_CheckViaIdentity1';
            CheckViaIdentityExpanded1 = 'Az.Storage.private\Test-AzStorageAccountNameAvailability_CheckViaIdentityExpanded1';
        }
        if (('Check1', 'CheckExpanded1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# 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.
# ----------------------------------------------------------------------------------
<#
.Synopsis

.Description

.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.storage/update-azstorageserviceproperty
.Inputs
Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext
.Outputs
Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSSeriviceProperties
.Link
https://docs.microsoft.com/en-us/powershell/module/az.storage/update-azstorageserviceproperty
#>

function Update-AzStorageServiceProperty {
[OutputType([Microsoft.WindowsAzure.Commands.Storage.Model.ResourceModel.PSSeriviceProperties])]
[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Storage.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Position=0, Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.WindowsAzure.Commands.Storage.Common.StorageServiceType]
    # Azure storage service type(Blob, Table, Queue).
    ${ServiceType},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.String]
    # Default Service Version to Set
    ${DefaultServiceVersion},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Display ServiceProperties
    ${PassThru},

    [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.IStorageContext]
    # Azure Storage Context Object
    ${Context},

    [Parameter()]
    [Alias('AzureRmContext', 'AzureCredential')]
    [Microsoft.Azure.PowerShell.Cmdlets.Storage.Category('Body')]
    [Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            __AllParameterSets = 'Az.Storage.private\Update-AzStorageServiceProperty!V1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# SIG # Begin signature block
# MIIjhgYJKoZIhvcNAQcCoIIjdzCCI3MCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDYS/qHTvK+a/TB
# dhdyZy4KJKaY+ucGalTpVmURFFZok6CCDYEwggX/MIID56ADAgECAhMzAAABUZ6N
# j0Bxow5BAAAAAAFRMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCVWsaGaUcdNB7xVcNmdfZiVBhYFGcn8KMqxgNIvOZWNH9JYQLuhHhmJ5RWISy1
# oey3zTuxqLbkHAdmbeU8NFMo49Pv71MgIS9IG/EtqwOH7upan+lIq6NOcw5fO6Os
# +12R0Q28MzGn+3y7F2mKDnopVu0sEufy453gxz16M8bAw4+QXuv7+fR9WzRJ2CpU
# 62wQKYiFQMfew6Vh5fuPoXloN3k6+Qlz7zgcT4YRmxzx7jMVpP/uvK6sZcBxQ3Wg
# B/WkyXHgxaY19IAzLq2QiPiX2YryiR5EsYBq35BP7U15DlZtpSs2wIYTkkDBxhPJ
# IDJgowZu5GyhHdqrst3OjkSRAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUV4Iarkq57esagu6FUBb270Zijc8w
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU0MTM1MB8GA1UdIwQYMBaAFEhu
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAWg+A
# rS4Anq7KrogslIQnoMHSXUPr/RqOIhJX+32ObuY3MFvdlRElbSsSJxrRy/OCCZdS
# se+f2AqQ+F/2aYwBDmUQbeMB8n0pYLZnOPifqe78RBH2fVZsvXxyfizbHubWWoUf
# NW/FJlZlLXwJmF3BoL8E2p09K3hagwz/otcKtQ1+Q4+DaOYXWleqJrJUsnHs9UiL
# crVF0leL/Q1V5bshob2OTlZq0qzSdrMDLWdhyrUOxnZ+ojZ7UdTY4VnCuogbZ9Zs
# 9syJbg7ZUS9SVgYkowRsWv5jV4lbqTD+tG4FzhOwcRQwdb6A8zp2Nnd+s7VdCuYF
# sGgI41ucD8oxVfcAMjF9YX5N2s4mltkqnUe3/htVrnxKKDAwSYliaux2L7gKw+bD
# 1kEZ/5ozLRnJ3jjDkomTrPctokY/KaZ1qub0NUnmOKH+3xUK/plWJK8BOQYuU7gK
# YH7Yy9WSKNlP7pKj6i417+3Na/frInjnBkKRCJ/eYTvBH+s5guezpfQWtU4bNo/j
# 8Qw2vpTQ9w7flhH78Rmwd319+YTmhv7TcxDbWlyteaj4RK2wk3pY1oSz2JPE5PNu
# Nmd9Gmf6oePZgy7Ii9JLLq8SnULV7b+IP0UXRY9q+GdRjM2AEX6msZvvPCIoG0aY
# HQu9wZsKEK2jqvWi8/xdeeeSI9FN6K1w4oVQM4Mwggd6MIIFYqADAgECAgphDpDS
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVWzCCFVcCAQEwgZUwfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAVGejY9AcaMOQQAAAAABUTAN
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgdhUUH9ZS
# rMgObZKFmEnqZHeHTMpuK3MDtQgWJ8JO6n4wQgYKKwYBBAGCNwIBDDE0MDKgFIAS
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
# BgkqhkiG9w0BAQEFAASCAQBrm9uCipXN9OfZbGWoBlBaTbYPGrF2oI3cT3JsTTht
# s5y1XcTuf4FN55Z+++SNGmt28x5Nl57FinXEmbUIzL0ssWrKavRZgGKdUGiUlHdn
# N2IArD4775ih+LynRbBbWkmuGe+SqjvnZv0aFv1EgHPogKf1JhEqtoyb6F1K/RZ3
# eB2T9/i+LmNmU/kZMidE7zjx5aoZ5N4NScSg6Ws0EKHq6Wc8m/GR+NZEkE1xO8C8
# fwEs+Lscy9oWSO3YO8PDdWhOg7AprWtn5rmUOSLjETKfJkdCWgAWVa8g18gzrAnw
# jKB6iYps0/GokXeVmRfyMOocS4h7XyRZB9Fs5oKkk4RqoYIS5TCCEuEGCisGAQQB
# gjcDAwExghLRMIISzQYJKoZIhvcNAQcCoIISvjCCEroCAQMxDzANBglghkgBZQME
# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB
# MDEwDQYJYIZIAWUDBAIBBQAEICWcid7/Qdzxo/XWLBGjX2TnTiOQwvA3BprZtG0+
# azcwAgZd+8GVFaQYEzIwMTkxMjIwMDk0NTMyLjA2OFowBIACAfSggdCkgc0wgcox
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1p
# Y3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
# RVNOOkVBQ0UtRTMxNi1DOTFEMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
# cCBTZXJ2aWNloIIOPDCCBPEwggPZoAMCAQICEzMAAAEasbJffMcKzSoAAAAAARow
# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN
# MTkxMTEzMjE0MDM3WhcNMjEwMjExMjE0MDM3WjCByjELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg
# T3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RUFDRS1FMzE2LUM5
# MUQxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G
# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCe+XQQXVRGLJdYt6w4QTWdwxO25hQJ
# 8ehmXXqxUz3i2I452ANYdKKPo8MQ4ip7uHmkw+RazhD27O2ic+7iTfBHCVN0v+VM
# VpabZkQ4J8TJ/4U+BCq4CesmmuDewT/V187QrqweEJ4BAcAyg3/lEOGMwFglsInx
# 0MP5aa5N8C4hUzu0L3UB5DoY3LK6FD1/isQ21URq1eldueW9mh4xKL5Qz8zlfkPb
# iiT6vjIm4dN6mmQmksObY9b5NeCOzXMwAQeuvE165Fx6g9ecEgva6GbUdw4BexG9
# nnb9W2PAxVIH6YhstftFy7fWPwrYq+4klcJbSFyrPC6f73qTziY5gUdxAgMBAAGj
# ggEbMIIBFzAdBgNVHQ4EFgQU5n8XaUHs2JGW6xRHBEgcnrNUMWowHwYDVR0jBBgw
# FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
# L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB
# XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx
# MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN
# BgkqhkiG9w0BAQsFAAOCAQEAp4Oak3ttcA0k0gpXprTSGGkvbDdRH3svqsyH9MUj
# 1iZOYtMzRLfQ7hK/6ZlD7L+LGz1Suu1uC1oUtHARJex0DMXSX9sVHSXqcR6G3exu
# pO/9hSlU1awLnN4HIb3Yx84SlL5zZ+OaKg6/oRKj+Irq0krf7PQmJttXno8khABq
# NNjZcFFMmSDXtX4ojy/mxb6D+sECuid1Lfo6t0khYlvVyiGUKyBMRIizlHlRUBDS
# /D2gnlrtDAPH7mScixMQ2iOmy22jduGeFC+P6E6n3HE6jnLc6hEzjoEaCLU0f1nv
# j5Nmope7YybEgAq0HdGrFkVqrznkv8191a6BHf7Lc2FAqjCCBnEwggRZoAMCAQIC
# CmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRp
# ZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIx
# NDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3
# DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF
# ++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRD
# DNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSx
# z5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1
# rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16Hgc
# sOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB
# 4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqF
# bVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
# EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYD
# VR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwv
# cHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEB
# BE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j
# ZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCB
# kjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jv
# c29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQe
# MiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQA
# LiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUx
# vs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GAS
# inbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1
# L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWO
# M7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4
# pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45
# V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x
# 4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEe
# gPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKn
# QqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp
# 3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvT
# X4/edIhJEqGCAs4wggI3AgEBMIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBP
# cGVyYXRpb25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpFQUNFLUUzMTYtQzkx
# RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcG
# BSsOAwIaAxUAdrK0GT40CGTN9nCnAN0izL6p1MmggYMwgYCkfjB8MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
# VGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOGm6NUwIhgPMjAx
# OTEyMjAxNDI5NDFaGA8yMDE5MTIyMTE0Mjk0MVowdzA9BgorBgEEAYRZCgQBMS8w
# LTAKAgUA4abo1QIBADAKAgEAAgIYyAIB/zAHAgEAAgIRyTAKAgUA4ag6VQIBADA2
# BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIB
# AAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAA183BPAkRfTOZ3FwYqxEI70TCc3lmI9
# jD2UIyrrCv6cK+BigGcaEqY7hiwL2sT89Oc8rkto9hWGKuJqnYCUT4a75ZsqKwAf
# fZEvm1FAV+HBYjaq/CCwnQek9JKNvlFRvCAGCvxqU1hCYfsiFw7nVPTw/YRfIX0y
# ZqvA09RDC8lxMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
# dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB
# IDIwMTACEzMAAAEasbJffMcKzSoAAAAAARowDQYJYIZIAWUDBAIBBQCgggFKMBoG
# CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgF/d1uYY1
# B5jdLG4VNZ01W4Qe14NeICWzkU2gdKj9SVkwgfoGCyqGSIb3DQEJEAIvMYHqMIHn
# MIHkMIG9BCCxaKLcwjdLReD2NPfyLq1PTogPxeOD3YG88YiN3Utk4TCBmDCBgKR+
# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT
# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABGrGyX3zHCs0qAAAA
# AAEaMCIEII4eoOYSAJk4FbndgLB4r/C4IerCXgMoS06bvvRV5m2aMA0GCSqGSIb3
# DQEBCwUABIIBAHxiScvSK2oI7d44iFBj9VK6XZDXhNNMORtef1J/x6WxIZ1ga1m7
# oZ8W1TdXSr+oLyFlUGcy6ZB/to+gmdXOP2yqUkhaMAEqWG01f04WjyE8a/X1g127
# 2UJQ7F+o2yeF0cMFe9hg5PR+n1tfEansd9naH3VTnX8F7UMVeWkIltmabFdk21UA
# zfzRIdcpM2ZA2rzHMY/D57+eqE6ZLB07XZCQF68/WFtJpU6MCt0yurUNcQO9PSC2
# zql9w6ASuMzJ+Zj+eLtt9+LdrFxnBv8KwMnoHP6qH1TpqQEjU8n29JNjk7pOSpzI
# bDrzEsH+QM1EZCX8MD+eLIXMXk0nxkjVxS0=
# SIG # End signature block