Skip to content

Commit ac35cd6

Browse files
unknownunknown
authored andcommitted
Change New- cmdlets related with OSProfile to Add- cmdlets
New-AzureAdditionalUnattendContent to Add-AzureVMAdditionalUnattendContentConfig New-AzureSshPublicKey to Add-AzureVMSshPublicKeyConfig New-AzureVaultSecretGroup to Add-AzureVMSecretConfig
1 parent fc73486 commit ac35cd6

16 files changed

+374
-532
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineProfileTests.ps1

Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -75,32 +75,44 @@ function Test-VirtualMachineProfile
7575
$vhdContainer = "https://$stoname.blob.core.windows.net/test";
7676
$img = 'a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201503.01-en.us-127GB.vhd';
7777

78-
$referenceUri = "/subscriptions/05cacd0c-6f9b-492e-b673-d8be41a7644f/resourceGroups/RgTest1/providers/Microsoft.KeyVault/vaults/TestVault123";
79-
$certStore = "My";
80-
$certUrl = "https://testvault123.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bdd703272";
81-
$vaultCert = New-AzureVaultCertificate -CertificateStore $certStore -CertificateUrl $certUrl;
82-
$vaultSG = New-AzureVaultSecretGroup -ReferenceUri $referenceUri -VaultCertificates $vaultCert;
83-
84-
$aucSetting = "AutoLogon";
85-
$aucContent = "<UserAccounts><AdministratorPassword><Value>p@ssw0rd</Value><PlainText>true</PlainText></AdministratorPassword></UserAccounts>";
86-
$auc1 = New-AzureAdditionalUnattendContent -Content $aucContent -SettingName $aucSetting;
87-
$auc2 = New-AzureAdditionalUnattendContent -Content $aucContent -SettingName $aucSetting;
88-
8978
$winRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion";
9079
$timeZone = "Pacific Standard Time";
9180
$custom = "echo 'Hello World'";
9281
$encodedCustom = "ZWNobyAnSGVsbG8gV29ybGQn";
9382

94-
$p = Set-AzureVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred -CustomData $custom -Secrets $vaultSG -WinRMHttp -WinRMHttps -WinRMCertUrl $winRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $timeZone -AdditionalUnattendContents $auc1,$auc2;
83+
$p = Set-AzureVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred -CustomData $custom -WinRMHttp -WinRMHttps -WinRMCertUrl $winRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $timeZone;
9584
$p = Set-AzureVMSourceImage -VM $p -Name $img;
96-
85+
86+
$referenceUri = "/subscriptions/" + (Get-AzureSubscription -Current).SubscriptionId + "/resourceGroups/RgTest1/providers/Microsoft.KeyVault/vaults/TestVault123";
87+
$certStore = "My";
88+
$certUrl = "https://testvault123.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bdd703272";
89+
$p = Add-AzureVMSecretConfig -VM $p -ReferenceUri $referenceUri -CertificateStore $certStore -CertificateUrl $certUrl;
90+
91+
$referenceUri2 = "/subscriptions/" + (Get-AzureSubscription -Current).SubscriptionId + "/resourceGroups/RgTest1/providers/Microsoft.KeyVault/vaults/TestVault456";
92+
$p = Add-AzureVMSecretConfig -VM $p -ReferenceUri $referenceUri2 -CertificateStore $certStore -CertificateUrl $certUrl;
93+
94+
$certStore2 = "My2";
95+
$certUrl2 = "https://testvault123.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa";
96+
$p = Add-AzureVMSecretConfig -VM $p -ReferenceUri $referenceUri -CertificateStore $certStore2 -CertificateUrl $certUrl2;
97+
98+
$aucSetting = "AutoLogon";
99+
$aucContent = "<UserAccounts><AdministratorPassword><Value>p@ssw0rd</Value><PlainText>true</PlainText></AdministratorPassword></UserAccounts>";
100+
$p = Add-AzureVMAdditionalUnattendContentConfig -VM $p -Content $aucContent -SettingName $aucSetting;
101+
$p = Add-AzureVMAdditionalUnattendContentConfig -VM $p -Content $aucContent -SettingName $aucSetting;
102+
97103
Assert-AreEqual $p.OSProfile.AdminUsername $user;
98104
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
99105
Assert-AreEqual $p.OSProfile.AdminPassword $password;
100106
Assert-AreEqual $p.StorageProfile.SourceImage.ReferenceUri ('/' + (Get-AzureSubscription -Current).SubscriptionId + '/services/images/' + $img);
101107
Assert-AreEqual $p.OSProfile.Secrets[0].SourceVault.ReferenceUri $referenceUri;
102108
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[0].CertificateStore $certStore;
103109
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[0].CertificateUrl $certUrl;
110+
Assert-AreEqual $p.OSProfile.Secrets[0].SourceVault.ReferenceUri $referenceUri;
111+
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[1].CertificateStore $certStore2;
112+
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[1].CertificateUrl $certUrl2;
113+
Assert-AreEqual $p.OSProfile.Secrets[1].SourceVault.ReferenceUri $referenceUri2;
114+
Assert-AreEqual $p.OSProfile.Secrets[1].VaultCertificates[0].CertificateStore $certStore;
115+
Assert-AreEqual $p.OSProfile.Secrets[1].VaultCertificates[0].CertificateUrl $certUrl;
104116
Assert-AreEqual $encodedCustom $p.OSProfile.CustomData;
105117

