Skip to content

Commit

Permalink
Merge branch 'master' into artifacts-folder
Browse files Browse the repository at this point in the history
  • Loading branch information
MiYanni committed Dec 18, 2018
2 parents cd3c413 + 6fb6830 commit c27501d
Show file tree
Hide file tree
Showing 69 changed files with 285 additions and 260 deletions.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ If you encounter any bugs with Microsoft Azure PowerShell, please file an issue

To suggest a new feature or changes that could be made to Azure PowerShell, file an issue the same way you would for a bug, but remove the provided template and replace it with information about your suggestion.

You can find the code complete and release dates of the next three Azure PowerShell releases in the [Milestones](https://github.com/Azure/azure-powershell/milestones) section of the Issue page. Each milestone will display the issues that are being worked on for the corresponding release.
You can find the code complete and release dates of the next three Azure PowerShell releases in the [Milestones](https://github.com/Azure/azure-powershell/milestones) section of the Issue page. Each milestone will display the issues that are being worked on for the corresponding release.

## Submitting Changes

Expand Down Expand Up @@ -106,7 +106,7 @@ For more information on cleaning up the commits in a pull request, such as how t

#### Updating the change log

Any changes that are made must be reflected in the respecitve service's change log. This change log will allow customers to easily track what has been changed between releases of a service.
Any changes that are made must be reflected in the respecitve service's change log under the `Upcoming Release` header. This change log will allow customers to easily track what has been changed between releases of a service.

For ARM service projects, the change log is located at `src/ResourceManager/{{service}}/Commands.{{service}}/ChangeLog.md`.

Expand Down
133 changes: 77 additions & 56 deletions documentation/announcing-az-module.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Announcing New Module 'Az'
In August 2018 we released a new module, 'Az' which combines the functionality of the AzureRM and AzureRM.Netcore modules. Az runs on both PowerShell 5.1 and PowerShell Core. 'Az' ensures that the PowerShell and PowerShell Core cmdlets for managing Azure resources will always be in sync and up to date. In addition, Az will simplify and regularize the naming of Azure cmdlets, and the organization of Azure modules. Az is intended as a replacement for the AzureRM.Netcore and AzureRM modules.
In August 2018 we released a new module, 'Az' which combines the functionality of the AzureRM and AzureRM.Netcore modules. Az will go to version 1.0 on 12/18/2018. Az runs on both Windows PowerShell 5.1 and PowerShell Core. 'Az' ensures that the Windows PowerShell and PowerShell Core cmdlets for managing Azure resources will always be in sync and up to date. In addition, Az will simplify and regularize the naming of Azure cmdlets, and the organization of Azure modules. Az is intended as a replacement for the AzureRM.Netcore and AzureRM modules.

Az currently ships in Cloud Shell, and can be found on the PowerShell Gallery [here](https://www.powershellgallery.com/packages/Az/)

Az is a new module, and reorganizing and simplifying cmdlet names involves breaking changes, so we have [added features to Az to make it easier to transition to the simplified, normalized names in your existing scripts](#migrating-from-azurerm).

## New Features
- PowerShell 5.1 and PowerShell Core support in the same module
- PowerShell Core Edition and PowerShell Desktop Edition cmdlets always in sync and up to date with latest Azure capabilities
- Windows PowerShell 5.1 and PowerShell Core support in the same module
- PowerShell Core and Windows PowerShell cmdlets are always in sync and up to date with latest Azure capabilities
- Shortened and normalized cmdlet names - all cmdlets use the noun prefix 'Az'
- Normalized module organization - data plane and management plane cmdlets in the same module for each service
- Simplified and normalized module organization - data plane and management plane cmdlets in the same module for each service
- Enhanced authentication for Netcore
* Self-renewing Service Principal Authentication
* Service Principal Certificate Authentication (in the future)
Expand All @@ -21,18 +21,25 @@ Az is a new module, and reorganizing and simplifying cmdlet names involves break
- PowerShell Core 6.1 - Windows, Linux, macOS

## Timeline
- Initial Release - August 2018
- Az at functional parity with AzureRM - November 2018
- Last version of AzureRM with new Azure features - December 2018


| Date | Feature |
-------|----------
| **August 2018** | Initial Release |
| **November 2018** | Functional arity with AzureRM |
| **December 2018** | Az 1.0 Release |
| **January 2019** | New Authentication mechanisms for Windows PowerShell
| | - Username + password authentication
| | - Web broswer control authentication |



## AzureRM Module Support
AzureRM will continue to be supported, and important bugs will be fixed, but new development and new Azure capabilities will be shipped only in Az starting December 2018.

## Authentication Changes
- ADAL has removed support for the "not recommended" user credential auth flow.
- Connect-AzAccount will no longer accept PSCredential from Get-Credential
- Here are a couple issues that describe why ADAL has removed this support
- ADAL has limited support for the "not recommended" user credential non-interactive auth flow.
- Connect-AzAccount in Az 1.0 will not accept PSCredential, but will support this for Windows PowerShell only in Az 1.1.0 (January 15, 2019)
- Here are a couple issues that describe why ADAL has limited this support
- [Azure ActiveDirectory UserPasswordCredential doesn't support .NET core](https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/issues/482#issuecomment-262256236)
- [Connect-AzureRmAccount with user credential login does not work in Az](https://github.com/Azure/azure-powershell/issues/7430#issuecomment-426480499)

Expand All @@ -48,7 +55,7 @@ AzureRM will continue to be supported, and important bugs will be fixed, but new

To make it easier for existing scripts to migrate from AzureRM to Az, we have provided cmdlets to create aliases that map the cmdlet names in AzureRM into the appropriate cmdlets in Az. When the aliases are enabled, any script that uses AzureRM cmdlet names should run against Az without modification.

Note: Connect-AzAccount aka Connect-AzureRmAccount no longer supports $pscredential. See [Authentication Changes](#authentication-changes) for more
Note: Connect-AzAccount aka Connect-AzureRmAccount no does not ```PSCredential``` in version 1.0, but will in version 1.1. See [Authentication Changes](#authentication-changes) for more details

```powershell
PS C:\> Enable-AzureRmAlias
Expand Down Expand Up @@ -85,92 +92,92 @@ PS C:\> Disable-AzureRmAlias -Scope LocalMachine
```

### Module Name Changes
For scripts that import modules directly, or use ```#Requires``` statements to specify required modules, references to ```AzureRM.*``` will need to be changed to the appropriate ```Az``` module. A current list of AzureRM modules and their Az equivalents are listed below. Note that this list is subject to change as module names in Az are updated through November 2018.
For scripts that import modules directly, or use ```#Requires``` statements to specify required modules, references to ```AzureRM.*``` will need to be changed to the appropriate ```Az``` module. A current list of AzureRM modules and their Az equivalents are listed below.

| AzureRM Module Name | Az Module Name|
| -------------------------------------- | ------------------------------- |
| AzureRM | Az |
| Azure.AnalysisServices | Az.AnalysisServices |
| Azure.Storage | Az.Storage |
| **Azure.Storage** | **Az.Storage** |
| AzureRM.Aks | Az.Aks |
| AzureRM.AnalysisServices | Az.AnalysisServices |
| AzureRM.ApiManagement | Az.ApiManagement |
| AzureRM.ApplicationInsights | Az.ApplicationInsights* |
| AzureRM.ApplicationInsights | Az.ApplicationInsights |
| AzureRM.Automation | Az.Automation |
| AzureRM.Backup | Az.Backup*** |
| ~~AzureRM.Backup~~ | **REMOVED** |
| AzureRM.Batch | Az.Batch |
| AzureRM.Billing | Az.Billing |
| AzureRM.Cdn | Az.Cdn |
| AzureRM.CognitiveServices | Az.CognitiveServices |
| AzureRM.Compute | Az.Compute |
| AzureRM.Compute.ManagedService | Az.Compute.ManagedService*** |
| AzureRM.Consumption | Az.Consumption* |
| AzureRM.ContainerInstance | Az.ContainerInstance* |
| AzureRM.ContainerRegistry | Az.ContainerRegistry* |
| AzureRM.DataFactories | Az.DataFactory |
| AzureRM.DataFactoryV2 | Az.DataFactory |
| ~~AzureRM.Compute.ManagedService~~ | **REMOVED** |
| **AzureRM.Consumption** | **Az.Billing** |
| AzureRM.ContainerInstance | Az.ContainerInstance |
| AzureRM.ContainerRegistry | Az.ContainerRegistry |
| **AzureRM.DataFactories** | **Az.DataFactory** |
| **AzureRM.DataFactoryV2** | **Az.DataFactory** |
| AzureRM.DataLakeAnalytics | Az.DataLakeAnalytics |
| AzureRM.DataLakeStore | Az.DataLakeStore |
| AzureRM.DataMigration | Az.DataMigration |
| AzureRM.DeviceProvisioningServices | Az.DeviceProvisioningServices* |
| AzureRM.DeviceProvisioningServices | Az.DeviceProvisioningServices |
| AzureRM.DevSpaces | Az.DevSpaces |
| AzureRM.DevTestLabs | Az.DevTestLabs |
| AzureRM.Dns | Az.Dns |
| AzureRM.EventGrid | Az.EventGrid |
| AzureRM.EventHub | Az.EventHub |
| AzureRM.HDInsight | Az.HDInsight** |
| AzureRM.Insights | Az.Insights* |
| AzureRM.HDInsight | Az.HDInsight |
| **AzureRM.Insights** | **Az.Monitor** |
| AzureRM.IotHub | Az.IoTHub |
| AzureRM.KeyVault | Az.KeyVault |
| AzureRM.LogicApp | Az.LogicApp*** |
| AzureRM.LogicApp | Az.LogicApp |
| AzureRM.MachineLearning | Az.MachineLearning |
| AzureRM.MachineLearningCompute | Az.MachineLearningCompute* |
| AzureRM.ManagedServiceIdentity | Az.ManagedServiceIdentity* |
| AzureRM.ManagementPartner | Az.ManagementPartner* |
| **AzureRM.MachineLearningCompute** | **Az.MachineLearning** |
| AzureRM.ManagedServiceIdentity | Az.ManagedServiceIdentity |
| AzureRM.ManagementPartner | Az.ManagementPartner |
| AzureRM.Maps | Az.Maps |
| AzureRM.MarketplaceOrdering | Az.MarketplaceOrdering* |
| AzureRM.MarketplaceOrdering | Az.MarketplaceOrdering |
| AzureRM.Media | Az.Media |
| AzureRM.Network | Az.Network* |
| AzureRM.NotificationHubs | Az.NotificationHubs* |
| AzureRM.Network | Az.Network |
| AzureRM.NotificationHubs | Az.NotificationHubs |
| AzureRM.OperationalInsights | Az.OperationalIsights |
| AzureRM.PolicyInsights | Az.PolicyInsights* |
| AzureRM.PolicyInsights | Az.PolicyInsights |
| AzureRM.PowerBIEmbedded | Az.PowerBIEmbedded* |
| AzureRM.Profile | Az.Profile* |
| AzureRM.RecoveryServices | Az.RecoveryServices** |
| AzureRM.RecoveryServices.Backup | Az.RecoveryServices** |
| AzureRM.RecoveryServices.SiteRecovery | Az.RecoveryServices** |
| AzureRM.RedisCache | Az.RedisCache** |
| AzureRM.Relay | Az.Relay* |
| AzureRM.Reservations | Az.Reservations* |
| **AzureRM.Profile** | **Az.Accounts** |
| AzureRM.RecoveryServices | Az.RecoveryServices |
| **AzureRM.RecoveryServices.Backup** | **Az.RecoveryServices** |
| **AzureRM.RecoveryServices.SiteRecovery**| **Az.RecoveryServices** |
| AzureRM.RedisCache | Az.RedisCache |
| AzureRM.Relay | Az.Relay |
| AzureRM.Reservations | Az.Reservations |
| AzureRM.Resources | Az. Resources |
| AzureRM.Scheduler | Az.Scheduler*** |
| ~~AzureRM.Scheduler~~ | **REMOVED** |
| AzureRM.Search | Az.Search |
| AzureRM.Security | Az.Security* |
| AzureRM.Security | Az.Security |
| AzureRM.ServiceBus | Az.ServiceBus |
| AzureRM.ServiceFabric | Az.ServiceFabric** |
| AzureRM.ServiceFabric | Az.ServiceFabric |
| AzureRM.SignalR | Az.SignalR |
| AzureRM.Sql | Az.Sql |
| AzureRM.Storage | Az.Storage |
| AzureRM.StorageSync | Az.StorageSync |
| AzureRM.StreamAnalytics | Az.StreamAnalytics |
| AzureRM.Subscription | Az.Subscription* |
| AzureRM.Tags | Az.Tags* |
| AzureRM.TrafficManager | Az.TrafficManager* |
| AzureRM.Subscription | Az.Subscription |
| **AzureRM.Tags** | **Az.Resources** |
| AzureRM.TrafficManager | Az.TrafficManager |
| AzureRM.UsageAggregates | Az.UsageAggregates |
| AzureRM.Websites | Az.Websites |


```*``` Module name may change for 1.0

```**``` Module not yet available
### Installing Az and AzureRM Side-by-Side

```***``` Module may not appear in 1.0
Az and AzureRM cannot be imported side-by-side into the same PowerShell session. If you do not want to migrate your scripts from AzureRM to Az right away, there are two main options:
- Install Az in PowerShell Core, and leave AzureRM in Windows PowerShell
- Install Az and AzureRM side-by-side in Windows PowerShell and ensure scripts do not mix the modules

#### Install Az in PowerShell Core
You can follow the instructions in [Installing PowerShell Core on Windows](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-windows?view=powershell-6
) to install PowerShell Core, then use ```Install-Module Az``` in PowerShell Core to acquire the Az module. Since Windows PowerShell and PowerShell Core can exist side-by-side and do not share module directories, this will effectively isolate the two modules.

### Installing Az and AzureRM Side-by-Side - Discouraged

It is discouraged for AzureRM and Az to be installed on the same machine, but there may be limited circumstances where this is needed for certain older scripts.

#### Install Az and AzureRM Side-by-Side
If you need to have both modules installed:
- Do not use the Enable-AzureRmAlias cmdlet with -Scope CurrentUser or LocalMachine
- When installing Az on a machine with AzureRM previously installed, you must specify ```AllowClobber``` in the Install-Module cmdlet invocation.
Expand All @@ -179,8 +186,22 @@ If you need to have both modules installed:
PS C:\> Install-Module -Name Az -AllowClobber
```

- You cannot load Az and AzureRM modules in the same PowerShell session, but they can be used in seperate sessions as follows
##### Interactive Usage
You cannot load Az and AzureRM modules in the same PowerShell session, but they can be used in seperate sessions as follows
- In AzureRM session: ```Import-Module AzureRM```
- In Az session: Use cmdlets with Az noun, do not use cmdlets with AzureRm noun
- In Az session: Begin the session with ```Enable-AzureRmAlias```, which will prevent inadvertently loading AzureRM modules. Alternately, you can use cmdlets with Az noun prefix, and avoid using cmdlets with Azure or AzureRm noun

##### Usage in Scripts

Declare the modules used in your script at the beginning of your script.
- For Az:
```powershell
#Requires -Modules Az.Accounts, Az.Storage, Az.Compute
```

- For AzureRM:
```powershell
#Requires -Modules AzureRM.Profile, AzureRM.Storage, Azure.Storage, AzureRM.Compute
```


Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The Azure PowerShell Developer Guide was created to help with the development an
- [Creating the Project](#creating-the-project)
- [Adding Project References](#adding-project-references)
- [Creating Cmdlets](#creating-cmdlets)
- [PowerShell Cmdlet Design Guidelines](#powershell-cmdlet-design-guidelines)
- [PowerShell Cmdlet Design Guidelines](#powershell-cmdlet-design-guidelines)
- [Enable Running PowerShell when Debugging](#enable-running-powershell-when-debugging)
- [Importing Modules](#importing-modules)
- [Adding Help Content](#adding-help-content)
Expand Down Expand Up @@ -124,7 +124,7 @@ PS C:\azure-powershell> dotnet msbuild build.proj /t:Test

## .NET SDK

Before adding a new project to Azure PowerShell, you must have generated an [SDK for .NET](https://github.com/Azure/azure-sdk-for-net) using [AutoRest](https://github.com/Azure/autorest) for your service, and it must have been merged into the repository.
Before adding a new project to Azure PowerShell, you must have generated an [SDK for .NET](https://github.com/Azure/azure-sdk-for-net) using [AutoRest](https://github.com/Azure/autorest) for your service, and it must have been merged into the repository.

For more information about on-boarding a new library in the SDK for .NET repository, click [here](https://github.com/Azure/azure-sdk-for-net#to-on-board-new-libraries).

Expand Down Expand Up @@ -218,7 +218,7 @@ _Note_: As mentioned in the prerequisites section, set the PowerShell [execution

## Using Azure TestFramework

Please see our guide on [Using Azure TestFramework](../testing-docs/using-azure-test-framework.md) for information on how to setup the appropriate connection string and record tests using the `Microsoft.Rest.ClientRuntime.Azure.TestFramework` package.
Please see our guide on [Using Azure TestFramework](../testing-docs/using-azure-test-framework.md) for information on how to setup the appropriate connection string and record tests using the `Microsoft.Rest.ClientRuntime.Azure.TestFramework` package.

## Scenario Tests

Expand Down Expand Up @@ -261,7 +261,7 @@ Create these environment variables for the AD scenario tests:
- `AZURE_SERVICE_PRINCIPAL` should be a service principal - an application defined in the subscription's tenant - that has management access to the subscription (or at least to a resource group in the tenant)
- `AZURE_SERVICE_PRINCIPAL=UserId=<UserGuid>;Password=<Password>;AADTenant=<TenantGuid>;SubscriptionId=<SubscriptionId>`

### Recording/Running Tests
### Recording/Running Tests

- Set up environment variables using New-TestCredential as described [here](../testing-docs/using-azure-test-framework.md#new-testcredential)
- Run the test in Visual Studio in the Test Explorer window and make sure you got a generated JSON file that matches the test name in the bin folder under the `SessionRecords` folder
Expand All @@ -273,6 +273,10 @@ Create these environment variables for the AD scenario tests:

Once all of your cmdlets have been created and the appropriate tests have been added, you can open a pull request in the Azure PowerShell repository to have your cmdlets added to the next release. Please make sure to read [CONTRIBUTING.md](../../CONTRIBUTING.md) for more information on how to open a pull request, clean up commits, make sure appropriate files have been added/changed, and more.

## Change Log

Whenver you make updates to a project, please make sure to update the corresponding service's `ChangeLog.md` file with a snippet of what you changed under the `Upcoming Release` header. This information is later used for the release notes that goes out with each module the next time they are released, and provides users with more information as to what has changed in the module from the previous release. For more information on updating change logs can be found in [`CONTRIBUTING.md`](../../CONTRIBUTING.md#updating-the-change-log)

# Misc

## Publish to PowerShell Gallery
Expand Down
6 changes: 3 additions & 3 deletions src/ResourceManager/Aks/Commands.Aks/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!--
Please leave this section at the top of the change log.
Changes for the current release should go under the section titled "Current Release", and should adhere to the following format:
Changes for the upcoming release should go under the section titled "Upcoming Release", and should adhere to the following format:
## Current Release
## Upcoming Release
* Overview of change #1
- Additional information about change #1
* Overview of change #2
Expand All @@ -17,7 +17,7 @@
* Overview of change #1
- Additional information about change #1
-->
## Current Release
## Upcoming Release

## Version 1.0.0
* General availability of `Az.Aks` module
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!--
Please leave this section at the top of the change log.
Changes for the current release should go under the section titled "Current Release", and should adhere to the following format:
Changes for the upcoming release should go under the section titled "Upcoming Release", and should adhere to the following format:
## Current Release
## Upcoming Release
* Overview of change #1
- Additional information about change #1
* Overview of change #2
Expand All @@ -17,7 +17,7 @@
* Overview of change #1
- Additional information about change #1
-->
## Current Release
## Upcoming Release

## Version 1.0.0
* General availability of `Az.AnalysisServices` module
Loading

0 comments on commit c27501d

Please sign in to comment.