Skip to content

Commit f8110d3

Browse files
author
Kamran Khan
committed
Merge remote-tracking branch 'upstream/dev' into dev
2 parents 926d9d4 + 7c63206 commit f8110d3

File tree

87 files changed

+104261
-15760
lines changed

Some content is hidden

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

87 files changed

+104261
-15760
lines changed

ChangeLog.md

Lines changed: 90 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,74 @@
1-
## 2016.09.16 version 2.2.0
1+
## 2016.09.28 version 3.0.0
2+
* This release contains breaking changes. Please see [the migration guide](documentation/release-notes/migration-guide.3.0.0.md) for change details and the impact on existing scripts.
3+
* ApiManagement
4+
* Enable support of Importing and Exporting SOAP based APIs (Wsdl Format)
5+
- Import-AzureRmApiManagementApi
6+
- Export-AzureRmApiManagementApi
7+
* Deprecated cmdlet Set-AzureRmApiManagementVirtualNetworks. In place, place used cmdlet Update-AzureRmApiManagementDeployment
8+
* Enabled support for ARM based VNETs for configuration Vpn via cmdlet Update-AzureRmApiManagementDeployment
9+
* Introduced support for VpnType (None, External, Internal) to differentiate ApiManagement workloads for Internet and Intranet
10+
* Fixed PowerShell issues
11+
- https://github.com/Azure/azure-powershell/issues/2622
12+
- https://github.com/Azure/azure-powershell/issues/2606
13+
* Batch
14+
* Added new cmdlet for reactivating tasks
15+
- Enable-AzureBatchTask
16+
* Added new parameter for application packages on job manager tasks and cloud tasks
17+
- New-AzureBatchTask -ApplicationPackageReferences
18+
* Added new parameters for job auto termination
19+
- New-AzureBatchJob -OnAllTasksComplete -OnTaskFailure
20+
- New-AzureBatchJob -ExitConditions
21+
* ExpressRoute
22+
* Added new parameter service key in return object when provider list all cross connection
23+
- Get-AzureCrossConnectionCommand
24+
* MachineLearning
25+
* Get-AzureRmMlWebService supports paginated response
26+
* Remind user Get-AzureRmMlWebService "Name" parameter needs to work with "ResourceGroupName" parameter
27+
* Network
28+
* Added new cmdlet to get application gateway backend health
29+
- Get-AzureRmApplicationGatewayBackendHealth
30+
* Added support for creating UltraPerformance sku
31+
- New-AzureRmVirtualNetworkGateway -GatewaySku
32+
- New-AzureVirtualNetworkGateway -GatewaySku
33+
* RemoteApp
34+
* Added cmdlets to enable User Disk and Gold Image Migration feature
35+
- Export-AzureRemoteAppUserDisk
36+
- Export-AzureRemoteAppTemplateImage
37+
* SiteRecovery
38+
* New cmdlets have been added to support one to one mapping with service objects.
39+
- Get-AzureRmSiteRecoveryFabric
40+
- Get-AzureRmSiteRecoveryProtectableItem
41+
- Get-AzureRmSiteRecoveryProtectionContainerMapping
42+
- Get-AzureRmSiteRecoveryRecoveryPoin
43+
- Get-AzureRmSiteRecoveryReplicationProtectedItem
44+
- Get-AzureRmSiteRecoveryServicesProvider
45+
- New-AzureRmSiteRecoveryFabri
46+
- New-AzureRmSiteRecoveryProtectionContainerMapping
47+
- New-AzureRmSiteRecoveryReplicationProtectedItem
48+
- Remove-AzureRmSiteRecoveryFabric
49+
- Remove-AzureRmSiteRecoveryProtectionContainerMapping
50+
- Remove-AzureRmSiteRecoveryReplicationProtectedItem
51+
- Remove-AzureRmSiteRecoveryServicesProvider
52+
- Set-AzureRmSiteRecoveryReplicationProtectedItem
53+
- Start-AzureRmSiteRecoveryApplyRecoveryPoint
54+
- Update-AzureRmSiteRecoveryServicesProvider
55+
* Following cmdlets have been modified for to support one to one mapping with service objects.
56+
- Edit-AzureRmSiteRecoveryRecoveryPlan
57+
- Get-AzureRmSiteRecoveryNetwork
58+
- Get-AzureRmSiteRecoveryNetworkMapping
59+
- Get-AzureRmSiteRecoveryProtectionContainer
60+
- Get-AzureRmSiteRecoveryStorageClassification
61+
- Get-AzureRmSiteRecoveryStorageClassificationMapping
62+
- Start-AzureRmSiteRecoveryCommitFailoverJob
63+
- Start-AzureRmSiteRecoveryPlannedFailoverJob
64+
- Start-AzureRmSiteRecoveryTestFailoverJob
65+
- Start-AzureRmSiteRecoveryUnplannedFailoverJob
66+
- Update-AzureRmSiteRecoveryProtectionDirection
67+
- Update-AzureRmSiteRecoveryRecoveryPlan
68+
* HUB support added to Set-AzureRmSiteRecoveryReplicationProtectedItem.
69+
* Deprecation warning introduced for cmlets/parameter-sets which does not comply to SiteRecovery service object model.
70+
71+
## 2016.09.16 version 2.2.0
272
* Network
373
- New switch parameter added for network interface to enable/Disable accelerated networking -New-AzureRmNetworkInterface -EnableAcceleratedNetworking
474