106118
# Verify WinRM
@@ -126,14 +138,16 @@ function Test-VirtualMachineProfile
126138

127139
# Linux OS
128140
$img = "b4590d9e3ed742e4a1d46e5424aa335e__SUSE-Linux-Enterprise-Server-11-SP3-v206";
129-
$sshPath = "/home/pstestuser/.ssh/authorized_keys";
130-
$sshPublicKey = "MIIDszCCApugAwIBAgIJALBV9YJCF/tAMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV";
131-
132-
$sshKey = New-AzureSshPublicKey -KeyData $sshPublicKey -Path $sshPath;
133141

134-
$p = Set-AzureVMOperatingSystem -VM $p -Linux -ComputerName $computerName -Credential $cred -CustomData $custom -Secrets $vaultSG -SSHPublicKeys $sshKey -DisablePasswordAuthentication;
142+
$p = Set-AzureVMOperatingSystem -VM $p -Linux -ComputerName $computerName -Credential $cred -CustomData $custom -DisablePasswordAuthentication;
135143
$p = Set-AzureVMSourceImage -VM $p -Name $img;
136144

145+
$sshPath = "/home/pstestuser/.ssh/authorized_keys";
146+
$sshPublicKey = "MIIDszCCApugAwIBAgIJALBV9YJCF/tAMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV";
147+
$p = Add-AzureVMSshPublicKeyConfig -VM $p -KeyData $sshPublicKey -Path $sshPath;
148+
$p = Add-AzureVMSshPublicKeyConfig -VM $p -KeyData $sshPublicKey -Path $sshPath;
149+
$p = Add-AzureVMSecretConfig -VM $p -ReferenceUri $referenceUri -CertificateStore $certStore -CertificateUrl $certUrl;
150+
137151
Assert-AreEqual $p.OSProfile.AdminUsername $user;
138152
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
139153
Assert-AreEqual $p.OSProfile.AdminPassword $password;
@@ -146,5 +160,7 @@ function Test-VirtualMachineProfile
146160
# Verify SSH configuration
147161
Assert-AreEqual $sshPublicKey $p.OSProfile.LinuxConfiguration.SshConfiguration.PublicKeys[0].KeyData;
148162
Assert-AreEqual $sshPath $p.OSProfile.LinuxConfiguration.SshConfiguration.PublicKeys[0].Path;
163+
Assert-AreEqual $sshPublicKey $p.OSProfile.LinuxConfiguration.SshConfiguration.PublicKeys[1].KeyData;
164+
Assert-AreEqual $sshPath $p.OSProfile.LinuxConfiguration.SshConfiguration.PublicKeys[1].Path;
149165
Assert-AreEqual $true $p.OSProfile.LinuxConfiguration.DisablePasswordAuthentication
150166
}

