diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/AzureBackupCmdletHelpMessage.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/AzureBackupCmdletHelpMessage.cs
index 31fa28afd861..02d91e9df623 100644
--- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/AzureBackupCmdletHelpMessage.cs
+++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/AzureBackupCmdletHelpMessage.cs
@@ -31,5 +31,6 @@ internal static class AzureBackupCmdletHelpMessage
public const string ProtectionStatus = "Protection Status of the azure backup item.";
public const string AzureBackUpItem = "Azure BackUp Item.";
public const string RecoveryPointId = "Recovery Point Id.";
+ public const string StorageType = "The vault back-end storage type.";
}
}
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/AcsNamespace.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/AcsNamespace.cs
similarity index 100%
rename from src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/AcsNamespace.cs
rename to src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/AcsNamespace.cs
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/CertUtils.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/CertUtils.cs
similarity index 100%
rename from src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/CertUtils.cs
rename to src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/CertUtils.cs
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/Constants.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/Constants.cs
similarity index 100%
rename from src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/Constants.cs
rename to src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/Constants.cs
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/GetAzureBackupVaultCredentials.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/GetAzureBackupVaultCredentials.cs
similarity index 99%
rename from src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/GetAzureBackupVaultCredentials.cs
rename to src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/GetAzureBackupVaultCredentials.cs
index 70f4908cec92..4cd996cc30b7 100644
--- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/GetAzureBackupVaultCredentials.cs
+++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/GetAzureBackupVaultCredentials.cs
@@ -131,7 +131,7 @@ private AcsNamespace UploadCert(X509Certificate2 cert, string subscriptionId, st
string response = string.Empty;
VaultCredUploadCertResponse vaultCredUploadCertResponse =
- AzureBackupClient.VaultCredentials.UploadCertificateAsync(
+ AzureBackupClient.Vault.UploadCertificateAsync(
"IdMgmtInternalCert",
vaultCredUploadCertRequest,
GetCustomRequestHeaders(),
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/VaultCredentials.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/VaultCredentials.cs
similarity index 100%
rename from src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/VaultCredentials/VaultCredentials.cs
rename to src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/GetAzureBackupVaultCredentials/VaultCredentials.cs
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/SetAzureBackupVaultStorageType.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/SetAzureBackupVaultStorageType.cs
new file mode 100644
index 000000000000..25d3eb0ecb15
--- /dev/null
+++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Cmdlets/Vault/SetAzureBackupVaultStorageType.cs
@@ -0,0 +1,55 @@
+// ----------------------------------------------------------------------------------
+//
+// 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.
+// ----------------------------------------------------------------------------------
+
+using Microsoft.Azure.Management.BackupServices.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Management.Automation;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Microsoft.Azure.Commands.AzureBackup.Cmdlets
+{
+ [Cmdlet(VerbsCommon.Set, "AzureBackupVaultStorageType")]
+ public class SetAzureBackupVaultStorageType : AzureBackupVaultCmdletBase
+ {
+ [Parameter(Position = 2, Mandatory = true, HelpMessage = AzureBackupCmdletHelpMessage.StorageType)]
+ [ValidateNotNullOrEmpty]
+ public AzureBackupVaultStorageType Type { get; set; }
+
+ public override void ExecuteCmdlet()
+ {
+ base.ExecuteCmdlet();
+
+ ExecutionBlock(() =>
+ {
+ if (Type == 0)
+ {
+ throw new ArgumentException("Please provide a vaild storage type.");
+ }
+
+ UpdateVaultStorageTypeRequest updateVaultStorageTypeRequest = new UpdateVaultStorageTypeRequest()
+ {
+ StorageTypeProperties = new StorageTypeProperties()
+ {
+ StorageModelType = Type.ToString(),
+ },
+ };
+
+ AzureBackupClient.Vault.UpdateStorageTypeAsync(updateVaultStorageTypeRequest, GetCustomRequestHeaders(), CmdletCancellationToken);
+ });
+ }
+ }
+}
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj
index 27938f9f65a5..361f87efb646 100644
--- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj
+++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Commands.AzureBackup.csproj
@@ -137,11 +137,12 @@
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs
index 718b5d43eef0..54eeb2133599 100644
--- a/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs
+++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup/Models/AzureBackupEnums.cs
@@ -23,14 +23,12 @@ namespace Microsoft.Azure.Commands.AzureBackup.Cmdlets
{
public enum AzureBackupContainerTypeInput
{
- All,
- AzureVirtualMachine,
+ AzureVirtualMachine = 1,
}
public enum AzureBackupContainerStatusInput
{
- All,
- Registering,
+ Registering = 1,
Registered,
}
@@ -88,4 +86,10 @@ public enum AzureBackupOperationErrorCode
BMSUserErrorObjectLocked = 390026,
DiscoveryInProgress = 410002,
}
+
+ public enum AzureBackupVaultStorageType
+ {
+ GeoRedundant = 1,
+ LocallyRedundant,
+ }
}