Skip to content

Commit 337fe18

Browse files
Merge remote-tracking branch 'Azure/dev' into dev
2 parents 0d95464 + 83fa144 commit 337fe18

File tree

1,716 files changed

+552223
-420337
lines changed

Some content is hidden

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

1,716 files changed

+552223
-420337
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### Cmdlet(s)
2+
3+
### PowerShell Version
4+
Instructions: to get PowerShell version, type `$PSVersionTable` and look for the value associated with `PSVersion`
5+
6+
### Module Version
7+
8+
### OS Version
9+
Instructions: to get OS version, type `$PSversionTable` and look for value associated with `BuildVersion`
10+
11+
### Description
12+
13+
### Debug Output
14+
Instructions: to get Debug Output, set `$DebugPreference="Continue"` and then execute the cmdlet or script causing the issue
15+
16+
### Script/Steps for Reproduction

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
This checklist is used to make sure that common issues in a pull request are covered by the creator. You can find a more complete discussion of PowerShell cmdlet best practices [here](https://msdn.microsoft.com/en-us/library/dd878270(v=vs.85).aspx).
2+
3+
Below in **Overall Changes**, check off the boxes that apply to your PR. Within each of the categories that you select, make sure that you can check off **all** of the boxes.
4+
5+
## Overall Changes
6+
- [ ] [**MANDATORY** - General changes](#general)
7+
- [ ] [**MANDATORY** - Add/remove/edit test(s)](#tests)
8+
- [ ] [Add/remove/edit cmdlet(s)](#cmdlet-signature)
9+
- [ ] [Add/remove/edit parameter(s)](#parameters)
10+
- [ ] [Edit pipeline parameters](#parameters-and-the-pipeline)
11+
12+
### General
13+
- [ ] Title of the PR is clear and informative
14+
- [ ] There are a small number of commits that each have an informative message
15+
- [ ] If it applies, references the bug/issue that the PR fixes
16+
- [ ] All files have the Microsoft copyright header
17+
- [ ] Cmdlets refer to management libraries through nuget references - no dlls are checked in
18+
- [ ] The PR does not introduce breaking changes (unless a major version change occurs in the assembly and module)
19+
20+
### Tests
21+
- [ ] PR includes test coverage for the included changes
22+
- [ ] Tests must use xunit, and should either use Moq to mock management client calls, or use the scenario test framework
23+
- [ ] PowerShell scripts used in tests must not use hard-coded values for location
24+
- [ ] PowerShell scripts used in tests should do any necessary setup as part of the test or suite setup, and should not use hard-coded values for existing resources
25+
- [ ] Tests should not use App.config files for settings
26+
- [ ] Tests should use the built-in PowerShell functions for generating random names when unique names are necessary - this will store names in the test recording
27+
- [ ] Tests should use Start-Sleep to pause rather than Thread.Sleep
28+
29+
### Cmdlet Signature
30+
- [ ] Cmdlet name uses an approved PowerShell verb - use the enums for `VerbsCommon`, `VerbsCommunication`, `VerbsLifecycle`, `VerbsOther` whenever possible
31+
- [ ] Cmdlet noun name uses the AzureRm prefix for management cmdlets, and the Azure prefix for data plane cmdlets
32+
- [ ] Cmdlet specifies the `OutputType` attribute if any output is produced; if the cmdlet produces no output, it should implement a `PassThrough` parameter
33+
- [ ] If the cmdlet makes changes or has side effects, it should implement `ShouldProcess` and have `SupportShouldProcess = true` specified in the cmdlet attribute. See a discussion about correct `ShouldProcess` implementation [here](https://gist.github.com/markcowl/338e16fe5c8bbf195aff9f8af0db585d#what-is-the-change)
34+
- [ ] Cmdlets should derive from AzureRmCmdlet for management cmdlets, and AzureDataCmdlet for data cmdlets
35+
- [ ] If multiple parameter sets are implemented, the cmdlet should specify a `DefaultParameterSetName` in its cmdlet attribute
36+
37+
### Parameters
38+
- [ ] Cmdlets should have no more than four positional parameters
39+
- [ ] Cmdlet parameter sets should be mutually exclusive - each parameter set must have at least one mandatory parameter not in other parameter sets
40+
- [ ] Parameter types should not expose types from the management library - complex parameter types should be defined in the module
41+
- [ ] Complex parameter types are discouraged - a parameter type should be simple types as often as possible. If complex types are used, they should be shallow and easily creatable from a constructor or another cmdlet
42+
- [ ] Parameters should be explicitly marked as Mandatory or not, and should contain a HelpMessage
43+
- [ ] No parameter is of type `object`.
44+
- Management cmdlets should have the following parameters and aliases:
45+
- ResourceGroupName with (optional) alias to `ResourceGroup` type string marked as [ValueFromPipelineByPropertyName]
46+
- Name with alias to `ResourceName` type string marked as [ValueFromPipelineByPropertyName]
47+
- Location (if appropriate) type string
48+
- Tag, type `HashTable`
49+
50+
### Parameters and the Pipeline
51+
- [ ] Complex parameters should take values from the pipeline when possible, and certainly when they match the output type of another cmdlet
52+
- [ ] Only one parameter should use ValueFromPipeline per parameter set; parameters from different parameter sets may have this attribute, but should not be convertible
53+
- [ ] No parameter is of type `object`
54+
- [ ] Each management cmdlet should have a parameter set that takes `ResourceGroupName` and `Name` from the pipeline by property value
55+
- [ ] For a given resource type, it should be possible to pipe the output of `Get` and `New` cmdlets to the input of `Set`, `Update`, `Remove` and other action cmdlets for that resource

AzurePowershell.Test.targets

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<BatchTestDebug>.\src\ResourceManager\AzureBatch\Commands.Batch.Test\bin\Debug\Microsoft.Azure.Commands.Batch.Test.dll</BatchTestDebug>
2727
<WebsitesTestDebug>.\src\ResourceManager\Websites\Commands.Websites.Test\bin\Debug\Microsoft.Azure.Commands.Websites.Test.dll</WebsitesTestDebug>
2828
<LogicAppTestDebug>.\src\ResourceManager\LogicApp\Commands.LogicApp.Test\bin\Debug\Microsoft.Azure.Commands.LogicApp.Test.dll</LogicAppTestDebug>
29+
<SchedulerTestDebug>.\src\ResourceManager\Scheduler\Commands.Scheduler.Test\bin\Debug\Microsoft.Azure.Commands.Scheduler.Test.dll</SchedulerTestDebug>
2930
<RemoteAppTestDebug>.\src\ServiceManagement\RemoteApp\Commands.RemoteApp.Test\bin\Debug\Microsoft.Azure.Commands.RemoteApp.Tests.dll</RemoteAppTestDebug>
3031
<ServiceManagementTestDebug>.\src\ServiceManagement\Compute\Commands.ServiceManagement.Test\bin\Debug\Microsoft.WindowsAzure.Commands.ServiceManagement.Test.dll</ServiceManagementTestDebug>
3132
<SqlDatabaseTestDebug>.\src\ServiceManagement\Sql\Commands.SqlDatabase.Test\bin\Debug\Microsoft.WindowsAzure.Commands.SqlDatabase.Test.dll</SqlDatabaseTestDebug>
@@ -81,6 +82,7 @@
8182
<XUnitTests Include=".\src\ResourceManager\AzureBatch\Commands.Batch.Test\bin\Debug\Microsoft.Azure.Commands.Batch.Test.dll"/>
8283
<XUnitTests Include=".\src\ResourceManager\Websites\Commands.Websites.Test\bin\Debug\Microsoft.Azure.Commands.Websites.Test.dll"/>
8384
<XUnitTests Include=".\src\ResourceManager\LogicApp\Commands.LogicApp.Test\bin\Debug\Microsoft.Azure.Commands.LogicApp.Test.dll"/>
85+
<XUnitTests Include=".\src\ResourceManager\Scheduler\Commands.Scheduler.Test\bin\Debug\Microsoft.Azure.Commands.Scheduler.Test.dll"/>
8486
<XUnitTests Include=".\src\ResourceManager\KeyVault\Commands.KeyVault.Test\bin\Debug\Microsoft.Azure.Commands.KeyVault.Test.dll"/>
8587
<XUnitTests Include=".\src\ResourceManager\UsageAggregates\Commands.UsageAggregates.Test\bin\Debug\Microsoft.Azure.Commands.UsageAggregates.Test.dll"/>
8688
<XUnitTests Include=".\src\ResourceManager\TrafficManager\Commands.TrafficManager2.Test\bin\Debug\Microsoft.Azure.Commands.TrafficManager.Test.ScenarioTests.dll"/>
@@ -209,6 +211,10 @@
209211
IncludeTraits="$(XUnitIncludedTrait)" MaxParallelThreads="0" ParallelizeAssemblies="false" ParallelizeTestCollections="false" />
210212
</Target>
211213

214+
<Target Name="TestScheduler">
215+
<Xunit.Runner.MSBuild.xunit Assemblies="$(SchedulerTestDebug)" Html="$(TestOutputDirectory)\SchedulerTestDebug.xunit.dll.html" Verbose="false"
216+
IncludeTraits="$(XUnitIncludedTrait)" MaxParallelThreads="0" ParallelizeAssemblies="false" ParallelizeTestCollections="false" />
217+
</Target>
212218

213219
<Target Name="TestDataFactoryManager">
214220
<Xunit.Runner.MSBuild.xunit Assemblies="$(DataFactoryManagerTestDebug)" Html="$(TestOutputDirectory)\DataFactoryManagerTestDebug.xunit.dll.html" Verbose="false"

ChangeLog.md

Lines changed: 172 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,175 @@
1-
##2016.07.11 version 1.6.0
1+
## 2016.08.09 version 2.0.1
2+
* Fixed assembly signing issue causing load problems in some PowerShell versions. (Issue #2747)
3+
4+
##2016.08.08 version 2.0.0
5+
* This release contains breaking changes. Please see [the migration guide](documentation/release-notes/migration-guide.2.0.0.md) for change details and the impact on existing scripts.
6+
* Removal of Force parameters that were marked as obsolete in the previous release
7+
* ApiManagement
8+
- Remove-AzureRmApiManagement
9+
- Remove-AzureRmApiManagementApi
10+
- Remove-AzureRmApiManagementGroup
11+
- Remove-AzureRmApiManagementLogger
12+
- Remove-AzureRmApiManagementOpenIdConnectProvider
13+
- Remove-AzureRmApiManagementOperation
14+
- Remove-AzureRmApiManagementPolicy
15+
- Remove-AzureRmApiManagementProduct
16+
- Remove-AzureRmApiManagementProperty
17+
- Remove-AzureRmApiManagementSubscription
18+
- Remove-AzureRmApiManagementUser
19+
* Automation
20+
- Remove-AzureRmAutomationCertificate
21+
- Remove-AzureRmAutomationCredential
22+
- Remove-AzureRmAutomationVariable
23+
- Remove-AzureRmAutomationWebhook
24+
* Batch
25+
- Remove-AzureBatchCertificate
26+
- Remove-AzureBatchComputeNode
27+
- Remove-AzureBatchComputeNodeUser
28+
* DataFactories
29+
- Resume-AzureRmDataFactoryPipeline
30+
- Set-AzureRmDataFactoryPipelineActivePeriod
31+
- Suspend-AzureRmDataFactoryPipeline
32+
* DataLakeStore
33+
- Remove-AzureRmDataLakeStoreItemAclEntry
34+
- Set-AzureRmDataLakeStoreItemAcl
35+
- Set-AzureRmDataLakeStoreItemAclEntry
36+
- Set-AzureRmDataLakeStoreItemOwner
37+
* OperationalInsights
38+
- Remove-AzureRmOperationalInsightsSavedSearch
39+
* Profile
40+
- Remove-AzureRmEnvironment
41+
* RedisCache
42+
- Remove-AzureRmRedisCacheDiagnostics
43+
* Resources
44+
- Register-AzureRmProviderFeature
45+
- Register-AzureRmResourceProvider
46+
- Remove-AzureRmADServicePrincipal
47+
- Remove-AzureRmPolicyAssignment
48+
- Remove-AzureRmResourceGroupDeployment
49+
- Remove-AzureRmRoleAssignment
50+
- Stop-AzureRmResourceGroupDeployment
51+
- Unregister-AzureRmResourceProvider
52+
* Storage
53+
- Remove-AzureStorageContainerStoredAccessPolicy
54+
- Remove-AzureStorageQueueStoredAccessPolicy
55+
- Remove-AzureStorageShareStoredAccessPolicy
56+
- Remove-AzureStorageTableStoredAccessPolicy
57+
* StreamAnalytics
58+
- Remove-AzureRmStreamAnalyticsFunction
59+
- Remove-AzureRmStreamAnalyticsInput
60+
- Remove-AzureRmStreamAnalyticsJob
61+
- Remove-AzureRmStreamAnalyticsOutput
62+
* Tag
63+
- Remove-AzureRmTag
64+
* Changed `Tags` parameter name to `Tag`, and changed the parameter type from `HashTable[]` to `HashTable` for the following cmdlets
65+
* Batch
66+
- Get-AzureRmBatchAccount
67+
- New-AzureRmBatchAccount
68+
- Set-AzureRmBatchAccount
69+
* Compute
70+
- New-AzureRmVM
71+
- Update-AzureRmVM
72+
* DataLakeAnalytics
73+
- New-AzureRmDataLakeAnalyticsAccount
74+
- Set-AzureRmDataLakeAnalyticsAccount
75+
* DataLakeStore
76+
- New-AzureRmDataLakeStoreAccount
77+
- Set-AzureRmDataLakeStoreAccount
78+
* Dns
79+
- New-AzureRmDnsZone
80+
- Set-AzureRmDnsZone
81+
* KeyVault
82+
- Get-AzureRmKeyVault
83+
- New-AzureRmKeyVault
84+
* Network
85+
- New-AzureRmApplicationGateway
86+
- New-AzureRmExpressRouteCircuit
87+
- New-AzureRmLoadBalancer
88+
- New-AzureRmLocalNetworkGateway
89+
- New-AzureRmNetworkInterface
90+
- New-AzureRmNetworkSecurityGroup
91+
- New-AzureRmPublicIpAddress
92+
- New-AzureRmRouteTable
93+
- New-AzureRmVirtualNetwork
94+
- New-AzureRmVirtualNetworkGateway
95+
- New-AzureRmVirtualNetworkGatewayConnection
96+
- New-AzureRmVirtualNetworkPeering
97+
* Resources
98+
- Find-AzureRmResource
99+
- Find-AzureRmResourceGroup
100+
- New-AzureRmResource
101+
- New-AzureRmResourceGroup
102+
- Set-AzureRmResource
103+
- Set-AzureRmResourceGroup
104+
* SQL
105+
- New-AzureRmSqlDatabase
106+
- New-AzureRmSqlDatabaseCopy
107+
- New-AzureRmSqlDatabaseSecondary
108+
- New-AzureRmSqlElasticPool
109+
- New-AzureRmSqlServer
110+
- Set-AzureRmSqlDatabase
111+
- Set-AzureRmSqlElasticPool
112+
- Set-AzureRmSqlServer
113+
* Storage
114+
- New-AzureRmStorageAccount
115+
- Set-AzureRmStorageAccount
116+
* TrafficManager
117+
- New-AzureRmTrafficManagerProfile
118+
* Azure Redis Cache
119+
* New cmdlet added for New-AzureRmRedisCacheScheduleEntry
120+
* New cmdlet added for New-AzureRmRedisCachePatchSchedule
121+
* New cmdlet added for Get-AzureRmRedisCachePatchSchedule
122+
* New cmdlet added for Remove-AzureRmRedisCachePatchSchedule
123+
* Azure Resource Manager
124+
* Tag parameter type has been changed for all cmdlets which used it. The type has been changed from HashTable[] to HashTable. To create a new tag object, do as follows: `@{tagName1='tagValue1'}` instead of `@{Name='tagName1';Value='tagValue1'}`
125+
* Fixed an issue with Get-AzureRmResourceProvider cmdlet to support querying based on global locations through the Location parameter
126+
* Removed all deprecation warning messages
127+
* Azure Storage
128+
* Get-AzureRmStorageAccountKey
129+
- Cmdlet now returns a list of keys, rather than an object with properties for each key
130+
* New-AzureRmStorageAccountKey
131+
- `StorageAccountRegenerateKeyResponse` field in output of this cmdlet is renamed to `StorageAccountListKeysResults`, which is now a list of keys rather than an object with properties for each key
132+
* New/Get/Set-AzureRmStorageAccount
133+
- `AccountType` field in output of cmdlet is renamed to `Sku.Name`
134+
- Output type for PrimaryEndpoints/Secondary endpoints blob/table/queue/file changed from `Uri` to `String`
135+
* Change -Tag parameter type from HashTable[] to HashTable
136+
- New-AzureRmStorageAccount
137+
- Set-AzureRmStorageAccount
138+
* Added ShouldProcess support
139+
- Set-AzureStorageContainerStoredAccessPolicy
140+
- Set-AzureStorageShareStoredAccessPolicy
141+
- Set-AzureStorageQueueStoredAccessPolicy
142+
- Set-AzureStorageTableStoredAccessPolicy
143+
* Downgraded ConfirmImpact to Medium
144+
- Remove-AzureStorageBlob
145+
- Remove-AzureStorageContainer
146+
- Remove-AzureStorageContainerStoredAccessPolicy
147+
- Remove-AzureStorageFile
148+
- Remove-AzureStorageShare
149+
- Remove-AzureStorageShareStoredAccessPolicy
150+
- Remove-AzureStorageQueue
151+
- Remove-AzureStorageQueueStoredAccessPolicy
152+
- Remove-AzureStorageTable
153+
- Remove-AzureStorageTableStoredAccessPolicy
154+
* Add support for ShouldProcess and -Force parameter to supress confirmation
155+
- Remove-AzureRmStorageAccount
156+
- Set-AzureRmStorageAccount
157+
* Confirmation needed only when there's data in the Container/Table to delete (suppress with -Force)
158+
- Remove-AzureStorageContainer
159+
- Remove-AzureStorageTable
160+
* Azure Batch
161+
* Add virtual network support
162+
- New-AzureBatchPool
163+
* Change -Tag parameter type from HashTable[] to HashTable
164+
- Set-AzureRmBatchAccount
165+
- New-AzureRmBatchAccount
166+
- Get-AzureRmBatchAccount
167+
* Azure Sql
168+
* Extended the auditing cmdlets to support management of blob auditing, both at the database and at the server level
169+
170+
171+
172+
##2016.07.11 version 1.6.0
2173
* **Behavioral change for -Force, –Confirm and $ConfirmPreference parameters for all cmdlets. We are changing this implementation to be in line with PowerShell guidelines. For most cmdlets, this means removing the Force parameter and to skip the ShouldProcess prompt, users will need to include the parameter: ‘-Confirm:$false’ in their PowerShell scripts.** This changes are addressing following issues:
3174
* Correct implementation of –WhatIf functionality, allowing a user to determine the effects of a cmdlet or script without making any actual changes
4175
* Control over prompting using a session-wide $ConfirmPreference, so that the user is prompted based on the impact of a prospective change (as reported in the ConfirmImpact setting in the cmdlet)

build.proj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,9 @@
257257
ExpectedDelaySigned="false"
258258
ContinueOnError="false"
259259
Condition="!$(DelaySign) and '@(DelaySignedAssembliesToSign)' != ''"/>
260-
260+
261+
<Exec Command="$(PowerShellCommand) -NonInteractive -NoLogo -NoProfile -Command &quot;. $(LibraryToolsFolder)\CheckStrongNameSignature.ps1 &quot;"/>
262+
261263
<!-- Copying signed shortcut back -->
262264
<Copy SourceFiles="$(LibrarySourceFolder)\Package\$(Configuration)\AzureRM.psd1"
263265
DestinationFolder="$(LibraryRoot)tools\AzureRM" />
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## Breaking Change Title
2+
3+
The following cmdlets were affected this release:
4+
5+
**Cmdlet-1**
6+
- Description of what has changed
7+
8+
```powershell
9+
# Old
10+
# Sample of how the cmdlet was previously called
11+
12+
# New
13+
# Sample of how the cmdlet should now be called
14+
```
15+
16+
**Cmdlet-2**
17+
- Description of what has changed
18+
19+
```powershell
20+
# Old
21+
# Sample of how the cmdlet was previously called
22+
23+
# New
24+
# Sample of how the cmdlet should now be called
25+
```
26+
27+
For an example migration guide for breaking changes, click [here](release-notes/migration-guide.2.0.0.md).

0 commit comments

Comments
 (0)