Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
c732a01
Regenerate Az.StorageMover for API version 2025-12-01
Apr 22, 2026
4ca57cc
Hide Update-AzStorageMoverConnection cmdlet
Apr 23, 2026
e2c6f13
Add Connection cmdlet tests with recordings
Apr 23, 2026
831d3b0
Clean up psd1 and help files: remove cosmetic autorest noise, add onl…
Apr 23, 2026
cd892e4
Add S3WithHmac endpoint custom cmdlets and tests
Apr 24, 2026
abfd337
Add S3WithHmac endpoint docs and examples
Apr 24, 2026
a7629b6
Add generate-info.json for StorageMover
Apr 27, 2026
02f0619
Sync generated directory with Connection and S3WithHmac exports, cust…
Apr 27, 2026
a663154
comment resolution
Apr 27, 2026
7b6a9ea
Address PR review: fix module-version, .sln path, literal \n in docs,…
Apr 27, 2026
7d8f55b
Apply suggestion from @Copilot
DrNykterstein10 Apr 27, 2026
6d3ada7
Fix PR review: restore module GUID, null JobDefinitionName on setup f…
Apr 27, 2026
f931f96
Revert generated/StorageMover/ to origin/main
Apr 27, 2026
ff85347
Restore original Module Guid in Az.StorageMover.md docs
Apr 27, 2026
0dff865
Fix Microsoft.AwsConnector -> Microsoft.AWSConnector casing in exampl…
Apr 27, 2026
6a76948
Revert job definition creation to original (no try/catch)
Apr 27, 2026
7c01215
Update generate_Id to trigger autorest regeneration, fix duplicate Sc…
Apr 28, 2026
3614f9d
Add help files for S3WithHmac endpoint cmdlets
Apr 28, 2026
d7e9dc4
Fix Connection test property paths: use flattened properties
Apr 28, 2026
42baa57
Remove Description assertion and revert PrivateLinkServiceId to Prope…
Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@
[assembly: System.Reflection.AssemblyCopyrightAttribute("Copyright © Microsoft")]
[assembly: System.Reflection.AssemblyProductAttribute("Microsoft Azure PowerShell")]
[assembly: System.Reflection.AssemblyTitleAttribute("Microsoft Azure PowerShell - StorageMover")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.6.0")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.6.0")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.0.0")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.0.0")]
Comment thread
DrNykterstein10 marked this conversation as resolved.
[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
[assembly: System.CLSCompliantAttribute(false)]

11 changes: 8 additions & 3 deletions src/StorageMover/StorageMover.Autorest/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ For information on how to develop for `Az.StorageMover`, see [how-to.md](how-to.

``` yaml
# Please specify the commit id that includes your features to make sure generated codes stable.
commit: 17891d99ece54475e43fb8665727d044e8fb2f54
commit: 78c88e6f990bff6c87db8309cd804941538bffdd
require:
# readme.azure.noprofile.md is the common configuration file
- $(this-folder)/../../readme.azure.noprofile.md
input-file:
- $(repo)/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2025-07-01/storagemover.json
- $(repo)/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2025-12-01/storagemover.json

# For new RP, the version is 0.1.0
module-version: 1.6.0
module-version: 2.0.0
# Normally, title is the service name
title: StorageMover
subject-prefix: $(service-name)
Expand Down Expand Up @@ -115,6 +115,11 @@ directive:
verb: Update
subject: Endpoint
hide: true
# Hide Update-AzStorageMoverConnection (no PATCH operation in API; New- already covers PUT)
- where:
verb: Update
subject: Connection
hide: true
- where:
model-name: Agent
property-name: NumberOfCore
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"resourceType": "storageMovers/agents",
"apiVersion": "2025-07-01",
"apiVersion": "2025-12-01",
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
{
"resourceType": "storageMovers/connections",
"apiVersion": "2025-12-01",
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover"
},
"commands": [
{
"name": "Get-AzStorageMoverConnection",
"description": "Gets a Connection resource.",
"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/connections/{connectionName}",
"help": {
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover/get-azstoragemoverconnection"
},
"parameterSets": [
{
"parameters": [
"-Name <String>",
"-ResourceGroupName <String>",
"-StorageMoverName <String>",
"[-SubscriptionId <String[]>]"
]
}
]
},
"examples": [
{
"description": "Gets a Connection resource.",
"parameters": [
{
"name": "-Name",
"value": "[Path.connectionName]"
},
{
"name": "-ResourceGroupName",
"value": "[Path.resourceGroupName]"
},
{
"name": "-StorageMoverName",
"value": "[Path.storageMoverName]"
},
{
"name": "-SubscriptionId",
"value": "[Path.subscriptionId]"
}
]
}
]
},
{
"name": "Remove-AzStorageMoverConnection",
"description": "Deletes a Connection resource.\\nReturns 409 if there are active jobs using this connection.",
"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/connections/{connectionName}",
"help": {
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover/remove-azstoragemoverconnection"
},
"parameterSets": [
{
"parameters": [
"-Name <String>",
"-ResourceGroupName <String>",
"-StorageMoverName <String>",
"[-SubscriptionId <String>]"
]
}
]
},
"examples": [
{
"description": "Deletes a Connection resource.\\nReturns 409 if there are active jobs using this connection.",
"parameters": [
{
"name": "-Name",
"value": "[Path.connectionName]"
},
{
"name": "-ResourceGroupName",
"value": "[Path.resourceGroupName]"
},
{
"name": "-StorageMoverName",
"value": "[Path.storageMoverName]"
},
{
"name": "-SubscriptionId",
"value": "[Path.subscriptionId]"
}
]
}
]
}
]
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"resourceType": "storageMovers/endpoints",
"apiVersion": "2025-07-01",
"apiVersion": "2025-12-01",
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"resourceType": "storageMovers/projects/jobDefinitions/jobRuns",
"apiVersion": "2025-07-01",
"apiVersion": "2025-12-01",
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"resourceType": "storageMovers/projects/jobDefinitions",
"apiVersion": "2025-07-01",
"apiVersion": "2025-12-01",
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"resourceType": "storageMovers/projects",
"apiVersion": "2025-07-01",
"apiVersion": "2025-12-01",
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"resourceType": "storageMovers",
"apiVersion": "2025-07-01",
"apiVersion": "2025-12-01",
"learnMore": {
"url": "https://learn.microsoft.com/powershell/module/az.storagemover"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@

# ----------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
# is regenerated.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Creates an S3 with HMAC endpoint resource, which represents a data transfer source or destination.
.Description
Creates an S3 with HMAC endpoint resource, which represents a data transfer source or destination.
.Example
New-AzStorageMoverS3WithHmacEndpoint -Name $endpointName -ResourceGroupName $rgname -StorageMoverName $storagemovername -SourceUri "https://s3.example.com/bucket" -SourceType "MINIO" -CredentialsAccessKeyUri "https://examples-azureKeyVault.vault.azure.net/secrets/access-key" -CredentialsSecretKeyUri "https://examples-azureKeyVault.vault.azure.net/secrets/secret-key" -Description "Description"

.Inputs
Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Models.IEndpoint
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Models.IStorageMoverIdentity
.Outputs
Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Models.IEndpoint
.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.

.Link
https://learn.microsoft.com/powershell/module/az.storagemover/new-azstoragemovers3withhmacendpoint
#>
function New-AzStorageMoverS3WithHmacEndpoint {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Models.IEndpoint])]
[CmdletBinding(DefaultParameterSetName = 'CreateExpanded', PositionalBinding =$false, SupportsShouldProcess, ConfirmImpact = 'Medium')]
param(
[Parameter(ParameterSetName='CreateExpanded', Mandatory)]
[Alias('EndpointName')]
[Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Category('Path')]
[System.String]
# The name of the endpoint resource.
${Name},

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

[Parameter(ParameterSetName='CreateExpanded', Mandatory)]
[Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Category('Path')]
[System.String]
# The name of the Storage Mover resource.
${StorageMoverName},

[Parameter(ParameterSetName = 'CreateExpanded', Mandatory, HelpMessage="The URI which points to the S3 compatible source.")]
[string]
${SourceUri},

[Parameter(ParameterSetName = 'CreateExpanded', Mandatory, HelpMessage="The source type of the S3 compatible endpoint. Valid values: MINIO, IBM, GCS, ALIBABA, DELL_EMC, OTHER.")]
[string]
${SourceType},

[Parameter(ParameterSetName = 'CreateExpanded')]
[Parameter(HelpMessage="The Azure Key Vault secret URI which stores the access key.")]
[string]
${CredentialsAccessKeyUri},

[Parameter(ParameterSetName = 'CreateExpanded')]
[Parameter(HelpMessage="The Azure Key Vault secret URI which stores the secret key.")]
[string]
${CredentialsSecretKeyUri},

[Parameter(ParameterSetName = 'CreateExpanded')]
[Parameter(HelpMessage="The description for other source type. Required when SourceType is OTHER.")]
[string]
${OtherSourceTypeDescription},

[Parameter(ParameterSetName = 'CreateExpanded')]
[Parameter(HelpMessage="A description for the endpoint.")]
[string]
${Description},

[Parameter(ParameterSetName='CreateExpanded')]
[Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Category('Path')]
[Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
[System.String]
# The ID of the target subscription.
${SubscriptionId},

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

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

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

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

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

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

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

process {
$Properties = [Microsoft.Azure.PowerShell.Cmdlets.StorageMover.Models.S3WithHmacEndpointProperties]::New()

if ($PSBoundParameters.ContainsKey('SourceUri')) {
$Properties.SourceUri = $SourceUri
$null = $PSBoundParameters.Remove("SourceUri")
}
if ($PSBoundParameters.ContainsKey('SourceType')) {
$Properties.SourceType = $SourceType
$null = $PSBoundParameters.Remove("SourceType")
}
if ($PSBoundParameters.ContainsKey('CredentialsAccessKeyUri')) {
$Properties.CredentialsAccessKeyUri = $CredentialsAccessKeyUri
$null = $PSBoundParameters.Remove("CredentialsAccessKeyUri")
}
if ($PSBoundParameters.ContainsKey('CredentialsSecretKeyUri')) {
$Properties.CredentialsSecretKeyUri = $CredentialsSecretKeyUri
$null = $PSBoundParameters.Remove("CredentialsSecretKeyUri")
}
if ($PSBoundParameters.ContainsKey('OtherSourceTypeDescription')) {
$Properties.OtherSourceTypeDescription = $OtherSourceTypeDescription
$null = $PSBoundParameters.Remove("OtherSourceTypeDescription")
}
if ($PSBoundParameters.ContainsKey('Description')) {
$Properties.Description = $Description
$null = $PSBoundParameters.Remove("Description")
}

$PSBoundParameters.Add("Property", $Properties)
$Identity = "SystemAssigned"
$PSBoundParameters.Add("IdentityType", $Identity)

Az.StorageMover.internal\New-AzStorageMoverEndpoint @PSBoundParameters
}
}
Loading
Loading