@@ -16,25 +86,25 @@
1686
* Add support for getting and setting unnamed permissions on files and folders
1787
* KeyVault
1888
* Add support for certificates
19-
- Add-AzureRmKeyVaultCertificate
20-
- Add-AzureRmKeyVaultCertificateContact
21-
- Get-AzureRmKeyVaultCertificate
22-
- Get-AzureRmKeyVaultCertificateContact
23-
- Get-AzureRmKeyVaultCertificateIssuer
24-
- Get-AzureRmKeyVaultCertificateOperation
25-
- Get-AzureRmKeyVaultCertificatePolicy
26-
- Import-AzureRmKeyVaultCertificate
27-
- New-AzureRmKeyVaultCertificateAdministratorDetails
28-
- New-AzureRmKeyVaultCertificateOrganizationDetails
29-
- New-AzureRmKeyVaultCertificatePolicy
30-
- Remove-AzureRmKeyVaultCertificate
31-
- Remove-AzureRmKeyVaultCertificateContact
32-
- Remove-AzureRmKeyVaultCertificateIssuer
33-
- Remove-AzureRmKeyVaultCertificateOperation
34-
- Set-AzureRmKeyVaultCertificateAttribute
35-
- Set-AzureRmKeyVaultCertificateIssuer
36-
- Set-AzureRmKeyVaultCertificatePolicy
37-
- Stop-AzureRmKeyVaultCertificateOperation
89+
- Add-AzureKeyVaultCertificate
90+
- Add-AzureKeyVaultCertificateContact
91+
- Get-AzureKeyVaultCertificate
92+
- Get-AzureKeyVaultCertificateContact
93+
- Get-AzureKeyVaultCertificateIssuer
94+
- Get-AzureKeyVaultCertificateOperation
95+
- Get-AzureKeyVaultCertificatePolicy
96+
- Import-AzureKeyVaultCertificate
97+
- New-AzureKeyVaultCertificateAdministratorDetails
98+
- New-AzureKeyVaultCertificateOrganizationDetails
99+
- New-AzureKeyVaultCertificatePolicy
100+
- Remove-AzureKeyVaultCertificate
101+
- Remove-AzureKeyVaultCertificateContact
102+
- Remove-AzureKeyVaultCertificateIssuer
103+
- Remove-AzureKeyVaultCertificateOperation
104+
- Set-AzureKeyVaultCertificateAttribute
105+
- Set-AzureKeyVaultCertificateIssuer
106+
- Set-AzureKeyVaultCertificatePolicy
107+
- Stop-AzureKeyVaultCertificateOperation
38108
* Network
39109
* Enable Active-Active gateway feature PowerShell cmdlets
40110
- Add-AzureRmVirtualNetworkGatewayIpConfig

build.proj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
<UsingTask TaskName="ValidateStrongNameSignatureTask" AssemblyFile="$(LibraryToolsFolder)\Microsoft.Azure.Build.Tasks.dll" />
6363
<UsingTask TaskName="FilterOutAutoRestLibraries" AssemblyFile="$(LibraryToolsFolder)\Microsoft.Azure.Build.Tasks.dll" />
6464
<UsingTask TaskName="DebugTask" AssemblyFile="$(LibraryToolsFolder)\Microsoft.Azure.Build.Tasks.dll" />
65+
<UsingTask TaskName="VerifyAuthenticodeSignatureTask" AssemblyFile="$(LibraryToolsFolder)\Microsoft.Azure.Build.Tasks.dll" />
6566

