Skip to content

Commit 85c6dac

Browse files
authored
Merge pull request #6 from Azure/master
Sync
2 parents a7908b8 + 728935e commit 85c6dac

File tree

466 files changed

+720781
-83132
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

466 files changed

+720781
-83132
lines changed

ChangeLog.md

Lines changed: 110 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,120 @@
1+
## 2.6.0 - August 2019
2+
#### General
3+
* Fixed miscellaneous typos across numerous modules
4+
5+
#### Az.Accounts
6+
* Added support for user-assigned MSI in Azure Functions authentication (#9479)
7+
8+
#### Az.Aks
9+
* Fixed issue with output for 'Get-AzAks' ([#9847](https://github.com/Azure/azure-powershell/issues/9847))
10+
11+
#### Az.ApiManagement
12+
* Fixed issue with whitespace in `productId`, `apiId`, `groupId`, `userId` ([#9351](https://github.com/Azure/azure-powershell/issues/9351))
13+
* **Get-AzApiManagementProduct** - Added support for querying products using API ([#9482](https://github.com/Azure/azure-powershell/issues/9482))
14+
* **New-AzApiManagementApiRevision** - Fixed issue where ApiRevisionDescription was not set when creating new API revision ([#9752](https://github.com/Azure/azure-powershell/issues/9752))
15+
* Fixed typo in model `PsApiManagementOAuth2AuthrozationServer` to `PsApiManagementOAuth2AuthorizationServer`
16+
17+
#### Az.Batch
18+
* Fixed typos in help message and documentation
19+
20+
#### Az.Cdn
21+
* Fixed a typo in CDN module conversion helper
22+
23+
#### Az.Compute
24+
* Added VmssId to **New-AzVMConfig** cmdlet
25+
* Added `TerminateScheduledEvents` and `TerminateScheduledEventNotBeforeTimeoutInMinutes` parameters to **New-AzVmssConfig** and **Update-AzVmss**
26+
* Added `HyperVGeneration` property to VM image object
27+
* Added Host and HostGroup features
28+
- New cmdlets:
29+
- **New-AzHostGroup**
30+
- **New-AzHost**
31+
- **Get-AzHostGroup**
32+
- **Get-AzHost**
33+
- **Remove-AzHostGroup**
34+
- **Remove-AzHost**
35+
- Added `HostId` parameter to **New-AzVMConfig** and **New-AzVM**
36+
* Updated example in **Invoke-AzVMRunCommand** documentation to use correct parameter name
37+
* Updated `-VolumeType` description in **Set-AzVMDiskEncryptionExtension** and **Set-AzVmssDiskEncryptionExtension** reference documentation
38+
39+
#### Az.DataFactory
40+
* Fixed typos in **New-AzDataFactoryEncryptValue** documentation
41+
* Updated ADF .Net SDK version to 4.1.2
42+
* Added parameters to **Set-AzureRmDataFactoryV2IntegrationRuntime** to enable Self-Hosted Integration Runtime as a proxy for SSIS Integration Runtime:
43+
- `DataProxyIntegrationRuntimeName`
44+
- `DataProxyStagingLinkedServiceName`
45+
- `DataProxyStagingPath`
46+
* Updated **PSTriggerRun** to show the triggered pipelines, message and properties, and **PSActivityRun** to show the activity type
47+
48+
#### Az.DataLakeStore
49+
* Fixed issue where **Get-DataLakeStoreDeletedItem** would hang on errors and remote exceptions
50+
51+
#### Az.EventHub
52+
* Fixed typo `VirtualNteworkRule` in Set-AzEventHubNetworkRuleSet ([#9658](https://github.com/azure/azure-powershell/issues/9658))
53+
* Fixed issue where Set-AzEventHubNamespace used PATCH instead of PUT ([#9558](https://github.com/azure/azure-powershell/issues/9558))
54+
* Added `EnableKafka` parameter to **Set-AzEventHubNamespace** cmdlet
55+
* Fixed issue with creating rules with `Listen` rights ([#9786](https://github.com/azure/azure-powershell/issues/9786))
56+
57+
#### Az.MarketplaceOrdering
58+
* Fixed documentation typos
59+
60+
#### Az.Monitor
61+
* Fixed incorrect parameter name in help documentation
62+
63+
#### Az.Network
64+
* Updated **New-AzPrivateLinkServiceIpConfig**:
65+
- Deprecated the parameter `PublicIpAddress` since this is never used in the server side.
66+
- Added optional parameter `Primary` that indicates if the current IP configuration is the primary one
67+
* Improved handling of request error exception from SDK
68+
* Fixed validation logic for Ipv6 IP Prefix to check for correct IPv6 prefix length
69+
* Added parameter set to get by subnet resource id to **Get-AzVirtualNetworkSubnetConfig**
70+
* Updated description of **Location** parameter for **AzNetworkServiceTag**
71+
72+
#### Az.OperationalInsights
73+
* Updated documentation for **New-AzOperationalInsightsLinuxSyslogDataSource**:
74+
- Added example
75+
- Updated description for `-Name` parameter
76+
* Added an example for **New-AzOperationalInsightsWindowsEventDataSource**
77+
* Changed the description of the `-Name` parameter for **New-AzOperationalInsightsWindowsEventDataSource**
78+
79+
#### Az.RecoveryServices
80+
* Updated documentation for **Get-AzRecoveryServicesBackupJobDetail**
81+
82+
#### Az.Resources
83+
* Added support for new API version 2019-05-10 for Microsoft.Resource
84+
- Add support for 'copy.count = 0' for variables, resources and properties
85+
- Resources with 'condition = false' or 'copy.count = 0' will be deleted in complete mode
86+
* Added an example of assigning policy at the subscription level
87+
88+
#### Az.ServiceBus
89+
* Fixed typo `VirtualNetworkRule` parameter in **Set-AzServiceBusNetworkRuleSet** Fix for issue #9658 : Typo
90+
* Fixed issue with creating `Listen`-only rules ([#9786](https://github.com/azure/azure-powershell/issues/9786))
91+
* Added new command **Test-AzServiceBusNameAvailability** to check the name availability for queue and topic
92+
93+
#### Az.ServiceFabric
94+
* Fixed NullReferenceException when a resource group has a VMSS not related to the service fabric cluster ([#8681](https://github.com/Azure/azure-powershell/issues/8681))
95+
* Fixed bug where cmdlets failed if virtualNetwork was in a different resource group than the cluster ([#8407](https://github.com/Azure/azure-powershell/issues/8407))
96+
* Deprecated **Add-AzServiceFabricApplicationCertificate** cmdlet
97+
98+
#### Az.Sql
99+
* Updated documentation for old Auditing cmdlets
100+
101+
#### Az.Storage
102+
* Updated help for **Close-AzStorageFileHandle** and **Get-AzStorageFileHandle**, added more scenarios to cmdlet examples and updated parameter descriptions
103+
* Added support for `StandardBlobTier` in blob uploads and copies
104+
* Added support for `Rehydrate` priority in blob copy
105+
106+
#### Az.Websites
107+
* Added clarification around `-AppSettings` parameter for **Set-AzWebApp** and **Set-AzWebAppSlot**
108+
1109
## 2.5.0 - July 2019
2110
#### Az.Accounts
3111
* Update common code to use latest version of ClientRuntime
4112

5113
#### Az.ApplicationInsights
6-
* Fix example typo in 'Remove-AzApplicationInsightsApiKey' documentation
114+
* Fix example typo in 'Remove-AzApplicationInsightsApiKey' documentation
7115

8116
#### Az.Automation
9-
* Fix typo in resource string
117+
* Fix typo in resource string
10118

11119
#### Az.CognitiveServices
12120
* Added NetworkRuleSet support.

documentation/development-docs/help-generation.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ To do so, you can follow the below steps (which are outlined in the [**Quick sta
1212

1313
```powershell
1414
Install-Module -Name platyPS -Scope CurrentUser
15-
Import-Module platyPS
1615
```
1716

1817
**Note:** this module will need to be installed from the [PowerShell Gallery](http://www.powershellgallery.com/). If, for some reason, this isn't a registered repository when running the `Get-PSRepository` cmdlet, then you will need to register it by running the following command:
@@ -38,6 +37,17 @@ Import-Module -Name $PathToModuleManifest
3837

3938
**Note**: if you do not see all of the changes you made to the cmdlets in your markdown files (_e.g.,_ a cmdlet you deleted is still appearing), you may need to delete any existing Azure PowerShell modules that you have on your machine (installed either through the PowerShell Gallery or by Web Platform Installer) before you import your module.
4039

40+
### Generating help for a new module
41+
42+
For new modules with no existing `help` folder containing the markdown help files, run the following command to do an initial generation:
43+
44+
```powershell
45+
$PathToHelpFolder = "../../help" # Full path to help folder containing markdown files to be generated (e.g., src/Accounts/Accounts/help)
46+
New-MarkdownHelp -Module {{moduleName}} -OutputFolder $PathToHelpFolder -AlphabeticParamsOrder -UseFullTypeName -WithModulePage
47+
```
48+
49+
Once this folder has been generated, follow the steps provided in the below section to update the files with any changes made to the public interface of the cmdlets.
50+
4151
### Updating help after making cmdlet changes
4252

4353
Whenever the public interface for a cmdlet has changed, the corresponding markdown file for that cmdlet will need to be updated to reflect the changes. Public interface changes include the following:
@@ -70,7 +80,7 @@ If you would like to update the inputs/outputs for a markdown file, please run t
7080
This will update all of the markdown files with public interface changes made to corresponding cmdlets, add markdown files for any new cmdlets, remove markdown files for any deleted cmdlets, and update the module page (_e.g.,_ `Az.Accounts.md`) with any added or removed cmdlets.
7181

7282
_This seems to work better when run from within the `help` folder itself (For e.g. to generate the help files for the [`Network`](src/Network) module run the cmd from under [`Commands.Network/help`](src/Network/Network/help)). Also, you will have to import the profile module from under <Repo base path>/artifacts/Debug/Az.Accounts/Az.Accounts.psd1_
73-
83+
7484
#### Updating a single markdown file
7585

7686
To update a single markdown file with the changes made to the corresponding cmdlet, use the [`Update-MarkdownHelp`](https://github.com/PowerShell/platyPS/blob/master/docs/Update-MarkdownHelp.md) cmdlet:

src/Accounts/Accounts/Az.Accounts.psd1

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#
2-
# Module manifest for module 'PSGet_Az.Accounts'
2+
# Module manifest for module 'Az.Accounts'
33
#
44
# Generated by: Microsoft Corporation
55
#
6-
# Generated on: 7/23/2019
6+
# Generated on: 8/22/2019
77
#
88

99
@{
@@ -12,7 +12,7 @@
1212
# RootModule = ''
1313

1414
# Version number of this module.
15-
ModuleVersion = '1.6.1'
15+
ModuleVersion = '1.6.2'
1616

1717
# Supported PSEditions
1818
CompatiblePSEditions = 'Core', 'Desktop'
@@ -143,12 +143,13 @@ PrivateData = @{
143143
# IconUri = ''
144144

145145
# ReleaseNotes of this module
146-
ReleaseNotes = '* Update common code to use latest version of ClientRuntime'
146+
ReleaseNotes = '* Fixed miscellaneous typos across module
147+
* Support user-assigned MSI in Azure Functiosn Authentication (#9479)'
147148

148149
# Prerelease string of this module
149150
# Prerelease = ''
150151

151-
# Flag to indicate whether the module requires explicit user acceptance for install/update
152+
# Flag to indicate whether the module requires explicit user acceptance for install/update/save
152153
# RequireLicenseAcceptance = $false
153154

154155
# External dependent modules of this module

src/Accounts/Accounts/ChangeLog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21+
22+
## Version 1.6.2
2123
* Fixed miscellaneous typos across module
24+
* Support user-assigned MSI in Azure Functions Authentication (#9479)
2225

2326
## Version 1.6.1
2427
* Update common code to use latest version of ClientRuntime

src/Accounts/Accounts/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
// You can specify all the values or you can default the Build and Revision Numbers
4444
// by using the '*' as shown below:
4545

46-
[assembly: AssemblyVersion("1.6.1")]
47-
[assembly: AssemblyFileVersion("1.6.1")]
46+
[assembly: AssemblyVersion("1.6.2")]
47+
[assembly: AssemblyFileVersion("1.6.2")]
4848
#if !SIGN
4949
[assembly: InternalsVisibleTo("Microsoft.Azure.PowerShell.Cmdlets.Accounts.Test")]
5050
#endif

src/Accounts/Authentication.Test/AuthenticationFactoryTests.cs

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ public void AppServiceManagedIdentity()
365365
{
366366
AzureSessionInitializer.InitializeAzureSession();
367367
var tenant = Guid.NewGuid().ToString();
368-
var userId = Guid.NewGuid().ToString();
368+
var userId = "MSI@2";
369369
var environment = AzureEnvironment.PublicEnvironments["AzureCloud"];
370370
var account = new AzureAccount
371371
{
@@ -402,7 +402,7 @@ public void AppServiceManagedIdentity()
402402

403403
[Fact]
404404
[Trait(Category.AcceptanceType, Category.CheckIn)]
405-
public void AppServiceManagedIdentityWithDataPlane()
405+
public void AppServiceUserManagedIdentityWithDataPlane()
406406
{
407407
AzureSessionInitializer.InitializeAzureSession();
408408
var tenant = Guid.NewGuid().ToString();
@@ -415,6 +415,47 @@ public void AppServiceManagedIdentityWithDataPlane()
415415
};
416416
const string resource = @"https://vault.azure.com/";
417417
const string endpoint = @"http://127.0.0.1:41217/MSI/token/";
418+
var expectedUri = $"{endpoint}?resource={resource}&api-version=2017-09-01&clientid={userId}";
419+
account.SetProperty(AzureAccount.Property.MSILoginUri, endpoint);
420+
account.SetProperty(AzureAccount.Property.MSILoginSecret, @"bar");
421+
const string expectedAccessToken = "foo";
422+
var expectedExpiresOn = DateTimeOffset.Parse("1/23/2019 7:15:42 AM +00:00");
423+
var responses = new Dictionary<string, ManagedServiceAppServiceTokenInfo>(StringComparer.OrdinalIgnoreCase)
424+
{
425+
{
426+
expectedUri,
427+
new ManagedServiceAppServiceTokenInfo()
428+
{
429+
AccessToken = expectedAccessToken,
430+
ExpiresOn = expectedExpiresOn,
431+
Resource = resource,
432+
TokenType = "Bearer",
433+
}
434+
}
435+
};
436+
AzureSession.Instance.RegisterComponent(HttpClientOperationsFactory.Name, () => TestHttpOperationsFactory.Create(responses, _output), true);
437+
var msat = new ManagedServiceAppServiceAccessToken(account, environment, environment.GetEndpoint(resource) ?? resource, tenant);
438+
Assert.Equal(expectedUri, msat.RequestUris.Peek());
439+
var accessToken = msat.AccessToken;
440+
Assert.Equal(expectedAccessToken, accessToken);
441+
Assert.Equal(expectedExpiresOn, msat.ExpiresOn);
442+
}
443+
444+
[Fact]
445+
[Trait(Category.AcceptanceType, Category.CheckIn)]
446+
public void AppServiceManagedIdentityWithDataPlane()
447+
{
448+
AzureSessionInitializer.InitializeAzureSession();
449+
var tenant = Guid.NewGuid().ToString();
450+
var userId = "MSI@2";
451+
var environment = AzureEnvironment.PublicEnvironments["AzureCloud"];
452+
var account = new AzureAccount
453+
{
454+
Id = userId,
455+
Type = AzureAccount.AccountType.ManagedService
456+
};
457+
const string resource = @"https://vault.azure.com/";
458+
const string endpoint = @"http://127.0.0.1:41217/MSI/token/";
418459
var expectedUri = $"{endpoint}?resource={resource}&api-version=2017-09-01";
419460
account.SetProperty(AzureAccount.Property.MSILoginUri, endpoint);
420461
account.SetProperty(AzureAccount.Property.MSILoginSecret, @"bar");
@@ -447,7 +488,7 @@ public void AppServiceManagedIdentityWithServiceManagement()
447488
{
448489
AzureSessionInitializer.InitializeAzureSession();
449490
var tenant = Guid.NewGuid().ToString();
450-
var userId = Guid.NewGuid().ToString();
491+
var userId = "MSI@2";
451492
var environment = AzureEnvironment.PublicEnvironments["AzureCloud"];
452493
var account = new AzureAccount
453494
{

src/Accounts/Authentication/Authentication/ManagedServiceAccessTokenBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public abstract class ManagedServiceAccessTokenBase<TManagedServiceTokenInfo> :
3434

3535
protected ManagedServiceAccessTokenBase(IAzureAccount account, IAzureEnvironment environment, string resourceId, string tenant = "Common")
3636
{
37-
if (string.IsNullOrEmpty(account?.Id) || !account.IsPropertySet(AzureAccount.Property.MSILoginUri))
37+
if (string.IsNullOrWhiteSpace(account?.Id) || !account.IsPropertySet(AzureAccount.Property.MSILoginUri))
3838
{
3939
throw new ArgumentNullException(nameof(account));
4040
}

src/Accounts/Authentication/Authentication/ManagedServiceAppServiceAccessToken.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
// ----------------------------------------------------------------------------------
1414

1515
using Microsoft.Azure.Commands.Common.Authentication.Abstractions;
16+
using System;
1617
using System.Collections.Generic;
18+
using System.Text;
1719

1820
namespace Microsoft.Azure.Commands.Common.Authentication
1921
{
@@ -32,7 +34,14 @@ public ManagedServiceAppServiceAccessToken(IAzureAccount account, IAzureEnvironm
3234
protected override IEnumerable<string> BuildTokenUri(string baseUri, IAzureAccount account, IdentityType identityType,
3335
string resourceId)
3436
{
35-
yield return $"{baseUri}?resource={resourceId}&api-version=2017-09-01";;
37+
StringBuilder query = new StringBuilder($"{baseUri}?resource={resourceId}&api-version=2017-09-01");
38+
39+
if(identityType == IdentityType.ClientId || identityType == IdentityType.ObjectId)
40+
{
41+
query.Append($"&clientid={Uri.EscapeDataString(account.Id)}");
42+
}
43+
44+
yield return query.ToString();
3645
}
3746

3847
protected override void SetToken(ManagedServiceAppServiceTokenInfo infoWebApps)

src/Advisor/Advisor/Az.Advisor.psd1

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#
2-
# Module manifest for module 'PSGet_Az.Advisor'
2+
# Module manifest for module 'Az.Advisor'
33
#
44
# Generated by: Microsoft Corporation
55
#
6-
# Generated on: 6/21/2019
6+
# Generated on: 8/22/2019
77
#
88

99
@{
@@ -12,7 +12,7 @@
1212
# RootModule = ''
1313

1414
# Version number of this module.
15-
ModuleVersion = '1.0.0'
15+
ModuleVersion = '1.0.1'
1616

1717
# Supported PSEditions
1818
CompatiblePSEditions = 'Core', 'Desktop'
@@ -51,7 +51,7 @@ DotNetFrameworkVersion = '4.7.2'
5151
# ProcessorArchitecture = ''
5252

5353
# Modules that must be imported into the global environment prior to importing this module
54-
RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '1.6.1'; })
54+
RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '1.6.2'; })
5555

5656
# Assemblies that must be loaded prior to importing this module
5757
RequiredAssemblies = '.\Microsoft.Azure.Management.Advisor.dll'
@@ -109,12 +109,12 @@ PrivateData = @{
109109
# IconUri = ''
110110

111111
# ReleaseNotes of this module
112-
ReleaseNotes = '* GA release of Az.Advisor'
112+
ReleaseNotes = '* Fixed miscellaneous typos across module'
113113

114114
# Prerelease string of this module
115115
# Prerelease = ''
116116

117-
# Flag to indicate whether the module requires explicit user acceptance for install/update
117+
# Flag to indicate whether the module requires explicit user acceptance for install/update/save
118118
# RequireLicenseAcceptance = $false
119119

120120
# External dependent modules of this module

src/Advisor/Advisor/ChangeLog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
- Additional information about change #1
2020
-->
2121
## Upcoming Release
22+
23+
## Version 1.0.1
2224
* Fixed miscellaneous typos across module
2325

2426
## Version 1.0.0

src/Advisor/Advisor/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@
2525
[assembly: CLSCompliant(false)]
2626
[assembly: Guid("860B550A-20CE-4FB1-BAE7-EF10E9221BCE")]
2727

28-
[assembly: AssemblyVersion("1.0.0")]
29-
[assembly: AssemblyFileVersion("1.0.0")]
28+
[assembly: AssemblyVersion("1.0.1")]
29+
[assembly: AssemblyFileVersion("1.0.1")]

0 commit comments

Comments
 (0)