src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,6 @@
163163
<Compile Include="Images\GetAzureVMImageOfferCommand.cs" />
164164
<Compile Include="Images\GetAzureVMImageCommand.cs" />
165165
<Compile Include="Images\VirtualMachineImageBaseCmdlet.cs" />
166-
<Compile Include="Models\PSAdditionalUnattendContent.cs" />
167-
<Compile Include="Models\PSSshPublicKey.cs" />
168-
<Compile Include="Models\PSVaultCertificate.cs" />
169-
<Compile Include="Models\PSVaultSecretGroup.cs" />
170166
<Compile Include="Models\PSVirtualMachineExtension.cs" />
171167
<Compile Include="Models\PSAvailabilitySet.cs" />
172168
<Compile Include="Models\PSVirtualMachineInstanceView.cs" />
@@ -185,10 +181,9 @@
185181
<Compile Include="VirtualMachineSizes\VirtualMachineSizeBaseCmdlet.cs" />
186182
<Compile Include="VirtualMachine\Action\SaveAzureVMImageCommand.cs" />
187183
<Compile Include="VirtualMachine\Action\SetAzureVMCommand.cs" />
188-
<Compile Include="VirtualMachine\Config\NewAzureAdditionalUnattendContentCommand.cs" />
189-
<Compile Include="VirtualMachine\Config\NewAzureSshPublicKeyCommand.cs" />
190-
<Compile Include="VirtualMachine\Config\NewAzureVaultCertificateCommand.cs" />
191-
<Compile Include="VirtualMachine\Config\NewAzureVaultSecretGroupCommand.cs" />
184+
<Compile Include="VirtualMachine\Config\AddAzureVMAdditionalUnattendContentConfigCommand.cs" />
185+
<Compile Include="VirtualMachine\Config\AddAzureVMSshPublicKeyConfigCommand.cs" />
186+
<Compile Include="VirtualMachine\Config\AddAzureVMSecretConfigCommand.cs" />
192187
<Compile Include="VirtualMachine\Config\RemoveAzureVMNetworkInterfaceCommand.cs" />
193188
<Compile Include="VirtualMachine\Config\RemoveAzureVMDataDiskCommand.cs" />
194189
<Compile Include="VirtualMachine\Config\SetAzureVMSourceImage.cs" />
@@ -285,4 +280,4 @@
285280
<Target Name="AfterBuild">
286281
</Target>
287282
-->
288-
</Project>
283+
</Project>

src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ public static class ProfileNouns
8585

8686
public const string VirtualMachineUsage = "AzureVMUsage";
8787

88-
public const string SshPublicKey = "AzureSshPublicKey";
89-
public const string AdditionalUnattendContent = "AzureAdditionalUnattendContent";
90-
public const string VaultCertificate = "AzureVaultCertificate";
91-
public const string VaultSecretGroup = "AzureVaultSecretGroup";
88+
public const string SshPublicKey = "AzureVMSshPublicKeyConfig";
89+
public const string AdditionalUnattendContent = "AzureVMAdditionalUnattendContentConfig";
90+
public const string VaultCertificate = "AzureVMVaultCertificateConfig";
91+
public const string VaultSecretGroup = "AzureVMSecretConfig";
9292
}
9393
}

src/ResourceManager/Compute/Commands.Compute/Models/PSAdditionalUnattendContent.cs

Lines changed: 0 additions & 68 deletions
This file was deleted.

src/ResourceManager/Compute/Commands.Compute/Models/PSSshPublicKey.cs

Lines changed: 0 additions & 61 deletions
This file was deleted.

src/ResourceManager/Compute/Commands.Compute/Models/PSVaultCertificate.cs

Lines changed: 0 additions & 61 deletions
This file was deleted.

src/ResourceManager/Compute/Commands.Compute/Models/PSVaultSecretGroup.cs

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)