6667
<!--
6768
CI build related
@@ -261,6 +262,11 @@
261262
ExpectedDelaySigned="false"
262263
ContinueOnError="false"
263264
Condition="!$(DelaySign) and '@(DelaySignedAssembliesToSign)' != ''"/>
265+
266+
<VerifyAuthenticodeSignatureTask ProbingDirectory="$(PackageDirectory)\$(Configuration)"
267+
FileFilterPattern="microsoft.*.dll;system.*.dll;*.ps1;*.psm1">
268+
<Output TaskParameter="AuthCodeSignTaskErrorsDetected" PropertyName="AuthTaskFailed" />
269+
</VerifyAuthenticodeSignatureTask>
264270

265271
<Exec Command="$(PowerShellCommand) -NonInteractive -NoLogo -NoProfile -Command &quot;. $(LibraryToolsFolder)\CheckStrongNameSignature.ps1 &quot;"/>
266272

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
# Using Microsoft.Rest.ClientRuntime.Azure.TestFramework #
2+
3+
1. Getting Started (Another PR that reflects these changes)
4+
2. Accquring TestFramework
5+
3. Setup prior to Record/Playback tests
6+
1. Environment Variables
7+
2. Connection string
8+
3. Defaults
9+
4. Record/Playback tests
10+
1. Playback Tests
11+
2. Record tests using interactive login (using orgId)
12+
3. Record tests using Service Principal
13+
5. Change Test Environment settings at run-time
14+
15+
16+
## 1. Getting Started (Another PR that reflects these changes)
17+
1. Launch .\tools\PS-VSPrompt shortcut
18+
1. This starts VS Dev command prompt in PowerShell
19+
2. Import module that helps in performing basic repository tasks
20+
1. Import-Module Repo-Tasks.psm1
21+
2. Type Get-Commands -Module Repo-Tasks to see list of cmdlets
22+
3. Get-Help <CommandName> to get help on individual commands.
23+
24+
## 2. Accquring TestFramework
25+
Current Version: [1.4.0-preview](https://www.nuget.org/packages/Microsoft.Rest.ClientRuntime.Azure.TestFramework/1.4.0-preview)
26+
27+
Nuget command to install current version
28+
29+
Install-Package Microsoft.Rest.ClientRuntime.Azure.TestFramework -v 1.4.0-preview -Pre
30+
31+
## 3. Setup prior to Record/Playback of tests
32+
In order to Record/Playback a test, you need to setup a connection string that consists various key/value pairs that provides information to the test environment.
33+
34+
#### 3.1 Environment Variables
35+
> TEST_CSM_ORGID_AUTHENTICATION
36+
37+
> AZURE_TEST_MODE
38+
39+
e.g.
40+
TEST_CSM_ORGID_AUTHENTICATION=SubscriptionId=<valid SubscriptionId>;ServicePrincipal=<ClientId>;ServicePrincipalSecret=<Client Secret>;AADTenant=<tenantId>;Environment=Prod;BaseUri=https://management.azure.com/;AADAuthEndpoint=https://login.windows.net/;GraphUri=https://graph.windows.net/
41+
42+
AZURE_TEST_MODE=Record
43+
44+
#### 3.2. Supported Keys in connection string
45+
* ManagementCertificate
46+
* SubscriptionId
47+
* AADTenant
48+
* UserId
49+
* Password
50+
* ServicePrincipal
51+
* ServicePrincipalSecret
52+
* Environment={Prod | DogFood | Next | Current}
53+
* RawToken
54+
* RawGraphToken
55+
* HttpRecorderMode={Record | Playback}
56+
* AADTokenAudienceUri
57+
* BaseUri
58+
* GraphUri
59+
* GalleryUri
60+
* IbizaProtalUri
61+
* DataLakeStoreServiceUri
62+
* DataLakeAnalyticsJobAndCatalogServiceUri
63+
* AADAuthEndpoint
64+
* GraphTokenAudienceUri
65+
66+
#### 3.3. Existing Defaults
67+
Environment.Prod
68+
AADAuthUri = "https://login.microsoftonline.com"
69+
GalleryUri = "https://gallery.azure.com/"
70+
GraphUri = "https://graph.windows.net/"
71+
IbizaPortalUri = "https://portal.azure.com/"
72+
RdfePortalUri = "http://go.microsoft.com/fwlink/?LinkId=254433"
73+
ResourceManagementUri = "https://management.azure.com/"
74+
ServiceManagementUri = "https://management.core.windows.net"
75+
AADTokenAudienceUri = "https://management.core.windows.net"
76+
GraphTokenAudienceUri = "https://graph.windows.net/"
77+
DataLakeStoreServiceUri = "https://azuredatalakestore.net"
78+
DataLakeAnalyticsJobAndCatalogServiceUri = "https://azuredatalakeanalytics.net"
79+
80+
----------
81+
82+
Environment.Dogfood
83+
AADAuthUri = "https://login.windows-ppe.net";
84+
GalleryUri = "https://df.gallery.azure-test.net/";
85+
GraphUri = "https://graph.ppe.windows.net/";
86+
IbizaPortalUri = "http://df.onecloud.azure-test.net";
87+
RdfePortalUri = "https://windows.azure-test.net";
88+
ResourceManagementUri = "https://api-dogfood.resources.windows-int.net/";
89+
ServiceManagementUri = "https://management-preview.core.windows-int.net";
90+
AADTokenAudienceUri = "https://management.core.windows.net";
91+
GraphTokenAudienceUri = "https://graph.ppe.windows.net/";
92+
DataLakeStoreServiceUri = "https://caboaccountdogfood.net";
93+
DataLakeAnalyticsJobAndCatalogServiceUri = "https://konaaccountdogfood.net";
94+
95+
----------
96+
97+
Environment.Next
98+
AADAuthUri = "https://login.windows-ppe.net"
99+
GalleryUri = "https://next.gallery.azure-test.net/"
100+
GraphUri = "https://graph.ppe.windows.net/"
101+
IbizaPortalUri = "http://next.onecloud.azure-test.net"
102+
RdfePortalUri = "https://auxnext.windows.azure-test.net"
103+
ResourceManagementUri = "https://api-next.resources.windows-int.net/"
104+
ServiceManagementUri = "https://managementnext.rdfetest.dnsdemo4.com"
105+
AADTokenAudienceUri = "https://management.core.windows.net"
106+
GraphTokenAudienceUri = "https://graph.ppe.windows.net/"
107+
DataLakeStoreServiceUri = "https://caboaccountdogfood.net"
108+
DataLakeAnalyticsJobAndCatalogServiceUri = "https://konaaccountdogfood.net"
109+
110+
----------
111+
112+
Environment.Current
113+
AADAuthUri = "https://login.windows-ppe.net"
114+
GalleryUri = "https://df.gallery.azure-test.net/"
115+
GraphUri = "https://graph.ppe.windows.net/"
116+
IbizaPortalUri = "http://df.onecloud.azure-test.net"
117+
RdfePortalUri = "https://windows.azure-test.net"
118+
ResourceManagementUri = "https://api-dogfood.resources.windows-int.net/"
119+
ServiceManagementUri = "https://management-preview.core.windows-int.net"
120+
AADTokenAudienceUri = "https://management.core.windows.net"
121+
GraphTokenAudienceUri = "https://graph.ppe.windows.net/"
122+
DataLakeStoreServiceUri = "https://caboaccountdogfood.net"
123+
DataLakeAnalyticsJoAbndCatalogServiceUri = "https://konaaccountdogfood.net"
124+
125+
## 4. Record/Playback Test
126+
#### Playback Test
127+
1. The default mode is Playback mode, so no setting up of connection string is required.
128+
129+
#### Record Test with Interactive login using OrgId
130+
TEST_CSM_ORGID_AUTHENTICATION=SubsctiptionId={SubId};UserId={orgId};AADTenant={tenantId};Environment={env};HttpRecorderMode=Record;
131+
132+
#### Record Test with ServicePrincipal
133+
TEST_CSM_ORGID_AUTHENTICATION=SubsctiptionId={SubId};ServicePrincipal={clientId};ServicePrincipalSecret={clientSecret};AADTenant={tenantId};Environment={env};HttpRecorderMode=Record;
134+
135+
2. Run the test and make sure that you got a generated .json file that matches the test name in the bin folder under *SessionRecords folder
136+
3. Copy SessionRecords folder inside the test project and add all *.json files in Visual Studio setting "Copy to Output Directory" property to "Copy if newer"
137+
4. To assure that the records work fine, delete the connection string (default mode is Playback mode) OR change HttpRecorderMode within the connection string to "Playback"
138+
139+
## 5. Change Test Environment settings at run-time
140+
#### 1. Once you set your connection string, you can add or update key/value settings
141+
142+
Add new key/value pair
143+
TestEnvironment.ConnectionString.KeyValuePairs.Add("Foo", "FooValue");
144+
145+
Update Existing key/value pair
146+
TestEnvironment.ConnectionString.KeyValuePairs["keyName"]="new value"
147+
148+
Accessing/Updating TestEndpoints
149+
TestEnvironment.Endpoints.GraphUri = new Uri("https://newGraphUri.windows.net");
150+
151+
###Note:###
152+
Changing the above properties at run-time has the potential to hard code few things in your tests. Best practice would be to use these properties to change values at run-time from immediate window at run-time and avoid hard-coding certain values.

0 commit comments

Comments
 (0)