Merge remote-tracking branch 'Azure/master' into ADERecoveryService

This commit is contained in:
ayfathim 2019-11-28 16:27:39 +05:30
Родитель b603101247 6c499ecfb4
Коммит 334dc32a8e
282 изменённых файлов: 97419 добавлений и 23126 удалений

Просмотреть файл

@ -5,7 +5,7 @@ variables:
LinuxImage: ubuntu-18.04
MacOSName: macOS
MacOSImage: macOS-10.13
TestFramework: netcoreapp2.1
TestFramework: netcoreapp2.2
TestTarget: Test
Configuration: Debug

Просмотреть файл

@ -1,8 +1,8 @@
variables:
WindowsName: windows
WindowsImage: VS2017-Win2016
TestFramework: net472
TestTarget: TestNet472
TestFramework: netcoreapp2.2
TestTarget: Test
Configuration: Debug
jobs:

Просмотреть файл

@ -1,3 +1,85 @@
## 3.1.0 - November 2019
### Highlights since the last major release
* Az.DataBoxEdge 1.0.0 released
* Az.SqlVirtualMachine 1.0.0 released
#### Az.Compute
* VM Reapply feature
- Add Reapply parameter to Set-AzVM cmdlet
* VM Scale Set AutomaticRepairs feature:
- Add EnableAutomaticRepair, AutomaticRepairGracePeriod, and AutomaticRepairMaxInstanceRepairsPercent parameters to the following cmdlets:
New-AzVmssConfig
Update-AzVmss
* Cross tenant gallery image support for New-AzVM
* Add 'Spot' to the argument completer of Priority parameter in New-AzVM, New-AzVMConfig and New-AzVmss cmdlets
* Add DiskIOPSReadWrite and DiskMBpsReadWrite parameters to Add-AzVmssDataDisk cmdlet
* Change SourceImageId parameter of New-AzGalleryImageVersion cmdlet to optional
* Add OSDiskImage and DataDiskImage parameters to New-AzGalleryImageVersion cmdlet
* Add HyperVGeneration parameter to New-AzGalleryImageDefinition cmdlet
* Add SkipExtensionsOnOverprovisionedVMs parameters to New-AzVmss, New-AzVmssConfig and Update-AzVmss cmdlets
#### Az.DataBoxEdge
* Added cmdlet `Get-AzDataBoxEdgeOrder`
- Get the Order
* Added cmdlet `New-AzDataBoxEdgeOrder`
- Create new Order
* Added cmdlet `Remove-AzDataBoxEdgeOrder`
- Remove the Order
* Change in cmdlet `New-AzDataBoxEdgeShare`
- Now creates Local Share
* Added cmdlet `Set-AzDataBoxEdgeRole`
- Now IotRole can be mapped to Share
* Added cmdlet `Invoke-AzDataBoxEdgeDevice`
- Invoke scan update, download update, install updates on the device
* Added cmdlet `Get-AzDataBoxEdgeTrigger`
- Gets the information about Triggers
* Added cmdlet `New-AzDataBoxEdgeTrigger`
- Create new Triggers
* Added cmdlet `Remove-AzDataBoxEdgeTrigger`
- Remove the Triggers
#### Az.DataFactory
* Update ADF .Net SDK version to 4.4.0
* Add parameter 'ExpressCustomSetup' for 'Set-AzureRmDataFactoryV2IntegrationRuntime' cmd to enable setup configurations and 3rd party components without custom setup script.
#### Az.DataLakeStore
* Update documentation of Get-AzDataLakeStoreDeletedItem and Restore-AzDataLakeStoreDeletedItem
#### Az.EventHub
* Fix for issue 10301 : Fix the SAS Token date format
#### Az.FrontDoor
* Add MinimumTlsVersion parameter to Enable-AzFrontDoorCustomDomainHttps and New-AzFrontDoorFrontendEndpointObject
* Add HealthProbeMethod and EnabledState parameters to New-AzFrontDoorHealthProbeSettingObject
* Add new cmdlet to create BackendPoolsSettings objec to pass into creation/update of Front Door
- New-AzFrontDoorBackendPoolsSettingObject
#### Az.Network
* Change 'Start-AzVirtualNetworkGatewayConnectionPacketCapture.md' and 'Start-AzVirtualnetworkGatewayPacketCapture.md' FilterData option examples.
#### Az.PrivateDns
* Updated PrivateDns .net sdk to version 1.0.0
#### Az.RecoveryServices
* Azure Site Recovery support to select disk type at enabling protection.
* Azure Site Recovery bug fix for recovery plan action edit.
* Azure Backup SQL Restore support to accept filestream DBs.
#### Az.RedisCache
* Added 'MinimumTlsVersion' parameter in 'New-AzRedisCache' and 'Set-AzRedisCache' cmdlets. Also, added 'MinimumTlsVersion' in the output of 'Get-AzRedisCache' cmdlet.
* Added validation on '-Size' parameter for 'Set-AzRedisCache' and 'New-AzRedisCache' cmdlets
#### Az.Resources
- Updated policy cmdlets to use new api version 2019-06-01 that has new EnforcementMode property in policy assignment.
- Updated create policy definition help example
- Fix bug Remove-AZADServicePrincipal -ServicePrincipalName, throw null reference when service principal name not found.
- Fix bug New-AZADServicePrincipal, throw null reference when tenant doesn't have any subscription.
- Change New-AzAdServicePrincipal to add credentials only to associated application.
#### Az.Sql
* Added support for database ReadReplicaCount.
* Fixed Set-AzSqlDatabase when zone redundancy not set
## 3.0.0 - November 2019
### General
* Az.PrivateDns 1.0.0 released

Просмотреть файл

@ -29,7 +29,7 @@
<!-- General -->
<Configuration Condition="'$(Configuration)' != 'Release'">Debug</Configuration>
<Scope Condition="$(Scope) == ''">All</Scope>
<TestFramework Condition="'$(TestFramework)' == ''">netcoreapp2.1</TestFramework>
<TestFramework Condition="'$(TestFramework)' == ''">netcoreapp2.2</TestFramework>
<!-- Flags -->
<CodeSign Condition ="'$(CodeSign)' == ''">false</CodeSign>

Просмотреть файл

@ -1911,7 +1911,9 @@
"Merge-AzReservation": "Merge-AzureRmReservation",
"Split-AzReservation": "Split-AzureRmReservation",
"Get-AzReservationOrderId": "Get-AzureRmReservationOrderId",
"Get-AzReservationCatalog": "Get-AzureRmReservationCatalog"
"Get-AzReservationCatalog": "Get-AzureRmReservationCatalog",
"Get-AzReservationQuote": "Get-AzureRmReservationQuote",
"New-AzReservation": "New-AzureRmReservation"
},
"Az.ResourceGraph": {
"Search-AzGraph": "Search-AzureRmGraph"

Просмотреть файл

@ -11,13 +11,17 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.Attestation" Version="0.9.6-preview" />
<PackageReference Include="Microsoft.Azure.Management.Attestation" Version="0.10.0-preview" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Azure.Management.Attestation">
</Reference>
</ItemGroup>
<ItemGroup>
<None Update="PemFiles\*.*" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIEgDCCBCegAwIBAgIVAJSNWH+S7TzUL/e7UNpLHH2IVoICMAoGCCqGSM49BAMCMHExIzAhBgNV
BAMMGkludGVsIFNHWCBQQ0sgUHJvY2Vzc29yIENBMRowGAYDVQQKDBFJbnRlbCBDb3Jwb3JhdGlv
bjEUMBIGA1UEBwwLU2FudGEgQ2xhcmExCzAJBgNVBAgMAkNBMQswCQYDVQQGEwJVUzAeFw0xOTAx
MDgyMjUwMDlaFw0yNjAxMDgyMjUwMDlaMHAxIjAgBgNVBAMMGUludGVsIFNHWCBQQ0sgQ2VydGlm
aWNhdGUxGjAYBgNVBAoMEUludGVsIENvcnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTEL
MAkGA1UECAwCQ0ExCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJyTADcSZ
qI5q/J2L4w7KLAKmKygcN3EUQNOCjTrGKm+l7lY4v+7Nk2V9Ni7jBulSvq/DVaF1+GaD2Wa1iFGI
kaOCApswggKXMB8GA1UdIwQYMBaAFNDoqtp11/kuSReYPHsUZdDV8llNMF8GA1UdHwRYMFYwVKBS
oFCGTmh0dHBzOi8vYXBpLnRydXN0ZWRzZXJ2aWNlcy5pbnRlbC5jb20vc2d4L2NlcnRpZmljYXRp
b24vdjEvcGNrY3JsP2NhPXByb2Nlc3NvcjAdBgNVHQ4EFgQU8rUw3kBsLXvFpXD8XO7VE9dCBfMw
DgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwggHUBgkqhkiG+E0BDQEEggHFMIIBwTAeBgoq
hkiG+E0BDQEBBBBDEqPl/7XCXw04NRlmTlzbMIIBZAYKKoZIhvhNAQ0BAjCCAVQwEAYLKoZIhvhN
AQ0BAgECAQUwEAYLKoZIhvhNAQ0BAgICAQUwEAYLKoZIhvhNAQ0BAgMCAQIwEAYLKoZIhvhNAQ0B
AgQCAQQwEAYLKoZIhvhNAQ0BAgUCAQEwEQYLKoZIhvhNAQ0BAgYCAgCAMBAGCyqGSIb4TQENAQIH
AgEBMBAGCyqGSIb4TQENAQIIAgEAMBAGCyqGSIb4TQENAQIJAgEAMBAGCyqGSIb4TQENAQIKAgEA
MBAGCyqGSIb4TQENAQILAgEAMBAGCyqGSIb4TQENAQIMAgEAMBAGCyqGSIb4TQENAQINAgEAMBAG
CyqGSIb4TQENAQIOAgEAMBAGCyqGSIb4TQENAQIPAgEAMBAGCyqGSIb4TQENAQIQAgEAMBAGCyqG
SIb4TQENAQIRAgEHMB8GCyqGSIb4TQENAQISBBAFBQIEAYABAAAAAAAAAAAAMBAGCiqGSIb4TQEN
AQMEAgAAMBQGCiqGSIb4TQENAQQEBgCQbqEAADAPBgoqhkiG+E0BDQEFCgEAMAoGCCqGSM49BAMC
A0cAMEQCICTDAJ/R69OXbv0S8HPBVsZMAJ5y8gmaBnxn4RRPqyEmAiBqOPODjj2R+iRD7PSVT9mo
/XK6V4nS8YLejjeeDFovZw==
-----END CERTIFICATE-----

Просмотреть файл

@ -45,6 +45,6 @@ using Xunit;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion( "1.0.0" )]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyVersion( "0.1.2" )]
[assembly: AssemblyFileVersion("0.1.2")]
[assembly: CollectionBehavior(DisableTestParallelization = true)]

Просмотреть файл

@ -38,6 +38,13 @@ namespace Microsoft.Azure.Commands.Attestation.Test.ScenarioTests
{
AttestationController.NewInstance.RunPowerShellTest(_logger, "Test-CreateAttestation");
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestCreateAttestationWithPolicySigningCertificate()
{
AttestationController.NewInstance.RunPowerShellTest(_logger, "Test-CreateAttestationWithPolicySigningCertificate");
}
#endregion
#region Get-AzureRmAttestation

Просмотреть файл

@ -47,6 +47,38 @@ function Test-CreateAttestation
}
}
function Test-CreateAttestationWithPolicySigningCertificate
{
$unknownRGName = getAssetName
$attestationName = getAssetName
$TestOutputRoot = [System.AppDomain]::CurrentDomain.BaseDirectory;
$PemDir = Join-Path $TestOutputRoot "PemFiles"
$file= Join-Path $PemDir "policySigningCerts.pem"
try
{
$rgName = Create-ResourceGroup
$attestationCreated = New-AzAttestation -Name $attestationName -ResourceGroupName $rgName.ResourceGroupName -PolicySigningCertificateFile $file
Assert-NotNull attestationCreated
Assert-AreEqual $attestationName $attestationCreated.Name
Assert-NotNull attestationCreated.AttesUri
Assert-NotNull attestationCreated.Id
Assert-NotNull attestationCreated.Status
# Test throws for existing attestation
Assert-Throws { New-AzAttestation -Name $attestationName -ResourceGroupName $rgName.ResourceGroupName -AttestationPolicy $attestationPolicy}
# Test throws for resourcegroup nonexistent
Assert-Throws { New-AzAttestation -Name $attestationName -ResourceGroupName $unknownRGName -AttestationPolicy $attestationPolicy}
}
finally
{
Clean-ResourceGroup $rgName.ResourceGroupName
}
}
<#
.SYNOPSIS
Test Get-AzAttestation
@ -94,4 +126,4 @@ function Test-DeleteAttestationByName
{
Clean-ResourceGroup $rgName.ResourceGroupName
}
}
}

Просмотреть файл

@ -0,0 +1,572 @@
{
"Entries": [
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/resourcegroups/ps1067?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L3Jlc291cmNlZ3JvdXBzL3BzMTA2Nz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"WestUS\"\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"ba54ba48-618e-4646-9d5a-1ccb0c4ce3ab"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"28"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1199"
],
"x-ms-request-id": [
"cc861ed2-8bf7-4e28-8c7a-25d98b3b63ad"
],
"x-ms-correlation-request-id": [
"cc861ed2-8bf7-4e28-8c7a-25d98b3b63ad"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185455Z:cc861ed2-8bf7-4e28-8c7a-25d98b3b63ad"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:54:54 GMT"
],
"Content-Length": [
"165"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"id\": \"/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/resourceGroups/ps1067\",\r\n \"name\": \"ps1067\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
"StatusCode": 201
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/resourceGroups/ps1067/providers/Microsoft.Attestation/attestationProviders/ps5870?api-version=2018-09-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L3Jlc291cmNlR3JvdXBzL3BzMTA2Ny9wcm92aWRlcnMvTWljcm9zb2Z0LkF0dGVzdGF0aW9uL2F0dGVzdGF0aW9uUHJvdmlkZXJzL3BzNTg3MD9hcGktdmVyc2lvbj0yMDE4LTA5LTAxLXByZXZpZXc=",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"policySigningCertificates\": {\r\n \"keys\": [\r\n {\r\n \"kty\": \"RSA\",\r\n \"x5c\": [\r\n \"MIIEgDCCBCegAwIBAgIVAJSNWH+S7TzUL/e7UNpLHH2IVoICMAoGCCqGSM49BAMCMHExIzAhBgNVBAMMGkludGVsIFNHWCBQQ0sgUHJvY2Vzc29yIENBMRowGAYDVQQKDBFJbnRlbCBDb3Jwb3JhdGlvbjEUMBIGA1UEBwwLU2FudGEgQ2xhcmExCzAJBgNVBAgMAkNBMQswCQYDVQQGEwJVUzAeFw0xOTAxMDgyMjUwMDlaFw0yNjAxMDgyMjUwMDlaMHAxIjAgBgNVBAMMGUludGVsIFNHWCBQQ0sgQ2VydGlmaWNhdGUxGjAYBgNVBAoMEUludGVsIENvcnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJyTADcSZqI5q/J2L4w7KLAKmKygcN3EUQNOCjTrGKm+l7lY4v+7Nk2V9Ni7jBulSvq/DVaF1+GaD2Wa1iFGIkaOCApswggKXMB8GA1UdIwQYMBaAFNDoqtp11/kuSReYPHsUZdDV8llNMF8GA1UdHwRYMFYwVKBSoFCGTmh0dHBzOi8vYXBpLnRydXN0ZWRzZXJ2aWNlcy5pbnRlbC5jb20vc2d4L2NlcnRpZmljYXRpb24vdjEvcGNrY3JsP2NhPXByb2Nlc3NvcjAdBgNVHQ4EFgQU8rUw3kBsLXvFpXD8XO7VE9dCBfMwDgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwggHUBgkqhkiG+E0BDQEEggHFMIIBwTAeBgoqhkiG+E0BDQEBBBBDEqPl/7XCXw04NRlmTlzbMIIBZAYKKoZIhvhNAQ0BAjCCAVQwEAYLKoZIhvhNAQ0BAgECAQUwEAYLKoZIhvhNAQ0BAgICAQUwEAYLKoZIhvhNAQ0BAgMCAQIwEAYLKoZIhvhNAQ0BAgQCAQQwEAYLKoZIhvhNAQ0BAgUCAQEwEQYLKoZIhvhNAQ0BAgYCAgCAMBAGCyqGSIb4TQENAQIHAgEBMBAGCyqGSIb4TQENAQIIAgEAMBAGCyqGSIb4TQENAQIJAgEAMBAGCyqGSIb4TQENAQIKAgEAMBAGCyqGSIb4TQENAQILAgEAMBAGCyqGSIb4TQENAQIMAgEAMBAGCyqGSIb4TQENAQINAgEAMBAGCyqGSIb4TQENAQIOAgEAMBAGCyqGSIb4TQENAQIPAgEAMBAGCyqGSIb4TQENAQIQAgEAMBAGCyqGSIb4TQENAQIRAgEHMB8GCyqGSIb4TQENAQISBBAFBQIEAYABAAAAAAAAAAAAMBAGCiqGSIb4TQENAQMEAgAAMBQGCiqGSIb4TQENAQQEBgCQbqEAADAPBgoqhkiG+E0BDQEFCgEAMAoGCCqGSM49BAMCA0cAMEQCICTDAJ/R69OXbv0S8HPBVsZMAJ5y8gmaBnxn4RRPqyEmAiBqOPODjj2R+iRD7PSVT9mo/XK6V4nS8YLejjeeDFovZw==\"\r\n ]\r\n }\r\n ]\r\n }\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"38c40470-0d75-4766-86ad-7d2d10c28409"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Attestation.AttestationManagementClient/0.9.6.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"1693"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"fabric:/AttestationService/Tenant/ps5870"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1199"
],
"Server": [
"Kestrel"
],
"WWW-Authenticate": [
"Bearer authorization_uri=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://attest.azure.net\""
],
"x-ms-request-id": [
"4fc57c5d-3ebb-4bac-a918-65655cdec2e5"
],
"x-ms-correlation-request-id": [
"4fc57c5d-3ebb-4bac-a918-65655cdec2e5"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185457Z:4fc57c5d-3ebb-4bac-a918-65655cdec2e5"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:54:56 GMT"
],
"Content-Length": [
"293"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"id\": \"subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/resourceGroups/ps1067/providers/Microsoft.Attestation/attestationProviders/ps5870\",\r\n \"name\": \"ps5870\",\r\n \"type\": \"Microsoft.Attestation/attestationProviders\",\r\n \"properties\": {\r\n \"status\": \"NotReady\",\r\n \"attestUri\": \"https://ps5870.us.attest.azure.net\"\r\n }\r\n}",
"StatusCode": 201
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/resourceGroups/ps1067/providers/Microsoft.Attestation/attestationProviders/ps5870?api-version=2018-09-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L3Jlc291cmNlR3JvdXBzL3BzMTA2Ny9wcm92aWRlcnMvTWljcm9zb2Z0LkF0dGVzdGF0aW9uL2F0dGVzdGF0aW9uUHJvdmlkZXJzL3BzNTg3MD9hcGktdmVyc2lvbj0yMDE4LTA5LTAxLXByZXZpZXc=",
"RequestMethod": "PUT",
"RequestBody": "{}",
"RequestHeaders": {
"x-ms-client-request-id": [
"b900ae90-27f8-4608-8614-db999a3ee0b8"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Attestation.AttestationManagementClient/0.9.6.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1198"
],
"Server": [
"Kestrel"
],
"WWW-Authenticate": [
"Bearer authorization_uri=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://attest.azure.net\""
],
"x-ms-request-id": [
"c4e6ac05-88cf-48b0-9645-d19a5efe13fa"
],
"x-ms-correlation-request-id": [
"c4e6ac05-88cf-48b0-9645-d19a5efe13fa"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185457Z:c4e6ac05-88cf-48b0-9645-d19a5efe13fa"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:54:56 GMT"
],
"Content-Length": [
"138"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"DuplicateTenant\",\r\n \"message\": \"The given service URI 'ps5870' is already in use. Please try again with a different name.\"\r\n }\r\n}",
"StatusCode": 409
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/resourceGroups/ps9443/providers/Microsoft.Attestation/attestationProviders/ps5870?api-version=2018-09-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L3Jlc291cmNlR3JvdXBzL3BzOTQ0My9wcm92aWRlcnMvTWljcm9zb2Z0LkF0dGVzdGF0aW9uL2F0dGVzdGF0aW9uUHJvdmlkZXJzL3BzNTg3MD9hcGktdmVyc2lvbj0yMDE4LTA5LTAxLXByZXZpZXc=",
"RequestMethod": "PUT",
"RequestBody": "{}",
"RequestHeaders": {
"x-ms-client-request-id": [
"b39e8471-3604-471a-8721-a837c884c553"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Attestation.AttestationManagementClient/0.9.6.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-failure-cause": [
"gateway"
],
"x-ms-request-id": [
"59ed4ad8-856b-4693-8580-85b13e7a7a97"
],
"x-ms-correlation-request-id": [
"59ed4ad8-856b-4693-8580-85b13e7a7a97"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185457Z:59ed4ad8-856b-4693-8580-85b13e7a7a97"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:54:56 GMT"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
],
"Content-Length": [
"98"
]
},
"ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceGroupNotFound\",\r\n \"message\": \"Resource group 'ps9443' could not be found.\"\r\n }\r\n}",
"StatusCode": 404
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/resourcegroups/ps1067?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L3Jlc291cmNlZ3JvdXBzL3BzMTA2Nz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"85abf734-7293-403f-8433-546b4f871ff1"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzEwNjctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-deletes": [
"14999"
],
"x-ms-request-id": [
"7fda2b3e-f7d4-4f6c-8ea3-e3293a9233ed"
],
"x-ms-correlation-request-id": [
"7fda2b3e-f7d4-4f6c-8ea3-e3293a9233ed"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185457Z:7fda2b3e-f7d4-4f6c-8ea3-e3293a9233ed"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:54:57 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzEwNjctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpFd05qY3RWMFZUVkZWVElpd2lhbTlpVEc5allYUnBiMjRpT2lKM1pYTjBkWE1pZlE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzEwNjctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11999"
],
"x-ms-request-id": [
"4f60ab0f-2f7d-4307-a8e3-554daa2640a7"
],
"x-ms-correlation-request-id": [
"4f60ab0f-2f7d-4307-a8e3-554daa2640a7"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185513Z:4f60ab0f-2f7d-4307-a8e3-554daa2640a7"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:55:12 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzEwNjctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpFd05qY3RWMFZUVkZWVElpd2lhbTlpVEc5allYUnBiMjRpT2lKM1pYTjBkWE1pZlE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzEwNjctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11998"
],
"x-ms-request-id": [
"c490f1ab-a2a6-4278-ad8b-3b19eb1ba77c"
],
"x-ms-correlation-request-id": [
"c490f1ab-a2a6-4278-ad8b-3b19eb1ba77c"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185528Z:c490f1ab-a2a6-4278-ad8b-3b19eb1ba77c"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:55:27 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzEwNjctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpFd05qY3RWMFZUVkZWVElpd2lhbTlpVEc5allYUnBiMjRpT2lKM1pYTjBkWE1pZlE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11997"
],
"x-ms-request-id": [
"2a3bae19-8dfa-4d21-8a2b-6d3d517772cb"
],
"x-ms-correlation-request-id": [
"2a3bae19-8dfa-4d21-8a2b-6d3d517772cb"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185543Z:2a3bae19-8dfa-4d21-8a2b-6d3d517772cb"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:55:42 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/a724c543-53ce-44a6-b633-e11ef27839b7/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzEwNjctV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvYTcyNGM1NDMtNTNjZS00NGE2LWI2MzMtZTExZWYyNzgzOWI3L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpFd05qY3RWMFZUVkZWVElpd2lhbTlpVEc5allYUnBiMjRpT2lKM1pYTjBkWE1pZlE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18363.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11996"
],
"x-ms-request-id": [
"fa44660e-2953-4f80-9431-1a4c80d1165e"
],
"x-ms-correlation-request-id": [
"fa44660e-2953-4f80-9431-1a4c80d1165e"
],
"x-ms-routing-request-id": [
"WESTUS:20191126T185543Z:fa44660e-2953-4f80-9431-1a4c80d1165e"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Tue, 26 Nov 2019 18:55:42 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
}
],
"Names": {
"Test-CreateAttestationWithPolicySigningCertificate": [
"ps9443",
"ps5870",
"ps1067"
]
},
"Variables": {
"SubscriptionId": "a724c543-53ce-44a6-b633-e11ef27839b7"
}
}

Просмотреть файл

@ -12,7 +12,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.Attestation" Version="0.9.6-preview" />
<PackageReference Include="Microsoft.Azure.Management.Attestation" Version="0.10.0-preview" />
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="5.6.0" />
</ItemGroup>
<ItemGroup>

Просмотреть файл

@ -77,16 +77,6 @@ namespace Microsoft.Azure.Commands.Attestation
ResourceGroupName = resourceIdentifier.ResourceGroupName;
}
if (string.IsNullOrEmpty(Name))
{
throw new CloudException(string.Format("ResourceNotSpecified", Name));
}
if (string.IsNullOrEmpty(ResourceGroupName))
{
throw new CloudException(string.Format("ResourceGroupNotSpecified", ResourceGroupName));
}
PSAttestation attestation = AttestationClient.GetAttestation(Name, ResourceGroupName);
this.WriteObject(attestation);
}

Просмотреть файл

@ -12,10 +12,15 @@
// limitations under the License.
// ----------------------------------------------------------------------------------
using System;
using System.IO;
using Microsoft.Azure.Commands.Attestation.Models;
using Microsoft.Azure.Commands.Attestation.Properties;
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
using System.Management.Automation;
using System.Security.Cryptography.X509Certificates;
using Microsoft.Azure.Management.Attestation.Models;
using AttestationProperties = Microsoft.Azure.Commands.Attestation.Properties;
namespace Microsoft.Azure.Commands.Attestation
{
@ -55,20 +60,46 @@ namespace Microsoft.Azure.Commands.Attestation
HelpMessage =
"Specifies the attestation policy passed in which to create the attestation."
)]
[ValidateNotNullOrEmpty]
public string AttestationPolicy { get; set; }
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage =
"Specifies the configuration signing keys passed in which to create the attestation."
)]
public string PolicySigningCertificateFile { get; set; }
#endregion
public override void ExecuteCmdlet()
{
if (ShouldProcess(Name, Resources.CreateAttestation))
if (ShouldProcess(Name, Resources.CreateAttestation))
{
JSONWebKeySet jsonWebKeySet = null;
if (this.PolicySigningCertificateFile != null)
{
FileInfo certFile = new FileInfo(ResolveUserPath(this.PolicySigningCertificateFile));
if (!certFile.Exists)
{
throw new FileNotFoundException(string.Format(AttestationProperties.Resources.CertificateFileNotFound, this.PolicySigningCertificateFile));
}
var pem = System.IO.File.ReadAllText(certFile.FullName);
X509Certificate2Collection certificateCollection = AttestationClient.GetX509CertificateFromPEM(pem, "CERTIFICATE");
if (certificateCollection.Count != 0)
{
jsonWebKeySet = AttestationClient.GetJSONWebKeySet(certificateCollection);
}
}
var newAttestation = AttestationClient.CreateNewAttestation(new AttestationCreationParameters()
{
ProviderName = this.Name,
ResourceGroupName = this.ResourceGroupName,
AttestationPolicy = this.AttestationPolicy
AttestationPolicy = this.AttestationPolicy,
PolicySigningCertificates = jsonWebKeySet
});
this.WriteObject(newAttestation);
}

Просмотреть файл

@ -18,16 +18,16 @@ namespace Microsoft.Azure.Commands.Attestation.Models
{
public class AttestationManagementCmdletBase : AzureRMCmdlet
{
private AttestationClient attestationClient;
private AttestationManagementClient attestationClient;
public AttestationClient AttestationClient
public AttestationManagementClient AttestationClient
{
get
{
if (attestationClient == null)
{
attestationClient = new AttestationClient(DefaultContext);
attestationClient = new AttestationManagementClient(DefaultContext);
}
return attestationClient;
}

Просмотреть файл

@ -12,6 +12,8 @@
// limitations under the License.
// ----------------------------------------------------------------------------------
using Microsoft.Azure.Management.Attestation.Models;
namespace Microsoft.Azure.Commands.Attestation.Models
{
public class AttestationCreationParameters
@ -19,5 +21,7 @@ namespace Microsoft.Azure.Commands.Attestation.Models
public string ProviderName { get; set; }
public string ResourceGroupName { get; set; }
public string AttestationPolicy { get; set; }
public JSONWebKeySet PolicySigningCertificates { get; set; }
}
}

Просмотреть файл

@ -13,23 +13,25 @@
// ----------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using Microsoft.Azure.Commands.Common.Authentication;
using Microsoft.Azure.Management.Attestation;
using Microsoft.Azure.Management.Attestation.Models;
using Microsoft.Azure.Commands.Common.Authentication.Abstractions;
using System.Security.Cryptography.X509Certificates;
using Microsoft.IdentityModel.JsonWebTokens;
namespace Microsoft.Azure.Commands.Attestation.Models
{
public class AttestationClient
public class AttestationManagementClient
{
private readonly AttestationManagementClient attestationClient;
private readonly Management.Attestation.AttestationManagementClient attestationClient;
public AttestationClient(IAzureContext context)
public AttestationManagementClient(IAzureContext context)
{
attestationClient = AzureSession.Instance.ClientFactory.CreateArmClient<AttestationManagementClient>(context, AzureEnvironment.Endpoint.ResourceManager);
attestationClient = AzureSession.Instance.ClientFactory.CreateArmClient<Management.Attestation.AttestationManagementClient>(context, AzureEnvironment.Endpoint.ResourceManager);
}
public AttestationClient()
public AttestationManagementClient()
{
}
public PSAttestation CreateNewAttestation(AttestationCreationParameters parameters)
@ -38,11 +40,11 @@ namespace Microsoft.Azure.Commands.Attestation.Models
{
throw new ArgumentNullException("parameters");
}
if (string.IsNullOrWhiteSpace(parameters.ProviderName))
if (string.IsNullOrEmpty(parameters.ProviderName))
{
throw new ArgumentNullException("parameters.ProviderName");
}
if (string.IsNullOrWhiteSpace(parameters.ResourceGroupName))
if (string.IsNullOrEmpty(parameters.ResourceGroupName))
{
throw new ArgumentNullException("parameters.ResourceGroupName");
}
@ -51,6 +53,11 @@ namespace Microsoft.Azure.Commands.Attestation.Models
{
_creationParams.AttestationPolicy = parameters.AttestationPolicy;
}
if (parameters.PolicySigningCertificates != null)
{
_creationParams.PolicySigningCertificates = parameters.PolicySigningCertificates;
}
var response = attestationClient.AttestationProviders.Create(
resourceGroupName: parameters.ResourceGroupName,
@ -61,11 +68,11 @@ namespace Microsoft.Azure.Commands.Attestation.Models
public PSAttestation GetAttestation(string attestationName, string resourceGroupName)
{
if (string.IsNullOrWhiteSpace(attestationName))
if (string.IsNullOrEmpty(attestationName))
{
throw new ArgumentNullException("attestationName");
}
if (string.IsNullOrWhiteSpace(resourceGroupName))
if (string.IsNullOrEmpty(resourceGroupName))
{
throw new ArgumentNullException("resourceGroupName");
}
@ -74,16 +81,55 @@ namespace Microsoft.Azure.Commands.Attestation.Models
}
public void DeleteAttestation(string attestationName, string resourceGroupName)
{
if (string.IsNullOrWhiteSpace(attestationName))
if (string.IsNullOrEmpty(attestationName))
{
throw new ArgumentNullException("attestationName");
}
if (string.IsNullOrWhiteSpace(resourceGroupName))
if (string.IsNullOrEmpty(resourceGroupName))
{
throw new ArgumentNullException("resourceGroupName");
}
attestationClient.AttestationProviders.Delete(resourceGroupName, attestationName);
}
public X509Certificate2Collection GetX509CertificateFromPEM(string pemString, string section)
{
X509Certificate2Collection certificateCollection = new X509Certificate2Collection();
var header = String.Format("-----BEGIN {0}-----", section);
var footer = String.Format("-----END {0}-----", section);
var start = 0;
var lengthOfSection = 0;
while (true)
{
start = pemString.IndexOf(header, StringComparison.Ordinal);
if (start < 0)
break;
start += header.Length;
lengthOfSection = pemString.IndexOf(footer, start, StringComparison.Ordinal) - start;
if (lengthOfSection < 0)
break;
byte [] certBuffer = Convert.FromBase64String(pemString.Substring(start, lengthOfSection));
X509Certificate2 certs = new X509Certificate2(certBuffer);
certificateCollection.Add(certs);
pemString = pemString.Substring(start + lengthOfSection);
}
return certificateCollection;
}
public JSONWebKeySet GetJSONWebKeySet(X509Certificate2Collection certificateCollection)
{
var jwks = new JSONWebKeySet();
jwks.Keys = new List<JSONWebKey>();
foreach (var certificate in certificateCollection)
{
var jwk = new JSONWebKey() { Kty = "RSA" };
jwk.X5c = new List<string>() { System.Convert.ToBase64String(certificate.Export(X509ContentType.Cert)) };
jwks.Keys.Add(jwk);
}
return jwks;
}
}
}

Просмотреть файл

@ -14,7 +14,8 @@ Creates an attestation
```
New-AzAttestation -Name <String> -ResourceGroupName <String> [-AttestationPolicy <String>]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
[-PolicySigningCertificateFile <String>] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
## DESCRIPTION
@ -34,7 +35,28 @@ ResoureGroupName : rg1
SubscriptionId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
```
Create a new Attestation "example" in current Subscription, Resource Group "rg1"
### Example 2
```powershell
PS C:\> New-AzAttestation -Name example -ResourceGroupName rg1 -AttestationPolicy SgxDisableDebugMode
Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/rg1/providers/Microsoft.Attestation/attestationProviders/example
Name : example
Type : Microsoft.Attestation/attestationProviders
Status : Ready
AttesUri : https://example.us.attest.azure.net
ResoureGroupName : rg1
SubscriptionId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
```
### Example 3
```powershell
PS C:\> New-AzAttestation -Name example -ResourceGroupName rg1 -PolicySigningCertificateFile c:\test\certs.pem
Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/rg1/providers/Microsoft.Attestation/attestationProviders/example
Name : example
Type : Microsoft.Attestation/attestationProviders
Status : Ready
AttesUri : https://example.us.attest.azure.net
ResoureGroupName : rg1
SubscriptionId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
```
## PARAMETERS
@ -86,6 +108,21 @@ Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
```
### -PolicySigningCertificateFile
Specifies the configuration signing keys passed in which to create the attestation.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
```
### -ResourceGroupName
Specifies the name of an existing resource group in which to create the attestation.

Просмотреть файл

@ -9,7 +9,7 @@
<PropertyGroup>
<RootNamespace>$(LegacyAssemblyPrefix)$(PsModuleName)$(AzTestAssemblySuffix)</RootNamespace>
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
<TargetFrameworks>netcoreapp2.0;netcoreapp2.1</TargetFrameworks>
<TargetFrameworks>netcoreapp2.2;netcoreapp2.1</TargetFrameworks>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -11,7 +11,7 @@
<!-- Build -->
<PropertyGroup>
<TargetFrameworks>netcoreapp2.1;netcoreapp2.0;netstandard2.0</TargetFrameworks>
<TargetFrameworks>netcoreapp2.2;netcoreapp2.1;netstandard2.0</TargetFrameworks>
<AssemblyName>$(AzAssemblyPrefix)$(PsModuleName)$(AzTestAssemblySuffix)</AssemblyName>
<RootNamespace>$(AzAssemblyPrefix)$(PsModuleName)$(AzTestAssemblySuffix)</RootNamespace>
<IsPackable>false</IsPackable>

Просмотреть файл

@ -123,5 +123,12 @@ namespace Microsoft.Azure.Commands.Compute.Test.ScenarioTests
{
TestRunner.RunTestScript("Test-SimpleNewVmssScaleInPolicy");
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void SimpleNewVmssSkipExtOverprovision()
{
TestRunner.RunTestScript("Test-SimpleNewVmssSkipExtOverprovision");
}
}
}

Просмотреть файл

@ -470,3 +470,32 @@ function Test-SimpleNewVmssScaleInPolicy
Clean-ResourceGroup $vmssname
}
}
<#
.SYNOPSIS
Test Simple Paremeter Set for New Vmss with SkipExtensionsOnOverprovisionedVMs.
#>
function Test-SimpleNewVmssSkipExtOverprovision
{
# Setup
$vmssname = Get-ResourceName
try
{
$username = "admin01"
$password = Get-PasswordForVM | ConvertTo-SecureString -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
[string]$domainNameLabel = "$vmssname$vmssname".tolower();
# Common
New-AzVmss -Name $vmssname -Location "westus2" -Credential $cred -DomainNameLabel $domainNameLabel `
-SkipExtensionsOnOverprovisionedVMs;
$vmss = Get-AzVmss -ResourceGroupName $vmssname -Name $vmssname;
Assert-True { $vmss.DoNotRunExtensionsOnOverprovisionedVMs };
}
finally
{
# Cleanup
Clean-ResourceGroup $vmssname
}
}

Просмотреть файл

@ -133,11 +133,12 @@ function Test-VirtualMachineScaleSetProfile
$exttype2 = 'AzureCATExtensionHandler';
$extver2 = '2.2';
$vmss2 = New-AzVmssConfig -Location $loc -SkuCapacity 2 -SkuName 'Standard_A0' -UpgradePolicyMode 'Automatic' -DisableAutoRollback $false `
$vmss2 = New-AzVmssConfig -Location $loc -SkuCapacity 2 -SkuName 'Standard_A0' -UpgradePolicyMode 'Automatic' -DisableAutoRollback $false -SkipExtensionsOnOverprovisionedVMs `
| Add-AzVmssExtension -Name $extname -Publisher $publisher -Type $exttype -TypeHandlerVersion $extver -AutoUpgradeMinorVersion $false `
| Add-AzVmssExtension -Name $extname2 -Publisher $publisher2 -Type $exttype2 -TypeHandlerVersion $extver2 -AutoUpgradeMinorVersion $false -ProvisionAfterExtension $extname;
Assert-False { $vmss2.UpgradePolicy.AutomaticOSUpgradePolicy.DisableAutomaticRollback };
Assert-True { $vmss2.DoNotRunExtensionsOnOverprovisionedVMs };
Assert-AreEqual $extname $vmss2.VirtualMachineProfile.ExtensionProfile.Extensions[0].Name;
Assert-False { $vmss2.VirtualMachineProfile.ExtensionProfile.Extensions[0].AutoUpgradeMinorVersion };

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -3,7 +3,7 @@
#
# Generated by: Microsoft Corporation
#
# Generated on: 10/29/2019
# Generated on: 11/21/2019
#
@{
@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '3.0.0'
ModuleVersion = '3.1.0'
# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'
@ -203,31 +203,19 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Disk Encryption Set feature
- New cmdlets:
New-AzDiskEncryptionSetConfig
New-AzDiskEncryptionSet
Get-AzDiskEncryptionSet
Remove-AzDiskEncryptionSet
- DiskEncryptionSetId parameter is added to the following cmdlets:
Set-AzImageOSDisk
Set-AzVMOSDisk
Set-AzVmssStorageProfile
Add-AzImageDataDisk
New-AzVMDataDisk
Set-AzVMDataDisk
Add-AzVMDataDisk
Add-AzVmssDataDisk
Add-AzVmssVMDataDisk
- DiskEncryptionSetId and EncryptionType parameters are added to the following cmdlets:
New-AzDiskConfig
New-AzSnapshotConfig
* Add PublicIPAddressVersion parameter to New-AzVmssIPConfig
* Move FileUris of custom script extension from public setting to protected setting
* Add ScaleInPolicy to New-AzVmss, New-AzVmssConfig and Update-AzVmss cmdlets
* Breaking changes
- UploadSizeInBytes parameter is used instead of DiskSizeGB for New-AzDiskConfig when CreateOption is Upload
- PublishingProfile.Source.ManagedImage.Id is replaced with StorageProfile.Source.Id in GalleryImageVersion object'
ReleaseNotes = '* VM Reapply feature
- Add Reapply parameter to Set-AzVM cmdlet
* VM Scale Set AutomaticRepairs feature:
- Add EnableAutomaticRepair, AutomaticRepairGracePeriod, and AutomaticRepairMaxInstanceRepairsPercent parameters to the following cmdlets:
New-AzVmssConfig
Update-AzVmss
* Cross tenant gallery image support for New-AzVM
* Add ''Spot'' to the argument completer of Priority parameter in New-AzVM, New-AzVMConfig and New-AzVmss cmdlets
* Add DiskIOPSReadWrite and DiskMBpsReadWrite parameters to Add-AzVmssDataDisk cmdlet
* Change SourceImageId parameter of New-AzGalleryImageVersion cmdlet to optional
* Add OSDiskImage and DataDiskImage parameters to New-AzGalleryImageVersion cmdlet
* Add HyperVGeneration parameter to New-AzGalleryImageDefinition cmdlet
* Add SkipExtensionsOnOverprovisionedVMs parameters to New-AzVmss, New-AzVmssConfig and Update-AzVmss cmdlets'
# Prerelease string of this module
# Prerelease = ''

Просмотреть файл

@ -19,6 +19,8 @@
- Additional information about change #1
-->
## Upcoming Release
## Version 3.1.0
* VM Reapply feature
- Add Reapply parameter to Set-AzVM cmdlet
* VM Scale Set AutomaticRepairs feature:
@ -31,6 +33,7 @@
* Change SourceImageId parameter of New-AzGalleryImageVersion cmdlet to optional
* Add OSDiskImage and DataDiskImage parameters to New-AzGalleryImageVersion cmdlet
* Add HyperVGeneration parameter to New-AzGalleryImageDefinition cmdlet
* Add SkipExtensionsOnOverprovisionedVMs parameters to New-AzVmss, New-AzVmssConfig and Update-AzVmss cmdlets
## Version 3.0.0
* Disk Encryption Set feature

Просмотреть файл

@ -104,6 +104,10 @@ namespace Microsoft.Azure.Commands.Compute.Automation
ValueFromPipelineByPropertyName = true)]
public VirtualMachineScaleSetExtension[] Extension { get; set; }
[Parameter(
Mandatory = false)]
public SwitchParameter SkipExtensionsOnOverprovisionedVMs { get; set; }
[Parameter(
Mandatory = false,
ValueFromPipelineByPropertyName = true)]
@ -616,6 +620,7 @@ namespace Microsoft.Azure.Commands.Compute.Automation
var vVirtualMachineScaleSet = new PSVirtualMachineScaleSet
{
Overprovision = this.IsParameterBound(c => c.Overprovision) ? this.Overprovision : (bool?)null,
DoNotRunExtensionsOnOverprovisionedVMs = this.SkipExtensionsOnOverprovisionedVMs.IsPresent ? true : (bool?)null,
SinglePlacementGroup = this.IsParameterBound(c => c.SinglePlacementGroup) ? this.SinglePlacementGroup : (bool?)null,
ZoneBalance = this.ZoneBalance.IsPresent ? true : (bool?)null,
PlatformFaultDomainCount = this.IsParameterBound(c => c.PlatformFaultDomainCount) ? this.PlatformFaultDomainCount : (int?)null,

Просмотреть файл

@ -255,6 +255,10 @@ namespace Microsoft.Azure.Commands.Compute.Automation
Mandatory = false)]
public bool SinglePlacementGroup { get; set; }
[Parameter(
Mandatory = false)]
public bool SkipExtensionsOnOverprovisionedVMs { get; set; }
[Parameter(
Mandatory = false)]
public int SkuCapacity { get; set; }
@ -917,6 +921,15 @@ namespace Microsoft.Azure.Commands.Compute.Automation
this.VirtualMachineScaleSetUpdate.SinglePlacementGroup = this.SinglePlacementGroup;
}
if (this.IsParameterBound(c => c.SkipExtensionsOnOverprovisionedVMs))
{
if (this.VirtualMachineScaleSetUpdate == null)
{
this.VirtualMachineScaleSetUpdate = new VirtualMachineScaleSetUpdate();
}
this.VirtualMachineScaleSetUpdate.DoNotRunExtensionsOnOverprovisionedVMs = this.SkipExtensionsOnOverprovisionedVMs;
}
if (this.IsParameterBound(c => c.SkuCapacity))
{
if (this.VirtualMachineScaleSetUpdate == null)
@ -1555,6 +1568,11 @@ namespace Microsoft.Azure.Commands.Compute.Automation
this.VirtualMachineScaleSet.SinglePlacementGroup = this.SinglePlacementGroup;
}
if (this.IsParameterBound(c => c.SkipExtensionsOnOverprovisionedVMs))
{
this.VirtualMachineScaleSet.DoNotRunExtensionsOnOverprovisionedVMs = this.SkipExtensionsOnOverprovisionedVMs;
}
if (this.IsParameterBound(c => c.SkuCapacity))
{
if (this.VirtualMachineScaleSet.Sku == null)

Просмотреть файл

@ -162,6 +162,11 @@ namespace Microsoft.Azure.Commands.Compute.Automation
[PSArgumentCompleter("Default", "OldestVM", "NewestVM")]
public string[] ScaleInPolicy { get; set; }
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false,
HelpMessage = "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. "
+ "This property will hence ensure that the extensions do not run on the extra overprovisioned VMs.")]
public SwitchParameter SkipExtensionsOnOverprovisionedVMs { get; set; }
const int FirstPortRangeStart = 50000;
sealed class Parameters : IParameters<VirtualMachineScaleSet>
@ -299,7 +304,8 @@ namespace Microsoft.Azure.Commands.Compute.Automation
priority: _cmdlet.Priority,
evictionPolicy: _cmdlet.EvictionPolicy,
maxPrice: _cmdlet.IsParameterBound(c => c.MaxPrice) ? _cmdlet.MaxPrice : (double?)null,
scaleInPolicy: _cmdlet.ScaleInPolicy
scaleInPolicy: _cmdlet.ScaleInPolicy,
doNotRunExtensionsOnOverprovisionedVMs: _cmdlet.SkipExtensionsOnOverprovisionedVMs.IsPresent
);
}
}

Просмотреть файл

@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("91792853-487B-4DC2-BE6C-DD09A0A1BC10")]
[assembly: AssemblyVersion("3.0.0")]
[assembly: AssemblyFileVersion("3.0.0")]
[assembly: AssemblyVersion("3.1.0")]
[assembly: AssemblyFileVersion("3.1.0")]
#if !SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.PowerShell.Cmdlets.Compute.Test")]
#endif

Просмотреть файл

@ -58,7 +58,8 @@ namespace Microsoft.Azure.Commands.Compute.Strategies.ComputeRp
string priority,
string evictionPolicy,
double? maxPrice,
string[] scaleInPolicy)
string[] scaleInPolicy,
bool doNotRunExtensionsOnOverprovisionedVMs)
=> Strategy.CreateResourceConfig(
resourceGroup: resourceGroup,
name: name,
@ -128,7 +129,8 @@ namespace Microsoft.Azure.Commands.Compute.Strategies.ComputeRp
ScaleInPolicy = (scaleInPolicy == null) ? null : new ScaleInPolicy
{
Rules = scaleInPolicy
}
},
DoNotRunExtensionsOnOverprovisionedVMs = doNotRunExtensionsOnOverprovisionedVMs ? true : (bool?)null
});
}
}

Просмотреть файл

@ -32,7 +32,8 @@ New-AzVmss [[-ResourceGroupName] <String>] [-VMScaleSetName] <String> [-AsJob] [
[-Zone <System.Collections.Generic.List`1[System.String]>] [-NatBackendPort <Int32[]>]
[-DataDiskSizeInGb <Int32[]>] [-ProximityPlacementGroup <String>] [-Priority <String>]
[-EvictionPolicy <String>] [-MaxPrice <Double>] [-ScaleInPolicy <String[]>]
[-DefaultProfile <IAzureContextContainer>] [-SinglePlacementGroup] [-WhatIf] [-Confirm] [<CommonParameters>]
[-SkipExtensionsOnOverprovisionedVMs] [-DefaultProfile <IAzureContextContainer>] [-SinglePlacementGroup]
[-WhatIf] [-Confirm] [<CommonParameters>]
```
## DESCRIPTION
@ -540,6 +541,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -SkipExtensionsOnOverprovisionedVMs
Specifies that the extensions do not run on the extra overprovisioned VMs.
```yaml
Type: System.Management.Automation.SwitchParameter
Parameter Sets: SimpleParameterSet
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -SubnetAddressPrefix
The address prefix of the Subnet this ScaleSet will use. Default Subnet settings (192.168.1.0/24) will be applied if no value is provided.

Просмотреть файл

@ -19,10 +19,10 @@ New-AzVmssConfig [[-Overprovision] <Boolean>] [[-Location] <String>] [[-Tag] <Ha
[[-SkuTier] <String>] [[-SkuCapacity] <Int32>] [[-UpgradePolicyMode] <UpgradeMode>]
[[-OsProfile] <VirtualMachineScaleSetOSProfile>] [[-StorageProfile] <VirtualMachineScaleSetStorageProfile>]
[[-NetworkInterfaceConfiguration] <VirtualMachineScaleSetNetworkConfiguration[]>]
[[-Extension] <VirtualMachineScaleSetExtension[]>] [-SinglePlacementGroup <Boolean>] [-ZoneBalance]
[-PlatformFaultDomainCount <Int32>] [-Zone <String[]>] [-PlanName <String>] [-PlanPublisher <String>]
[-PlanProduct <String>] [-PlanPromotionCode <String>] [-RollingUpgradePolicy <RollingUpgradePolicy>]
[-EnableAutomaticRepair] [-AutomaticRepairGracePeriod <String>]
[[-Extension] <VirtualMachineScaleSetExtension[]>] [-SkipExtensionsOnOverprovisionedVMs]
[-SinglePlacementGroup <Boolean>] [-ZoneBalance] [-PlatformFaultDomainCount <Int32>] [-Zone <String[]>]
[-PlanName <String>] [-PlanPublisher <String>] [-PlanProduct <String>] [-PlanPromotionCode <String>]
[-RollingUpgradePolicy <RollingUpgradePolicy>] [-EnableAutomaticRepair] [-AutomaticRepairGracePeriod <String>]
[-AutomaticRepairMaxInstanceRepairsPercent <Int32>] [-AutoOSUpgrade] [-DisableAutoRollback <Boolean>]
[-EnableUltraSSD] [-HealthProbeId <String>] [-BootDiagnostic <BootDiagnostics>] [-LicenseType <String>]
[-Priority <String>] [-EvictionPolicy <String>] [-MaxPrice <Double>] [-TerminateScheduledEvents]
@ -37,10 +37,10 @@ New-AzVmssConfig [[-Overprovision] <Boolean>] [[-Location] <String>] [[-Tag] <Ha
[[-SkuTier] <String>] [[-SkuCapacity] <Int32>] [[-UpgradePolicyMode] <UpgradeMode>]
[[-OsProfile] <VirtualMachineScaleSetOSProfile>] [[-StorageProfile] <VirtualMachineScaleSetStorageProfile>]
[[-NetworkInterfaceConfiguration] <VirtualMachineScaleSetNetworkConfiguration[]>]
[[-Extension] <VirtualMachineScaleSetExtension[]>] [-SinglePlacementGroup <Boolean>] [-ZoneBalance]
[-PlatformFaultDomainCount <Int32>] [-Zone <String[]>] [-PlanName <String>] [-PlanPublisher <String>]
[-PlanProduct <String>] [-PlanPromotionCode <String>] [-RollingUpgradePolicy <RollingUpgradePolicy>]
[-EnableAutomaticRepair] [-AutomaticRepairGracePeriod <String>]
[[-Extension] <VirtualMachineScaleSetExtension[]>] [-SkipExtensionsOnOverprovisionedVMs]
[-SinglePlacementGroup <Boolean>] [-ZoneBalance] [-PlatformFaultDomainCount <Int32>] [-Zone <String[]>]
[-PlanName <String>] [-PlanPublisher <String>] [-PlanProduct <String>] [-PlanPromotionCode <String>]
[-RollingUpgradePolicy <RollingUpgradePolicy>] [-EnableAutomaticRepair] [-AutomaticRepairGracePeriod <String>]
[-AutomaticRepairMaxInstanceRepairsPercent <Int32>] [-AutoOSUpgrade] [-DisableAutoRollback <Boolean>]
[-EnableUltraSSD] [-HealthProbeId <String>] [-BootDiagnostic <BootDiagnostics>] [-LicenseType <String>]
[-Priority <String>] [-EvictionPolicy <String>] [-MaxPrice <Double>] [-TerminateScheduledEvents]
@ -55,10 +55,10 @@ New-AzVmssConfig [[-Overprovision] <Boolean>] [[-Location] <String>] [[-Tag] <Ha
[[-SkuTier] <String>] [[-SkuCapacity] <Int32>] [[-UpgradePolicyMode] <UpgradeMode>]
[[-OsProfile] <VirtualMachineScaleSetOSProfile>] [[-StorageProfile] <VirtualMachineScaleSetStorageProfile>]
[[-NetworkInterfaceConfiguration] <VirtualMachineScaleSetNetworkConfiguration[]>]
[[-Extension] <VirtualMachineScaleSetExtension[]>] [-SinglePlacementGroup <Boolean>] [-ZoneBalance]
[-PlatformFaultDomainCount <Int32>] [-Zone <String[]>] [-PlanName <String>] [-PlanPublisher <String>]
[-PlanProduct <String>] [-PlanPromotionCode <String>] [-RollingUpgradePolicy <RollingUpgradePolicy>]
[-EnableAutomaticRepair] [-AutomaticRepairGracePeriod <String>]
[[-Extension] <VirtualMachineScaleSetExtension[]>] [-SkipExtensionsOnOverprovisionedVMs]
[-SinglePlacementGroup <Boolean>] [-ZoneBalance] [-PlatformFaultDomainCount <Int32>] [-Zone <String[]>]
[-PlanName <String>] [-PlanPublisher <String>] [-PlanProduct <String>] [-PlanPromotionCode <String>]
[-RollingUpgradePolicy <RollingUpgradePolicy>] [-EnableAutomaticRepair] [-AutomaticRepairGracePeriod <String>]
[-AutomaticRepairMaxInstanceRepairsPercent <Int32>] [-AutoOSUpgrade] [-DisableAutoRollback <Boolean>]
[-EnableUltraSSD] [-HealthProbeId <String>] [-BootDiagnostic <BootDiagnostics>] [-LicenseType <String>]
[-Priority <String>] [-EvictionPolicy <String>] [-MaxPrice <Double>] [-TerminateScheduledEvents]
@ -562,6 +562,21 @@ Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
```
### -SkipExtensionsOnOverprovisionedVMs
Specifies that the extensions do not run on the extra overprovisioned VMs.
```yaml
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -SkuCapacity
Specifies the number of instances in the VMSS.

Просмотреть файл

@ -28,11 +28,11 @@ Update-AzVmss [-ResourceGroupName] <String> [-VMScaleSetName] <String>
[-OsDiskWriteAccelerator <Boolean>] [-Overprovision <Boolean>] [-PauseTimeBetweenBatches <String>]
[-PlanName <String>] [-PlanProduct <String>] [-PlanPromotionCode <String>] [-PlanPublisher <String>]
[-ProvisionVMAgent <Boolean>] [-ScaleInPolicy <String[]>] [-SinglePlacementGroup <Boolean>]
[-SkuCapacity <Int32>] [-SkuName <String>] [-SkuTier <String>] [-Tag <Hashtable>]
[-TerminateScheduledEventNotBeforeTimeoutInMinutes <Int32>] [-TerminateScheduledEvents <Boolean>]
[-TimeZone <String>] [-UltraSSDEnabled <Boolean>] [-UpgradePolicyMode <UpgradeMode>]
[-VhdContainer <String[]>] [-AsJob] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
[-SkipExtensionsOnOverprovisionedVMs <Boolean>] [-SkuCapacity <Int32>] [-SkuName <String>] [-SkuTier <String>]
[-Tag <Hashtable>] [-TerminateScheduledEventNotBeforeTimeoutInMinutes <Int32>]
[-TerminateScheduledEvents <Boolean>] [-TimeZone <String>] [-UltraSSDEnabled <Boolean>]
[-UpgradePolicyMode <UpgradeMode>] [-VhdContainer <String[]>] [-AsJob]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
### ExplicitIdentityParameterSet
@ -50,11 +50,12 @@ Update-AzVmss [-ResourceGroupName] <String> [-VMScaleSetName] <String>
[-OsDiskCaching <CachingTypes>] [-OsDiskWriteAccelerator <Boolean>] [-Overprovision <Boolean>]
[-PauseTimeBetweenBatches <String>] [-PlanName <String>] [-PlanProduct <String>] [-PlanPromotionCode <String>]
[-PlanPublisher <String>] [-ProvisionVMAgent <Boolean>] [-ScaleInPolicy <String[]>]
[-SinglePlacementGroup <Boolean>] [-SkuCapacity <Int32>] [-SkuName <String>] [-SkuTier <String>]
[-Tag <Hashtable>] [-TerminateScheduledEventNotBeforeTimeoutInMinutes <Int32>]
[-TerminateScheduledEvents <Boolean>] [-TimeZone <String>] [-UltraSSDEnabled <Boolean>]
[-UpgradePolicyMode <UpgradeMode>] [-VhdContainer <String[]>] [-AsJob]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
[-SinglePlacementGroup <Boolean>] [-SkipExtensionsOnOverprovisionedVMs <Boolean>] [-SkuCapacity <Int32>]
[-SkuName <String>] [-SkuTier <String>] [-Tag <Hashtable>]
[-TerminateScheduledEventNotBeforeTimeoutInMinutes <Int32>] [-TerminateScheduledEvents <Boolean>]
[-TimeZone <String>] [-UltraSSDEnabled <Boolean>] [-UpgradePolicyMode <UpgradeMode>]
[-VhdContainer <String[]>] [-AsJob] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
## DESCRIPTION
@ -677,6 +678,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -SkipExtensionsOnOverprovisionedVMs
Specifies that the extensions do not run on the extra overprovisioned VMs.
```yaml
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -SkuCapacity
Specifies the number of instances in the VMSS.

Просмотреть файл

@ -3,7 +3,7 @@
#
# Generated by: Microsoft Corporation
#
# Generated on: 10/29/2019
# Generated on: 11/19/2019
#
@{
@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '0.1.1'
ModuleVersion = '1.0.0'
# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'
@ -75,11 +75,11 @@ NestedModules = @('.\Microsoft.Azure.PowerShell.Cmdlets.DataBoxEdge.dll')
FunctionsToExport = @()
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = 'Get-AzDataBoxEdgeJob', 'Get-AzDataBoxEdgeDevice', 'Invoke-AzDataBoxEdgeDevice',
'New-AzDataBoxEdgeDevice', 'Remove-AzDataBoxEdgeDevice',
'Get-AzDataBoxEdgeUser', 'New-AzDataBoxEdgeUser',
'Set-AzDataBoxEdgeUser', 'Remove-AzDataBoxEdgeUser',
CmdletsToExport = 'Get-AzDataBoxEdgeJob', 'Get-AzDataBoxEdgeDevice',
'Invoke-AzDataBoxEdgeDevice', 'New-AzDataBoxEdgeDevice',
'Remove-AzDataBoxEdgeDevice', 'Get-AzDataBoxEdgeUser',
'New-AzDataBoxEdgeUser', 'Set-AzDataBoxEdgeUser',
'Remove-AzDataBoxEdgeUser',
'Get-AzDataBoxEdgeStorageAccountCredential',
'New-AzDataBoxEdgeStorageAccountCredential',
'Remove-AzDataBoxEdgeStorageAccountCredential',
@ -88,11 +88,12 @@ CmdletsToExport = 'Get-AzDataBoxEdgeJob', 'Get-AzDataBoxEdgeDevice', 'Invoke-AzD
'Get-AzDataBoxEdgeBandwidthSchedule',
'Set-AzDataBoxEdgeBandwidthSchedule',
'New-AzDataBoxEdgeBandwidthSchedule',
'Remove-AzDataBoxEdgeBandwidthSchedule', 'Get-AzDataBoxEdgeRole', 'Set-AzDataBoxEdgeRole',
'New-AzDataBoxEdgeRole', 'Remove-AzDataBoxEdgeRole',
'Get-AzDataBoxEdgeTrigger', 'New-AzDataBoxEdgeTrigger',
'Remove-AzDataBoxEdgeTrigger',
'Get-AzDataBoxEdgeOrder', 'New-AzDataBoxEdgeOrder', 'Remove-AzDataBoxEdgeOrder'
'Remove-AzDataBoxEdgeBandwidthSchedule', 'Get-AzDataBoxEdgeRole',
'Set-AzDataBoxEdgeRole', 'New-AzDataBoxEdgeRole',
'Remove-AzDataBoxEdgeRole', 'Get-AzDataBoxEdgeTrigger',
'New-AzDataBoxEdgeTrigger', 'Remove-AzDataBoxEdgeTrigger',
'Get-AzDataBoxEdgeOrder', 'New-AzDataBoxEdgeOrder',
'Remove-AzDataBoxEdgeOrder'
# Variables to export from this module
# VariablesToExport = @()
@ -127,7 +128,24 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Remove cmdlet ''Set-AzDataBoxEdgeStorageAccountCredential'''
ReleaseNotes = '* Added cmdlet ''Get-AzDataBoxEdgeOrder''
- Get the Order
* Added cmdlet ''New-AzDataBoxEdgeOrder''
- Create new Order
* Added cmdlet ''Remove-AzDataBoxEdgeOrder''
- Remove the Order
* Change in cmdlet ''New-AzDataBoxEdgeShare''
- Now creates Local Share
* Added cmdlet ''Set-AzDataBoxEdgeRole''
- Now IotRole can be mapped to Share
* Added cmdlet ''Invoke-AzDataBoxEdgeDevice''
- Invoke scan update, download update, install updates on the device
* Added cmdlet ''Get-AzDataBoxEdgeTrigger''
- Gets the information about Triggers
* Added cmdlet ''New-AzDataBoxEdgeTrigger''
- Create new Triggers
* Added cmdlet ''Remove-AzDataBoxEdgeTrigger''
- Remove the Triggers'
# Prerelease string of this module
# Prerelease = ''

Просмотреть файл

@ -20,6 +20,8 @@
## Upcoming Release
## Version 1.0.0
* Added cmdlet `Get-AzDataBoxEdgeOrder`
- Get the Order
* Added cmdlet `New-AzDataBoxEdgeOrder`

Просмотреть файл

@ -24,5 +24,5 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("4D3E68BD-35BC-4C97-8F40-A832CBA17AF7")]
[assembly: AssemblyVersion("0.1.1")]
[assembly: AssemblyFileVersion("0.1.1")]
[assembly: AssemblyVersion("1.0.0")]
[assembly: AssemblyFileVersion("1.0.0")]

Просмотреть файл

@ -11,7 +11,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.DataFactory" Version="4.4.0" />
<PackageReference Include="Microsoft.Azure.Management.DataFactory" Version="4.5.0" />
<PackageReference Include="Microsoft.DataTransfer.Gateway.Encryption" Version="3.11.6898.1" />
</ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
#
# Generated by: Microsoft Corporation
#
# Generated on: 10/29/2019
# Generated on: 11/19/2019
#
@{
@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '1.4.1'
ModuleVersion = '1.5.0'
# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'
@ -170,7 +170,8 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Update ADF .Net SDK version to 4.3.0'
ReleaseNotes = '* Update ADF .Net SDK version to 4.4.0
* Add parameter ''ExpressCustomSetup'' for ''Set-AzureRmDataFactoryV2IntegrationRuntime'' cmd to enable setup configurations and 3rd party components without custom setup script.'
# Prerelease string of this module
# Prerelease = ''

Просмотреть файл

@ -18,6 +18,9 @@
- Additional information about change #1
-->
## Upcoming Release
Update ADF .Net SDK version to 4.5.0
## Version 1.5.0
* Update ADF .Net SDK version to 4.4.0
* Add parameter "ExpressCustomSetup" for "Set-AzureRmDataFactoryV2IntegrationRuntime" cmd to enable setup configurations and 3rd party components without custom setup script.

Просмотреть файл

@ -12,7 +12,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.DataFactory" Version="4.4.0" />
<PackageReference Include="Microsoft.Azure.Management.DataFactory" Version="4.5.0" />
<PackageReference Include="Microsoft.DataTransfer.Gateway.Encryption" Version="3.11.6898.1" />
</ItemGroup>

Просмотреть файл

@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("5d024af0-81c9-44f0-b3b0-7080f103fb4d")]
[assembly: AssemblyVersion("1.4.1")]
[assembly: AssemblyFileVersion("1.4.1")]
[assembly: AssemblyVersion("1.5.0")]
[assembly: AssemblyFileVersion("1.5.0")]
#if !SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.PowerShell.Cmdlets.DataFactoryV2.Test")]
#endif

Просмотреть файл

@ -3,7 +3,7 @@
#
# Generated by: Microsoft Corporation
#
# Generated on: 10/29/2019
# Generated on: 11/19/2019
#
@{
@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '1.2.4'
ModuleVersion = '1.2.5'
# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'
@ -159,12 +159,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Update ADLS SDK version (https://github.com/Azure/azure-data-lake-store-net/blob/preview-alpha/CHANGELOG.md#version-123-alpha), brings following fixes
* Avoid throwing exception while unable to deserialize the creationtime of the trash or directory entry.
* Expose setting per request timeout in adlsclient
* Fix passing the original syncflag for badoffset recovery
* Fix EnumerateDirectory to retrieve continuation token once response is checked
* Fix Concat Bug'
ReleaseNotes = '* Update documentation of Get-AzDataLakeStoreDeletedItem and Restore-AzDataLakeStoreDeletedItem'
# Prerelease string of this module
# Prerelease = ''

Просмотреть файл

@ -18,6 +18,8 @@
- Additional information about change #1
-->
## Upcoming Release
## Version 1.2.5
* Update documentation of Get-AzDataLakeStoreDeletedItem and Restore-AzDataLakeStoreDeletedItem
## Version 1.2.4

Просмотреть файл

@ -36,8 +36,8 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.2.4")]
[assembly: AssemblyFileVersion("1.2.4")]
[assembly: AssemblyVersion("1.2.5")]
[assembly: AssemblyFileVersion("1.2.5")]
#if SIGN
[assembly: InternalsVisibleTo("Microsoft.Azure.PowerShell.Cmdlets.DataLakeStore.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
#else

Просмотреть файл

@ -3,7 +3,7 @@
#
# Generated by: Microsoft Corporation
#
# Generated on: 8/22/2019
# Generated on: 11/19/2019
#
@{
@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '1.4.0'
ModuleVersion = '1.4.1'
# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'
@ -128,11 +128,7 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Fixed miscellaneous typos across module
* Fix for issue #9658 : Typo VirtualNteworkRule parameter in Set-AzEventHubNetworkRuleSet
* Fix for issue #9558 : Set-AzEventHubNamespace is using PATCH instead of PUT
* added EnableKafka parameter to Set-AzEventHubNamespace cmdlet
* Fix for issue #9786 : cannot create a rule with Listen only rights'
ReleaseNotes = '* Fix for issue 10301 : Fix the SAS Token date format'
# Prerelease string of this module
# Prerelease = ''

Просмотреть файл

@ -18,6 +18,8 @@
- Additional information about change #1
-->
## Upcoming Release
## Version 1.4.1
* Fix for issue 10301 : Fix the SAS Token date format
## Version 1.4.0

Просмотреть файл

@ -25,5 +25,5 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("3ea250fe-7987-426b-8ca0-2dd65deda73c")]
[assembly: AssemblyVersion("1.4.0")]
[assembly: AssemblyFileVersion("1.4.0")]
[assembly: AssemblyVersion("1.4.1")]
[assembly: AssemblyFileVersion("1.4.1")]

Просмотреть файл

@ -8,7 +8,7 @@ schema: 2.0.0
# New-AzEventHubAuthorizationRuleSASToken
## SYNOPSIS
Generates a SAS tolen for Azure eventhub authorization rule of namespace/eventhub.
Generates a SAS token for Azure eventhub authorization rule of namespace/eventhub.
## SYNTAX

Просмотреть файл

@ -11,7 +11,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.FrontDoor" Version="1.0.0" />
<PackageReference Include="Microsoft.Azure.Management.FrontDoor" Version="2.0.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -25,9 +25,14 @@ function Test-PolicyCrud
$matchCondition1 = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Contains -Selector "UserAgent" -MatchValue "WINDOWS" -Transform "Uppercase"
$customRule1 = New-AzFrontDoorWafCustomRuleObject -Name "Rule1" -RuleType MatchRule -MatchCondition $matchCondition1 -Action Block -Priority 2
$ruleOverride = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942100" -Action Log
$override1 = New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName SQLI -ManagedRuleOverride $ruleOverride
$managedRule1 = New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version "1.0" -RuleGroupOverride $override1
# Create exclusion objects
$exclusionRule = New-AzFrontDoorWafManagedRuleExclusionObject -Variable QueryStringArgNames -Operator Equals -Selector "ExcludeInRule"
$exclusionGroup = New-AzFrontDoorWafManagedRuleExclusionObject -Variable QueryStringArgNames -Operator Equals -Selector "ExcludeInGroup"
$exclusionSet = New-AzFrontDoorWafManagedRuleExclusionObject -Variable QueryStringArgNames -Operator Equals -Selector "ExcludeInSet"
$ruleOverride = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942100" -Action Log -Exclusion $exclusionRule
$override1 = New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName SQLI -ManagedRuleOverride $ruleOverride -Exclusion $exclusionGroup
$managedRule1 = New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version "1.0" -RuleGroupOverride $override1 -Exclusion $exclusionSet
$managedRule2 = New-AzFrontDoorWafManagedRuleObject -Type BotProtection -Version "preview-0.1"
New-AzFrontDoorWafPolicy -Name $Name -ResourceGroupName $resourceGroupName -Customrule $customRule1 -ManagedRule $managedRule1,$managedRule2 -EnabledState Enabled -Mode Prevention
@ -44,7 +49,10 @@ function Test-PolicyCrud
Assert-AreEqual $matchCondition1.OperatorProperty $retrievedPolicy.CustomRules[0].MatchConditions[0].OperatorProperty
Assert-AreEqual $matchCondition1.MatchValue[0] $retrievedPolicy.CustomRules[0].MatchConditions[0].MatchValue[0]
Assert-AreEqual $matchCondition1.Transform[0] $retrievedPolicy.CustomRules[0].MatchConditions[0].Transform[0]
Assert-AreEqual $managedRule1.Exclusions[0].Selector $retrievedPolicy.ManagedRules[0].Exclusions[0].Selector
Assert-AreEqual $managedRule1.RuleGroupOverrides[0].ManagedRuleOverrides[0].Action $retrievedPolicy.ManagedRules[0].RuleGroupOverrides[0].ManagedRuleOverrides[0].Action
Assert-AreEqual $managedRule1.RuleGroupOverrides[0].Exclusions[0].Selector $retrievedPolicy.ManagedRules[0].RuleGroupOverrides[0].Exclusions[0].Selector
Assert-AreEqual $managedRule1.RuleGroupOverrides[0].ManagedRuleOverrides[0].Exclusions[0].Selector $retrievedPolicy.ManagedRules[0].RuleGroupOverrides[0].ManagedRuleOverrides[0].Exclusions[0].Selector
Assert-AreEqual $managedRule1.RuleSetType $retrievedPolicy.ManagedRules[0].RuleSetType
Assert-AreEqual $managedRule1.RuleSetVersion $retrievedPolicy.ManagedRules[0].RuleSetVersion
Assert-AreEqual $managedRule2.RuleSetType $retrievedPolicy.ManagedRules[1].RuleSetType

Просмотреть файл

@ -7,7 +7,7 @@
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"d64556bf-cc8f-4991-b925-7555de01703a"
"ae6466cc-81f1-4693-b922-c4343797d4fd"
],
"Accept-Language": [
"en-US"
@ -30,13 +30,13 @@
"11999"
],
"x-ms-request-id": [
"8a12f827-808e-4e96-b2df-b36373050a41"
"fc909564-8951-4464-9642-6daa234fa11a"
],
"x-ms-correlation-request-id": [
"8a12f827-808e-4e96-b2df-b36373050a41"
"fc909564-8951-4464-9642-6daa234fa11a"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235114Z:8a12f827-808e-4e96-b2df-b36373050a41"
"WESTUS:20191115T000610Z:fc909564-8951-4464-9642-6daa234fa11a"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
@ -45,7 +45,7 @@
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:13 GMT"
"Fri, 15 Nov 2019 00:06:09 GMT"
],
"Content-Type": [
"application/json; charset=utf-8"
@ -61,13 +61,13 @@
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlZ3JvdXBzL3BzNDc4MD9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlZ3JvdXBzL3BzNTk3P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"West US\"\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"cd2b6459-7aa3-4712-90fb-fd3c313bf284"
"236379f4-f7b7-49a7-831a-8292b42cac43"
],
"Accept-Language": [
"en-US"
@ -96,13 +96,13 @@
"1199"
],
"x-ms-request-id": [
"56394b07-797e-4c31-b0e8-e64f6bef77d3"
"2dec9577-d40c-4141-8318-7c053801425e"
],
"x-ms-correlation-request-id": [
"56394b07-797e-4c31-b0e8-e64f6bef77d3"
"2dec9577-d40c-4141-8318-7c053801425e"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235114Z:56394b07-797e-4c31-b0e8-e64f6bef77d3"
"WESTUS:20191115T000610Z:2dec9577-d40c-4141-8318-7c053801425e"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
@ -111,10 +111,10 @@
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:14 GMT"
"Fri, 15 Nov 2019 00:06:10 GMT"
],
"Content-Length": [
"165"
"163"
],
"Content-Type": [
"application/json; charset=utf-8"
@ -123,17 +123,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780\",\r\n \"name\": \"ps4780\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
"ResponseBody": "{\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597\",\r\n \"name\": \"ps597\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
"StatusCode": 201
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzP2FwaS12ZXJzaW9uPTIwMTktMDMtMDE=",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXM/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"f44314e3-b578-4a15-9e67-553e22766356"
"31dc2e33-fd14-42f6-8bbe-04281d2fc9d8"
],
"Accept-Language": [
"en-US"
@ -142,7 +142,7 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
@ -153,10 +153,10 @@
"no-cache"
],
"x-ms-request-id": [
"3d248025-09cd-4b2d-a532-cf5d8807bef2"
"f6de4016-8b3a-4181-b69b-7433165331e6"
],
"x-ms-client-request-id": [
"f44314e3-b578-4a15-9e67-553e22766356"
"31dc2e33-fd14-42f6-8bbe-04281d2fc9d8"
],
"OData-Version": [
"4.0"
@ -177,16 +177,16 @@
"11998"
],
"x-ms-correlation-request-id": [
"ac35b200-64ee-410a-9f61-20f1d72ca808"
"2e4b2f3a-50a5-4445-bf04-27ade8a1dedf"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235115Z:ac35b200-64ee-410a-9f61-20f1d72ca808"
"WESTUS:20191115T000611Z:2e4b2f3a-50a5-4445-bf04-27ade8a1dedf"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:15 GMT"
"Fri, 15 Nov 2019 00:06:10 GMT"
],
"Content-Length": [
"28"
@ -202,13 +202,13 @@
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzP2FwaS12ZXJzaW9uPTIwMTktMDMtMDE=",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXM/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"2c99cbd7-f3e4-4d0c-9da4-0defaf1aafc1"
"3126e5e2-dd37-4956-929c-2f924296bbda"
],
"Accept-Language": [
"en-US"
@ -217,7 +217,7 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
@ -228,10 +228,10 @@
"no-cache"
],
"x-ms-request-id": [
"e7c692c5-8882-46d8-a7fd-a586666e27ed"
"908b7093-4d84-4fa8-8a25-fffe11874368"
],
"x-ms-client-request-id": [
"2c99cbd7-f3e4-4d0c-9da4-0defaf1aafc1"
"3126e5e2-dd37-4956-929c-2f924296bbda"
],
"OData-Version": [
"4.0"
@ -252,19 +252,19 @@
"11996"
],
"x-ms-correlation-request-id": [
"5fda9943-72d6-4c06-98c9-6d328c5865f3"
"ae7baeae-cfaf-4995-bffb-f8131c0bb29f"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235118Z:5fda9943-72d6-4c06-98c9-6d328c5865f3"
"WESTUS:20191115T000614Z:ae7baeae-cfaf-4995-bffb-f8131c0bb29f"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:18 GMT"
"Fri, 15 Nov 2019 00:06:13 GMT"
],
"Content-Length": [
"1830"
"2486"
],
"Content-Type": [
"application/json; odata.metadata=minimal; odata.streaming=true"
@ -273,17 +273,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"name\": \"ps6867\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps6867\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n }\r\n ]\r\n}",
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"name\": \"ps816\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps816\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": [],\r\n \"exclusions\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n }\r\n ]\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzP2FwaS12ZXJzaW9uPTIwMTktMDMtMDE=",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXM/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"c8765e73-2c1d-4821-83a8-d4bcbc2d69ad"
"bff6ab65-4742-4021-8338-d97c13c8be3a"
],
"Accept-Language": [
"en-US"
@ -292,7 +292,7 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
@ -303,10 +303,10 @@
"no-cache"
],
"x-ms-request-id": [
"2919a010-40de-4d6a-a55e-5e8032073ba2"
"98b134eb-14ba-4f69-b197-8cdd51970cc9"
],
"x-ms-client-request-id": [
"c8765e73-2c1d-4821-83a8-d4bcbc2d69ad"
"bff6ab65-4742-4021-8338-d97c13c8be3a"
],
"OData-Version": [
"4.0"
@ -327,19 +327,19 @@
"11995"
],
"x-ms-correlation-request-id": [
"fc544753-07c6-4eaf-84b1-ad655295be55"
"ebd8d4da-12d6-4204-8c94-8685d75db7b8"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235119Z:fc544753-07c6-4eaf-84b1-ad655295be55"
"WESTUS:20191115T000615Z:ebd8d4da-12d6-4204-8c94-8685d75db7b8"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:19 GMT"
"Fri, 15 Nov 2019 00:06:14 GMT"
],
"Content-Length": [
"1828"
"2484"
],
"Content-Type": [
"application/json; odata.metadata=minimal; odata.streaming=true"
@ -348,17 +348,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"name\": \"ps6867\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps6867\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule2\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n }\r\n ]\r\n}",
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"name\": \"ps816\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps816\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule2\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": [],\r\n \"exclusions\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n }\r\n ]\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzP2FwaS12ZXJzaW9uPTIwMTktMDMtMDE=",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXM/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"f9b0ea6f-37ee-4ad8-9072-b5958539edbb"
"93c6bdc5-0e3c-4d2f-bc80-7a54a5288ae7"
],
"Accept-Language": [
"en-US"
@ -367,7 +367,7 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
@ -378,10 +378,10 @@
"no-cache"
],
"x-ms-request-id": [
"b96f8f0d-e8fe-4087-b8ad-9ed277c00860"
"8a0f22a5-876f-4439-8265-3a2ad4342a4d"
],
"x-ms-client-request-id": [
"f9b0ea6f-37ee-4ad8-9072-b5958539edbb"
"93c6bdc5-0e3c-4d2f-bc80-7a54a5288ae7"
],
"OData-Version": [
"4.0"
@ -402,19 +402,19 @@
"11994"
],
"x-ms-correlation-request-id": [
"80ff4287-a1dd-4d6f-b6c7-4ba4afbd8e4d"
"e656afdd-d910-4dd8-bd3c-c825467feadf"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235120Z:80ff4287-a1dd-4d6f-b6c7-4ba4afbd8e4d"
"WESTUS:20191115T000615Z:e656afdd-d910-4dd8-bd3c-c825467feadf"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:20 GMT"
"Fri, 15 Nov 2019 00:06:15 GMT"
],
"Content-Length": [
"1829"
"2485"
],
"Content-Type": [
"application/json; odata.metadata=minimal; odata.streaming=true"
@ -423,17 +423,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"name\": \"ps6867\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps6867\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule3\",\r\n \"enabledState\": \"Disabled\",\r\n \"priority\": 3,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n }\r\n ]\r\n}",
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"name\": \"ps816\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps816\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule3\",\r\n \"enabledState\": \"Disabled\",\r\n \"priority\": 3,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": [],\r\n \"exclusions\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n }\r\n ]\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps6867?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzL3BzNjg2Nz9hcGktdmVyc2lvbj0yMDE5LTAzLTAx",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps816?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXMvcHM4MTY/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"properties\": {\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\"\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"priority\": 2,\r\n \"enabledState\": \"Enabled\",\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\"\r\n }\r\n ]\r\n }\r\n },\r\n \"location\": \"global\"\r\n}",
"RequestBody": "{\r\n \"properties\": {\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\"\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"priority\": 2,\r\n \"enabledState\": \"Enabled\",\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ],\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ],\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\"\r\n }\r\n ]\r\n }\r\n },\r\n \"location\": \"global\"\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"f5024e48-8e67-41c7-bce1-8fc92fda0ba5"
"4cdbfb62-242f-42a6-b9a2-26f21d6472d5"
],
"Accept-Language": [
"en-US"
@ -442,13 +442,13 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"1423"
"2164"
]
},
"ResponseHeaders": {
@ -459,10 +459,10 @@
"no-cache"
],
"x-ms-request-id": [
"93fdeada-614f-489b-bb6c-d6f3578cb53d"
"6c38e4de-7f88-4065-bcc8-cf191dc07c69"
],
"x-ms-client-request-id": [
"f5024e48-8e67-41c7-bce1-8fc92fda0ba5"
"4cdbfb62-242f-42a6-b9a2-26f21d6472d5"
],
"OData-Version": [
"4.0"
@ -483,19 +483,19 @@
"1199"
],
"x-ms-correlation-request-id": [
"e0dec77c-4142-41dc-957b-9a1f0af70285"
"99099685-37e1-4f86-8ea8-ff25a8adbc2d"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235117Z:e0dec77c-4142-41dc-957b-9a1f0af70285"
"WESTUS:20191115T000613Z:99099685-37e1-4f86-8ea8-ff25a8adbc2d"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:17 GMT"
"Fri, 15 Nov 2019 00:06:12 GMT"
],
"Content-Length": [
"1634"
"2234"
],
"Content-Type": [
"application/json; odata.metadata=minimal"
@ -504,17 +504,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"name\": \"ps6867\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps6867\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"ResponseBody": "{\r\n \"name\": \"ps816\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps816\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": [],\r\n \"exclusions\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"StatusCode": 201
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps6867?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzL3BzNjg2Nz9hcGktdmVyc2lvbj0yMDE5LTAzLTAx",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps816?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXMvcHM4MTY/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"properties\": {\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\"\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule2\",\r\n \"priority\": 2,\r\n \"enabledState\": \"Enabled\",\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n }\r\n },\r\n \"location\": \"Global\",\r\n \"tags\": {}\r\n}",
"RequestBody": "{\r\n \"properties\": {\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\"\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule2\",\r\n \"priority\": 2,\r\n \"enabledState\": \"Enabled\",\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ],\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ],\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"exclusions\": [],\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n }\r\n },\r\n \"location\": \"Global\",\r\n \"tags\": {}\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"3ae30095-9c9a-4644-b841-4931e3a7a752"
"ba12fcd5-f523-4202-9c54-517cd800d452"
],
"Accept-Language": [
"en-US"
@ -523,13 +523,13 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"1473"
"2243"
]
},
"ResponseHeaders": {
@ -540,10 +540,10 @@
"no-cache"
],
"x-ms-request-id": [
"9c129a3c-1bde-4516-86f1-45965abdbf26"
"fef7368e-1919-413a-85ed-dd1c9b48fbd4"
],
"x-ms-client-request-id": [
"3ae30095-9c9a-4644-b841-4931e3a7a752"
"ba12fcd5-f523-4202-9c54-517cd800d452"
],
"OData-Version": [
"4.0"
@ -564,19 +564,19 @@
"1198"
],
"x-ms-correlation-request-id": [
"e2202d9f-0315-491b-9e5e-0f2d1c9be258"
"98a7bef9-1534-4a2e-b562-3d68c5318a9b"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235119Z:e2202d9f-0315-491b-9e5e-0f2d1c9be258"
"WESTUS:20191115T000614Z:98a7bef9-1534-4a2e-b562-3d68c5318a9b"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:18 GMT"
"Fri, 15 Nov 2019 00:06:14 GMT"
],
"Content-Length": [
"1632"
"2232"
],
"Content-Type": [
"application/json; odata.metadata=minimal"
@ -585,17 +585,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"name\": \"ps6867\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps6867\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule2\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"ResponseBody": "{\r\n \"name\": \"ps816\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps816\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule2\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": [],\r\n \"exclusions\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps6867?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzL3BzNjg2Nz9hcGktdmVyc2lvbj0yMDE5LTAzLTAx",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps816?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXMvcHM4MTY/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"properties\": {\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\"\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule3\",\r\n \"priority\": 3,\r\n \"enabledState\": \"Disabled\",\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n }\r\n },\r\n \"location\": \"Global\",\r\n \"tags\": {}\r\n}",
"RequestBody": "{\r\n \"properties\": {\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\"\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule3\",\r\n \"priority\": 3,\r\n \"enabledState\": \"Disabled\",\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ],\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ],\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"exclusions\": [],\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n }\r\n },\r\n \"location\": \"Global\",\r\n \"tags\": {}\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"e24c778a-7675-47dd-bbf5-df4bd83bd9aa"
"3584d45f-5bc4-48ee-9372-1793ec4a0306"
],
"Accept-Language": [
"en-US"
@ -604,13 +604,13 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"1474"
"2244"
]
},
"ResponseHeaders": {
@ -621,10 +621,10 @@
"no-cache"
],
"x-ms-request-id": [
"665b0ee6-2c1e-44e5-a6ef-41c518396d5e"
"d2686f70-cc78-4856-a7a9-fa5129da0156"
],
"x-ms-client-request-id": [
"e24c778a-7675-47dd-bbf5-df4bd83bd9aa"
"3584d45f-5bc4-48ee-9372-1793ec4a0306"
],
"OData-Version": [
"4.0"
@ -645,19 +645,19 @@
"1197"
],
"x-ms-correlation-request-id": [
"245d03e3-7db3-46ef-90f7-a150e0ab4224"
"d027b9c3-6ef8-4ede-86c3-890fbde396e7"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235120Z:245d03e3-7db3-46ef-90f7-a150e0ab4224"
"WESTUS:20191115T000615Z:d027b9c3-6ef8-4ede-86c3-890fbde396e7"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:19 GMT"
"Fri, 15 Nov 2019 00:06:14 GMT"
],
"Content-Length": [
"1633"
"2233"
],
"Content-Type": [
"application/json; odata.metadata=minimal"
@ -666,17 +666,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"name\": \"ps6867\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps6867\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule3\",\r\n \"enabledState\": \"Disabled\",\r\n \"priority\": 3,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"ResponseBody": "{\r\n \"name\": \"ps816\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps816\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule3\",\r\n \"enabledState\": \"Disabled\",\r\n \"priority\": 3,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": [],\r\n \"exclusions\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps6867?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzL3BzNjg2Nz9hcGktdmVyc2lvbj0yMDE5LTAzLTAx",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps816?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXMvcHM4MTY/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"4aa0a1e8-1530-45ea-984c-467198167363"
"df549c63-f2c8-4df9-8496-9921f39e4693"
],
"Accept-Language": [
"en-US"
@ -685,7 +685,7 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
@ -696,10 +696,10 @@
"no-cache"
],
"x-ms-request-id": [
"4b4785a0-4591-4cbd-8769-e5111993c36f"
"d6cd884d-02b9-4b40-ac17-89d98cddaa2b"
],
"x-ms-client-request-id": [
"4aa0a1e8-1530-45ea-984c-467198167363"
"df549c63-f2c8-4df9-8496-9921f39e4693"
],
"OData-Version": [
"4.0"
@ -720,19 +720,19 @@
"11997"
],
"x-ms-correlation-request-id": [
"dc359ba2-3124-4c87-a247-13f59a481561"
"f8c667c5-3ca3-4591-8dc2-773d0937ae59"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235118Z:dc359ba2-3124-4c87-a247-13f59a481561"
"WESTUS:20191115T000613Z:f8c667c5-3ca3-4591-8dc2-773d0937ae59"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:17 GMT"
"Fri, 15 Nov 2019 00:06:13 GMT"
],
"Content-Length": [
"1634"
"2234"
],
"Content-Type": [
"application/json; odata.metadata=minimal; odata.streaming=true"
@ -741,17 +741,17 @@
"-1"
]
},
"ResponseBody": "{\r\n \"name\": \"ps6867\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps4780/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps6867\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"ResponseBody": "{\r\n \"name\": \"ps816\",\r\n \"id\": \"/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourcegroups/ps597/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/ps816\",\r\n \"type\": \"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\r\n \"tags\": {},\r\n \"location\": \"Global\",\r\n \"properties\": {\r\n \"resourceState\": \"Enabled\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"policySettings\": {\r\n \"enabledState\": \"Enabled\",\r\n \"mode\": \"Prevention\",\r\n \"redirectUrl\": null,\r\n \"customBlockResponseStatusCode\": null,\r\n \"customBlockResponseBody\": null\r\n },\r\n \"customRules\": {\r\n \"rules\": [\r\n {\r\n \"name\": \"Rule1\",\r\n \"enabledState\": \"Enabled\",\r\n \"priority\": 2,\r\n \"ruleType\": \"MatchRule\",\r\n \"rateLimitDurationInMinutes\": 1,\r\n \"rateLimitThreshold\": null,\r\n \"matchConditions\": [\r\n {\r\n \"matchVariable\": \"RequestHeader\",\r\n \"selector\": \"UserAgent\",\r\n \"operator\": \"Contains\",\r\n \"negateCondition\": false,\r\n \"matchValue\": [\r\n \"WINDOWS\"\r\n ],\r\n \"transforms\": [\r\n \"Uppercase\"\r\n ]\r\n }\r\n ],\r\n \"action\": \"Block\"\r\n }\r\n ]\r\n },\r\n \"managedRules\": {\r\n \"managedRuleSets\": [\r\n {\r\n \"ruleSetType\": \"DefaultRuleSet\",\r\n \"ruleSetVersion\": \"1.0\",\r\n \"ruleGroupOverrides\": [\r\n {\r\n \"ruleGroupName\": \"SQLI\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"942100\",\r\n \"enabledState\": \"Enabled\",\r\n \"action\": \"Log\",\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInRule\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInGroup\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"exclusions\": [\r\n {\r\n \"matchVariable\": \"QueryStringArgNames\",\r\n \"selectorMatchOperator\": \"Equals\",\r\n \"selector\": \"ExcludeInSet\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ruleSetType\": \"BotProtection\",\r\n \"ruleSetVersion\": \"preview-0.1\",\r\n \"ruleGroupOverrides\": [],\r\n \"exclusions\": []\r\n }\r\n ]\r\n },\r\n \"frontendEndpointLinks\": []\r\n }\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps6867?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzL3BzNjg2Nz9hcGktdmVyc2lvbj0yMDE5LTAzLTAx",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps816?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXMvcHM4MTY/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"cd66513a-74a0-4215-a916-3d82028afccc"
"3b89cc84-3dfd-415d-b7b8-7cea43b4a7b7"
],
"Accept-Language": [
"en-US"
@ -760,7 +760,7 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
@ -774,13 +774,13 @@
"gateway"
],
"x-ms-request-id": [
"5ec0ba4c-c2bf-4bb6-b943-ac7431bed209"
"6e83ae35-920d-4d60-b193-74e47edb9042"
],
"x-ms-correlation-request-id": [
"5ec0ba4c-c2bf-4bb6-b943-ac7431bed209"
"6e83ae35-920d-4d60-b193-74e47edb9042"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235121Z:5ec0ba4c-c2bf-4bb6-b943-ac7431bed209"
"WESTUS:20191115T000616Z:6e83ae35-920d-4d60-b193-74e47edb9042"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
@ -789,7 +789,7 @@
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:21 GMT"
"Fri, 15 Nov 2019 00:06:15 GMT"
],
"Content-Type": [
"application/json; charset=utf-8"
@ -798,20 +798,20 @@
"-1"
],
"Content-Length": [
"174"
"172"
]
},
"ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Network/frontdoorWebApplicationFirewallPolicies/ps6867' under resource group 'ps4780' was not found.\"\r\n }\r\n}",
"ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Network/frontdoorWebApplicationFirewallPolicies/ps816' under resource group 'ps597' was not found.\"\r\n }\r\n}",
"StatusCode": 404
},
{
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps4780/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps6867?api-version=2019-03-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNDc4MC9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvRnJvbnREb29yV2ViQXBwbGljYXRpb25GaXJld2FsbFBvbGljaWVzL3BzNjg2Nz9hcGktdmVyc2lvbj0yMDE5LTAzLTAx",
"RequestUri": "/subscriptions/47f4bc68-6fe4-43a2-be8b-dfd0e290efa2/resourceGroups/ps597/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/ps816?api-version=2019-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDdmNGJjNjgtNmZlNC00M2EyLWJlOGItZGZkMGUyOTBlZmEyL3Jlc291cmNlR3JvdXBzL3BzNTk3L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9Gcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXMvcHM4MTY/YXBpLXZlcnNpb249MjAxOS0xMC0wMQ==",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"ec68df83-e88e-4ab3-a6b1-5efcb0135aaf"
"03c18ffe-7ed1-49d6-8dc4-4f97ae155285"
],
"Accept-Language": [
"en-US"
@ -820,7 +820,7 @@
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.14393.",
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/0.13.0.0"
"Microsoft.Azure.Management.FrontDoor.FrontDoorManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
@ -831,10 +831,10 @@
"no-cache"
],
"x-ms-request-id": [
"52b8493b-2026-4b4c-b116-0b57528b59e0"
"60122ed1-f417-461a-9930-2a2803cebcbc"
],
"x-ms-client-request-id": [
"ec68df83-e88e-4ab3-a6b1-5efcb0135aaf"
"03c18ffe-7ed1-49d6-8dc4-4f97ae155285"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
@ -852,16 +852,16 @@
"14999"
],
"x-ms-correlation-request-id": [
"9ef477d7-aa75-436e-9464-db97a2a7b06e"
"50736897-e726-4320-8351-6f76770ef407"
],
"x-ms-routing-request-id": [
"WESTUS:20191031T235121Z:9ef477d7-aa75-436e-9464-db97a2a7b06e"
"WESTUS:20191115T000616Z:50736897-e726-4320-8351-6f76770ef407"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Thu, 31 Oct 2019 23:51:21 GMT"
"Fri, 15 Nov 2019 00:06:15 GMT"
],
"Expires": [
"-1"
@ -873,8 +873,8 @@
],
"Names": {
"Test-PolicyCrud": [
"ps6867",
"ps4780"
"ps816",
"ps597"
]
},
"Variables": {

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -3,7 +3,7 @@
#
# Generated by: Microsoft Corporation
#
# Generated on: 10/29/2019
# Generated on: 11/19/2019
#
@{
@ -12,7 +12,7 @@
# RootModule = ''
# Version number of this module.
ModuleVersion = '1.1.2'
ModuleVersion = '1.2.0'
# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'
@ -77,7 +77,7 @@ FunctionsToExport = @()
CmdletsToExport = 'New-AzFrontDoor', 'Get-AzFrontDoor', 'Set-AzFrontDoor',
'Remove-AzFrontDoor', 'New-AzFrontDoorRoutingRuleObject',
'New-AzFrontDoorBackendObject', 'New-AzFrontDoorBackendPoolObject',
'New-AzFrontDoorBackendPoolsSettingObject',
'New-AzFrontDoorBackendPoolsSettingObject',
'New-AzFrontDoorFrontendEndpointObject',
'New-AzFrontDoorHealthProbeSettingObject',
'New-AzFrontDoorLoadBalancingSettingObject',
@ -90,7 +90,8 @@ CmdletsToExport = 'New-AzFrontDoor', 'Get-AzFrontDoor', 'Set-AzFrontDoor',
'Remove-AzFrontDoorContent', 'Enable-AzFrontDoorCustomDomainHttps',
'Disable-AzFrontDoorCustomDomainHttps',
'Get-AzFrontDoorFrontendEndpoint',
'New-AzFrontDoorWafManagedRuleOverrideObject'
'New-AzFrontDoorWafManagedRuleOverrideObject',
'New-AzFrontDoorWafManagedRuleExclusionObject'
# Variables to export from this module
# VariablesToExport = @()
@ -125,7 +126,10 @@ PrivateData = @{
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '* Fixed miscellaneous typos across module'
ReleaseNotes = '* Add MinimumTlsVersion parameter to Enable-AzFrontDoorCustomDomainHttps and New-AzFrontDoorFrontendEndpointObject
* Add HealthProbeMethod and EnabledState parameters to New-AzFrontDoorHealthProbeSettingObject
* Add new cmdlet to create BackendPoolsSettings objec to pass into creation/update of Front Door
- New-AzFrontDoorBackendPoolsSettingObject'
# Prerelease string of this module
# Prerelease = ''

Просмотреть файл

@ -18,6 +18,10 @@
- Additional information about change #1
-->
## Upcoming Release
* Added WAF managed rules exclusion support
* Add SocketAddr to auto-complete
## Version 1.2.0
* Add MinimumTlsVersion parameter to Enable-AzFrontDoorCustomDomainHttps and New-AzFrontDoorFrontendEndpointObject
* Add HealthProbeMethod and EnabledState parameters to New-AzFrontDoorHealthProbeSettingObject
* Add new cmdlet to create BackendPoolsSettings objec to pass into creation/update of Front Door

Просмотреть файл

@ -12,17 +12,14 @@
// limitations under the License.
// ----------------------------------------------------------------------------------
using System;
using System.Collections;
using System.Management.Automation;
using System.Net;
using Microsoft.Azure.Commands.FrontDoor.Common;
using Microsoft.Azure.Commands.FrontDoor.Helpers;
using Microsoft.Azure.Commands.FrontDoor.Models;
using Microsoft.Azure.Commands.FrontDoor.Properties;
using Microsoft.Azure.Management.FrontDoor;
using System.Linq;
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
using System.Management.Automation;
using System.Net;
namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
{

Просмотреть файл

@ -12,18 +12,15 @@
// limitations under the License.
// ----------------------------------------------------------------------------------
using System;
using System.Collections;
using System.Management.Automation;
using System.Net;
using Microsoft.Azure.Commands.FrontDoor.Common;
using Microsoft.Azure.Commands.FrontDoor.Helpers;
using Microsoft.Azure.Commands.FrontDoor.Models;
using Microsoft.Azure.Commands.FrontDoor.Properties;
using Microsoft.WindowsAzure.Commands.Utilities.Common;
using Microsoft.Azure.Management.FrontDoor;
using Microsoft.WindowsAzure.Commands.Utilities.Common;
using System.Collections;
using System.Linq;
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
using System.Management.Automation;
namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
{

Просмотреть файл

@ -0,0 +1,78 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------
using System.Linq;
using System.Management.Automation;
using Microsoft.Azure.Commands.FrontDoor.Common;
using Microsoft.Azure.Commands.FrontDoor.Models;
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
{
/// <summary>
/// Defines the New-AzFrontDoorWafManagedRuleExclusionObject cmdlet.
/// </summary>
[Cmdlet("New", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "FrontDoorWafManagedRuleExclusionObject"), OutputType(typeof(PSManagedRuleExclusion))]
public class NewAzureRmFrontDoorWafManagedRuleExclusionObject : AzureFrontDoorCmdletBase
{
/// <summary>
/// Exclusion match variable
/// </summary>
[Parameter(Mandatory = true, HelpMessage = "Match variable")]
[PSArgumentCompleter("RequestHeaderNames", "RequestCookieNames", "QueryStringArgNames", "RequestBodyPostArgNames")]
public string Variable { get; set; }
/// <summary>
/// Exclusion operator, performed on the selector
/// In the case of EqualsAny, the selector cannot be specified (it will exclude all match variables of the specified type)
/// </summary>
[Parameter(Mandatory = true, HelpMessage = "Operator")]
[PSArgumentCompleter("Equals", "Contains", "StartsWith", "EndsWith", "EqualsAny")]
public string Operator { get; set; }
/// <summary>
/// Exclusion selector
/// </summary>
[Parameter(Mandatory = false, HelpMessage = "Selector")]
public string Selector { get; set; }
public override void ExecuteCmdlet()
{
ValidateArguments();
var rule = new PSManagedRuleExclusion
{
MatchVariable = Variable,
SelectorMatchOperator = Operator,
Selector = Selector
};
WriteObject(rule);
}
private void ValidateArguments()
{
if (Operator == PSExclusionOperatorProperty.EqualsAny.ToString() && Selector != null)
{
// Selector is required if the operator is not "EqualsAny".
throw new PSArgumentException(nameof(Selector));
}
if (Operator != PSExclusionOperatorProperty.EqualsAny.ToString() && string.IsNullOrEmpty(Selector))
{
// Selector cannot be specified if the operator is "EqualsAny".
throw new PSArgumentNullException(nameof(Selector));
}
}
}
}

Просмотреть файл

@ -46,13 +46,20 @@ namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
[Parameter(Mandatory = false, HelpMessage = "List of azure managed provider override configuration")]
public PSAzureRuleGroupOverride[] RuleGroupOverride { get; set; }
/// <summary>
/// Exclusions
/// </summary>
[Parameter(Mandatory = false, HelpMessage = "Exclusions")]
public PSManagedRuleExclusion[] Exclusion { get; set; }
public override void ExecuteCmdlet()
{
var rule = new PSAzureManagedRule
{
RuleSetType = Type,
RuleSetVersion = Version,
RuleGroupOverrides = RuleGroupOverride?.ToList()
RuleGroupOverrides = RuleGroupOverride?.ToList(),
Exclusions = Exclusion?.ToList()
};
WriteObject(rule);
}

Просмотреть файл

@ -12,11 +12,12 @@
// limitations under the License.
// ----------------------------------------------------------------------------------
using System.Management.Automation;
using Microsoft.Azure.Commands.FrontDoor.Common;
using Microsoft.WindowsAzure.Commands.Utilities.Common;
using Microsoft.Azure.Commands.FrontDoor.Models;
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
using Microsoft.WindowsAzure.Commands.Utilities.Common;
using System.Linq;
using System.Management.Automation;
namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
{
@ -45,13 +46,20 @@ namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
[Parameter(Mandatory = false, HelpMessage = "Disabled state")]
public SwitchParameter Disabled { get; set; }
/// <summary>
/// Exclusions
/// </summary>
[Parameter(Mandatory = false, HelpMessage = "Exclusions")]
public PSManagedRuleExclusion[] Exclusion { get; set; }
public override void ExecuteCmdlet()
{
var managedRuleOverride = new PSAzureManagedRuleOverride
{
RuleId = RuleId,
Action = this.IsParameterBound(c => c.Action) ? Action : null,
EnabledState = (this.IsParameterBound(c => c.Disabled) && Disabled.IsPresent) ? PSEnabledState.Disabled : PSEnabledState.Enabled
EnabledState = (this.IsParameterBound(c => c.Disabled) && Disabled.IsPresent) ? PSEnabledState.Disabled : PSEnabledState.Enabled,
Exclusions = Exclusion?.ToList()
};
WriteObject(managedRuleOverride);
}

Просмотреть файл

@ -31,10 +31,10 @@ namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
/// <summary>
/// Match Variable.
/// Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs',
/// 'RequestUri', 'RequestHeader', 'RequestBody'
/// 'RequestUri', 'RequestHeader', 'RequestBody', 'SocketAddr'
/// </summary>
[Parameter(Mandatory = true, HelpMessage = "Match Variable. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs','RequestUri', 'RequestHeader', 'RequestBody'")]
[PSArgumentCompleter("RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeader", "RequestBody")]
[Parameter(Mandatory = true, HelpMessage = "Match Variable. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs','RequestUri', 'RequestHeader', 'RequestBody', 'SocketAddr'")]
[PSArgumentCompleter("RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeader", "RequestBody", "SocketAddr")]
public string MatchVariable { get; set; }
/// <summary>

Просмотреть файл

@ -37,12 +37,19 @@ namespace Microsoft.Azure.Commands.FrontDoor.Cmdlets
[Parameter(Mandatory = false, HelpMessage = "Rule override list")]
public PSAzureManagedRuleOverride[] ManagedRuleOverride { get; set; }
/// <summary>
/// Exclusions
/// </summary>
[Parameter(Mandatory = false, HelpMessage = "Exclusions")]
public PSManagedRuleExclusion[] Exclusion { get; set; }
public override void ExecuteCmdlet()
{
var ruleGroupOverride = new PSAzureRuleGroupOverride
{
ManagedRuleOverrides = ManagedRuleOverride?.ToList(),
RuleGroupName = RuleGroupName
RuleGroupName = RuleGroupName,
Exclusions = Exclusion?.ToList()
};
WriteObject(ruleGroupOverride);
}

Просмотреть файл

@ -11,7 +11,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.FrontDoor" Version="1.0.0" />
<PackageReference Include="Microsoft.Azure.Management.FrontDoor" Version="2.0.0" />
</ItemGroup>
<ItemGroup>

Просмотреть файл

@ -20,6 +20,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Text;
using sdkAzManagedRuleExclusion = Microsoft.Azure.Management.FrontDoor.Models.ManagedRuleExclusion;
using sdkAzManagedRuleGroupOverride = Microsoft.Azure.Management.FrontDoor.Models.ManagedRuleGroupOverride;
using sdkAzManagedRuleOverride = Microsoft.Azure.Management.FrontDoor.Models.ManagedRuleOverride;
using SdkBackend = Microsoft.Azure.Management.FrontDoor.Models.Backend;
@ -383,12 +384,23 @@ namespace Microsoft.Azure.Commands.FrontDoor.Helpers
{
Action = ruleOverride.Action,
EnabledState = ruleOverride.EnabledState == null ? (PSEnabledState?)null : (PSEnabledState)Enum.Parse(typeof(PSEnabledState), ruleOverride.EnabledState),
RuleId = ruleOverride.RuleId
RuleId = ruleOverride.RuleId,
Exclusions = ruleOverride.Exclusions?.Select(exclusion => exclusion.ToPSAzManagedRuleExclusion()).ToList()
};
}).ToList()
}).ToList(),
Exclusions = sdkAzOverride.Exclusions?.Select(exclusion => exclusion.ToPSAzManagedRuleExclusion()).ToList()
};
}
public static PSManagedRuleExclusion ToPSAzManagedRuleExclusion(this sdkAzManagedRuleExclusion sdkAzExclusion)
{
return new PSManagedRuleExclusion()
{
MatchVariable = sdkAzExclusion.MatchVariable,
Selector = sdkAzExclusion.Selector,
SelectorMatchOperator = sdkAzExclusion.SelectorMatchOperator
};
}
public static PSManagedRule ToPSManagedRule(this SdkManagedRule sdkRule)
{
@ -396,7 +408,8 @@ namespace Microsoft.Azure.Commands.FrontDoor.Helpers
{
RuleSetType = sdkRule.RuleSetType,
RuleSetVersion = sdkRule.RuleSetVersion,
RuleGroupOverrides = sdkRule.RuleGroupOverrides?.Select(ruleGroupOverride => ruleGroupOverride.ToPSAzRuleGroupOverride()).ToList()
RuleGroupOverrides = sdkRule.RuleGroupOverrides?.Select(ruleGroupOverride => ruleGroupOverride.ToPSAzRuleGroupOverride()).ToList(),
Exclusions = sdkRule.Exclusions?.Select(exclusion => exclusion.ToPSAzManagedRuleExclusion()).ToList()
};
}
@ -442,9 +455,21 @@ namespace Microsoft.Azure.Commands.FrontDoor.Helpers
{
Action = ruleOverride.Action,
EnabledState = ruleOverride.EnabledState.HasValue ? ruleOverride.EnabledState.Value.ToString() : null,
RuleId = ruleOverride.RuleId
RuleId = ruleOverride.RuleId,
Exclusions = ruleOverride.Exclusions?.Select(x => x.ToSdkAzManagedRuleExclusion()).ToList()
};
}).ToList()
}).ToList(),
Exclusions = psAzOverride.Exclusions?.Select(x => x.ToSdkAzManagedRuleExclusion()).ToList()
};
}
public static sdkAzManagedRuleExclusion ToSdkAzManagedRuleExclusion(this PSManagedRuleExclusion psAzManagedRuleExclusion)
{
return new sdkAzManagedRuleExclusion()
{
MatchVariable = psAzManagedRuleExclusion.MatchVariable,
Selector = psAzManagedRuleExclusion.Selector,
SelectorMatchOperator = psAzManagedRuleExclusion.SelectorMatchOperator
};
}
@ -455,7 +480,8 @@ namespace Microsoft.Azure.Commands.FrontDoor.Helpers
{
RuleSetType = psAzRule.RuleSetType,
RuleSetVersion = psAzRule.RuleSetVersion,
RuleGroupOverrides = psAzRule.RuleGroupOverrides?.Select(x => x.ToSdkAzRuleGroupOverride()).ToList()
RuleGroupOverrides = psAzRule.RuleGroupOverrides?.Select(x => x.ToSdkAzRuleGroupOverride()).ToList(),
Exclusions = psAzRule.Exclusions?.Select(x => x.ToSdkAzManagedRuleExclusion()).ToList()
};
}

Просмотреть файл

@ -19,5 +19,7 @@ namespace Microsoft.Azure.Commands.FrontDoor.Models
public class PSAzureManagedRule : PSManagedRule
{
public List<PSAzureRuleGroupOverride> RuleGroupOverrides { get; set; }
public List<PSManagedRuleExclusion> Exclusions { get; set; }
}
}

Просмотреть файл

@ -12,6 +12,8 @@
// limitations under the License.
// ----------------------------------------------------------------------------------
using System.Collections.Generic;
namespace Microsoft.Azure.Commands.FrontDoor.Models
{
public class PSAzureManagedRuleOverride
@ -21,5 +23,7 @@ namespace Microsoft.Azure.Commands.FrontDoor.Models
public PSEnabledState? EnabledState { get; set; }
public string Action { get; set; }
public List<PSManagedRuleExclusion> Exclusions { get; set; }
}
}

Просмотреть файл

@ -21,5 +21,7 @@ namespace Microsoft.Azure.Commands.FrontDoor.Models
public string RuleGroupName { get; set; }
public List<PSAzureManagedRuleOverride> ManagedRuleOverrides { get; set; }
public List<PSManagedRuleExclusion> Exclusions { get; set; }
}
}

Просмотреть файл

@ -0,0 +1,25 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------
namespace Microsoft.Azure.Commands.FrontDoor.Models
{
public enum PSExclusionOperatorProperty
{
Equals,
Contains,
StartsWith,
EndsWith,
EqualsAny
}
}

Просмотреть файл

@ -0,0 +1,27 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------
using System.Collections.Generic;
namespace Microsoft.Azure.Commands.FrontDoor.Models
{
public class PSManagedRuleExclusion
{
public string MatchVariable { get; set; }
public string SelectorMatchOperator { get; set; }
public string Selector { get; set; }
}
}

Просмотреть файл

@ -25,5 +25,5 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: Guid("d90791a2-8102-47fc-2483-de25ae796eb1")]
[assembly: AssemblyVersion("1.1.2")]
[assembly: AssemblyFileVersion("1.1.2")]
[assembly: AssemblyVersion("1.2.0")]
[assembly: AssemblyFileVersion("1.2.0")]

Просмотреть файл

@ -53,6 +53,9 @@ Create a PSRoutingRuleObject for Front Door creation
### [New-AzFrontDoorWafCustomRuleObject](New-AzFrontDoorWafCustomRuleObject.md)
Create CustomRule Object for WAF policy creation
### [New-AzFrontDoorWafManagedRuleExclusionObject](New-AzFrontDoorWafManagedRuleExclusionObject.md)
Create managed rule exclusion object for WAF managed rule sets, groups, or rules
### [New-AzFrontDoorWafManagedRuleObject](New-AzFrontDoorWafManagedRuleObject.md)
Create ManagedRule Object for WAF policy creation

Просмотреть файл

@ -71,8 +71,8 @@ ResourceState :
Id :
Name : {routingRuleName}
Type :
```
Create a PSRoutingRuleObject for Front Door creation
## PARAMETERS

Просмотреть файл

@ -15,7 +15,7 @@ Create CustomRule Object for WAF policy creation
```
New-AzFrontDoorWafCustomRuleObject -Name <String> -RuleType <String> -MatchCondition <PSMatchCondition[]>
-Action <String> -Priority <Int32> [-RateLimitDurationInMinutes <Int32>] [-RateLimitThreshold <Int32>]
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
[-EnabledState <String>] [-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
```
## DESCRIPTION
@ -67,6 +67,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -EnabledState
Enabled State. Possible values include: 'Enabled', 'Disabled'.
```yaml
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -MatchCondition
List of match conditions.

Просмотреть файл

@ -0,0 +1,113 @@
---
external help file: Microsoft.Azure.PowerShell.Cmdlets.FrontDoor.dll-Help.xml
Module Name: Az.FrontDoor
online version: https://docs.microsoft.com/en-us/powershell/module/az.frontdoor/new-azfrontdoorwafmanagedruleexclusionobject
schema: 2.0.0
---
# New-AzFrontDoorWafManagedRuleExclusionObject
## SYNOPSIS
Create managed rule exclusion object for WAF managed rule sets, groups, or rules.
## SYNTAX
```
New-AzFrontDoorWafManagedRuleExclusionObject -Variable <String> -Operator <String> [-Selector <String>]
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
```
## DESCRIPTION
Create managed rule exclusion object for WAF managed rule sets, groups, or rules.
## EXAMPLES
### Example 1
```powershell
PS C:> New-AzFrontDoorWafManagedRuleExclusionObject -Variable QueryStringArgNames -Operator Equals -Selector "ParameterName"
MatchVariable SelectorMatchOperator Selector
------------- --------------------- --------
QueryStringArgNames Equals ParameterName
```
## PARAMETERS
### -DefaultProfile
The credentials, account, tenant, and subscription used for communication with Azure.
```yaml
Type: IAzureContextContainer
Parameter Sets: (All)
Aliases: AzContext, AzureRmContext, AzureCredential
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Operator
Operator to use when matching the selector, EqualsAny means no selector (all match variables of the specified type)
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Selector
Selector pattern to match using the operator (if the operator is not EqualsAny)
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Variable
Match variable. Possible values are RequestHeaderNames, RequestCookieNames, QueryStringArgNames, RequestBodyPostArgNames.
For example, QueryStringArgNames is an exclusion of GET parameters matching the selector with the given operator.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
## INPUTS
### None
## OUTPUTS
### Microsoft.Azure.Commands.FrontDoor.Models.PSManagedRuleExclusion
## NOTES
## RELATED LINKS
[New-AzFrontDoorWafManagedRuleOverrideObject](./New-AzFrontDoorWafManagedRuleOverrideObject.md)
[New-AzFrontDoorWafRuleGroupOverrideObject](./New-AzFrontDoorWafRuleGroupOverrideObject.md)
[New-AzFrontDoorWafManagedRuleObject](./New-AzFrontDoorWafManagedRuleObject.md)

Просмотреть файл

@ -14,8 +14,8 @@ Create ManagedRule Object for WAF policy creation
```
New-AzFrontDoorWafManagedRuleObject -Type <String> -Version <String>
[-RuleGroupOverride <PSAzureRuleGroupOverride[]>] [-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
[-RuleGroupOverride <PSAzureRuleGroupOverride[]>] [-Exclusion <PSManagedRuleExclusion[]>]
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
```
## DESCRIPTION
@ -58,6 +58,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -Exclusion
Exclusion
```yaml
Type: Microsoft.Azure.Commands.FrontDoor.Models.PSManagedRuleExclusion[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -RuleGroupOverride
List of azure managed provider override configuration

Просмотреть файл

@ -14,7 +14,7 @@ Create managed rule override object
```
New-AzFrontDoorWafManagedRuleOverrideObject -RuleId <String> [-Action <String>] [-Disabled]
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
[-Exclusion <PSManagedRuleExclusion[]>] [-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
```
## DESCRIPTION
@ -80,6 +80,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -Exclusion
Exclusion
```yaml
Type: Microsoft.Azure.Commands.FrontDoor.Models.PSManagedRuleExclusion[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -RuleId
Rule ID

Просмотреть файл

@ -79,7 +79,7 @@ Accept wildcard characters: False
### -MatchVariable
Match Variable.
Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs','RequestUri', 'RequestHeader', 'RequestBody'
Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs','RequestUri', 'RequestHeader', 'RequestBody', 'SocketAddr'
```yaml
Type: System.String

Просмотреть файл

@ -14,8 +14,8 @@ Create RuleGroupOverride Object for WAF policy creation
```
New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName <String>
[-ManagedRuleOverride <PSAzureManagedRuleOverride[]>] [-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
[-ManagedRuleOverride <PSAzureManagedRuleOverride[]>] [-Exclusion <PSManagedRuleExclusion[]>]
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
```
## DESCRIPTION
@ -54,6 +54,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -Exclusion
Exclusion
```yaml
Type: Microsoft.Azure.Commands.FrontDoor.Models.PSManagedRuleExclusion[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ManagedRuleOverride
Rule override list

Просмотреть файл

@ -18,6 +18,7 @@
- Additional information about change #1
-->
## Upcoming Release
* Remove subdomain and resource name checks for create new IotCentral application, it will be handled by resource provider for idempotent
## Version 0.7.1
* Added subdomain parameter to Set-AzureRmIoTCentralApp for updating subdomain

Просмотреть файл

@ -43,13 +43,5 @@ namespace Microsoft.Azure.Commands.IotCentral.Common
};
return copiedIotCenralApp;
}
public static void EnsureAvailabilityOrThrow(AppAvailabilityInfo availabilityInfo)
{
if (availabilityInfo.NameAvailable != true)
{
throw new PSArgumentException(availabilityInfo.Message);
}
}
}
}

Просмотреть файл

@ -84,9 +84,6 @@ namespace Microsoft.Azure.Commands.Management.IotCentral
{
if (ShouldProcess(Name, ResourceProperties.Resources.NewIotCentralApp))
{
this.EnsureNameAvailabilityOrThrow();
this.EnsureSubdomainAvailabilityOrThrow();
var iotCentralApp = new App()
{
DisplayName = this.GetDisplayName(),
@ -104,20 +101,6 @@ namespace Microsoft.Azure.Commands.Management.IotCentral
}
private void EnsureNameAvailabilityOrThrow()
{
var checkNameInputs = new OperationInputs(this.Name, resourceType);
var nameAvailabilityInfo = this.IotCentralClient.Apps.CheckNameAvailability(checkNameInputs);
IotCentralUtils.EnsureAvailabilityOrThrow(nameAvailabilityInfo);
}
private void EnsureSubdomainAvailabilityOrThrow()
{
var checkSubdomainInputs = new OperationInputs(this.Subdomain, resourceType);
var subdomainAvailabilityInfo = this.IotCentralClient.Apps.CheckSubdomainAvailability(checkSubdomainInputs);
IotCentralUtils.EnsureAvailabilityOrThrow(subdomainAvailabilityInfo);
}
private IDictionary<string, string> GetTags()
{
if (this.Tag != null)

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -19,6 +19,8 @@
-->
## Upcoming Release
* Fixed error accessing value that is potentially not set
* Elliptic Curve Cryptography Certificate Managment
- Added support to specify the Curve for Certificate Policies
## Version 1.3.1
* Fixed miscellaneous typos across module

Просмотреть файл

@ -17,6 +17,13 @@ namespace Microsoft.Azure.Commands.KeyVault
public const string StorageAccountName = "StorageAccountName";
public const string StorageAccountResourceId = "StorageAccountResourceId";
public const string TagsAlias = "Tags";
public const string EC = "EC";
public const string ECHSM = "EC-HSM";
public const string P256 = "P-256";
public const string P384 = "P-384";
public const string P521 = "P-521";
public const string P256K = "P-256K";
public const string SECP256K1 = "SECP256K1";
}
public static class CmdletNoun

Просмотреть файл

@ -15,6 +15,7 @@
using Microsoft.Azure.Commands.KeyVault.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
@ -167,124 +168,70 @@ namespace Microsoft.Azure.Commands.KeyVault
/// </summary>
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Specifies the key type of the key backing the certificate.")]
[ValidateSet(Constants.RSA, Constants.RSAHSM)]
HelpMessage = "Specifies the key type of the key backing the certificate. Default is RSA.")]
[ValidateSet(Constants.RSA, Constants.RSAHSM, Constants.EC, Constants.ECHSM)]
public string KeyType { get; set; }
/// <summary>
/// Key size
/// </summary>
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Specifies the key size of the certificate.")]
[ValidateSet("2048", "3072", "4096")]
public int KeySize { get; set; } = 2048;
/// <summary>
/// Key size
/// </summary>
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Specifies the key size of the certificate. Default is 2048.")]
[ValidateSet("2048", "3072", "4096", "256", "384", "521")]
public int KeySize { get; set; }
/// <summary>
/// KeyNotExportable
/// </summary>
[Parameter(Mandatory = false,
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Specifies whether the key is not exportable.")]
public SwitchParameter KeyNotExportable { get; set; }
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Indicates whether certificate transparency is enabled for this certificate/issuer; if not specified, the default is 'true'")]
public bool? CertificateTransparency { get; set; }
/// <summary>
/// Elliptic Curve Name of the key
/// </summary>
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Specifies the elliptic curve name of the key of the ECC certificate.")]
[ValidateSet(Constants.P256, Constants.P384, Constants.P521, Constants.P256K, Constants.SECP256K1)]
public string Curve { get; set; }
#endregion
public override void ExecuteCmdlet()
{
if (ShouldProcess(string.Empty, Properties.Resources.CreateCertificatePolicy))
{
// Validate input parameters
ValidateSubjectName();
ValidateDnsNames();
ValidateEkus();
ValidateBothPercentageAndNumberOfDaysAreNotPresent();
List<String> convertedKeyUsage = null;
if (KeyUsage != null)
{
convertedKeyUsage = new List<string>();
foreach (var key in KeyUsage)
{
convertedKeyUsage.Add(key.ToString());
}
}
var policy = new PSKeyVaultCertificatePolicy
{
DnsNames = DnsName,
KeyUsage = convertedKeyUsage,
Ekus = Ekus,
Enabled = !Disabled.IsPresent,
IssuerName = IssuerName,
CertificateType = CertificateType,
RenewAtNumberOfDaysBeforeExpiry = RenewAtNumberOfDaysBeforeExpiry,
RenewAtPercentageLifetime = RenewAtPercentageLifetime,
EmailAtNumberOfDaysBeforeExpiry = EmailAtNumberOfDaysBeforeExpiry,
EmailAtPercentageLifetime = EmailAtPercentageLifetime,
ReuseKeyOnRenewal = ReuseKeyOnRenewal.IsPresent,
SecretContentType = SecretContentType,
SubjectName = SubjectName,
ValidityInMonths = ValidityInMonths,
Kty = KeyType,
KeySize = KeySize,
Exportable = KeyNotExportable.IsPresent ? !KeyNotExportable.IsPresent : (bool?)null
};
var policy = new PSKeyVaultCertificatePolicy(
DnsName,
(KeyUsage == null || !KeyUsage.Any()) ? null : KeyUsage.Select(keyUsage => keyUsage.ToString()).ToList<string>(),
Ekus,
!Disabled.IsPresent,
IssuerName,
CertificateType,
RenewAtNumberOfDaysBeforeExpiry,
RenewAtPercentageLifetime,
EmailAtNumberOfDaysBeforeExpiry,
EmailAtPercentageLifetime,
ReuseKeyOnRenewal.IsPresent,
SecretContentType,
SubjectName,
ValidityInMonths,
KeyType,
KeySize,
Curve,
KeyNotExportable.IsPresent ? !KeyNotExportable.IsPresent : (bool?)null,
CertificateTransparency ?? (bool?)null);
this.WriteObject(policy);
}
}
private void ValidateBothPercentageAndNumberOfDaysAreNotPresent()
{
if (MyInvocation.BoundParameters.ContainsKey("RenewAtNumberOfDaysBeforeExpiry") &&
MyInvocation.BoundParameters.ContainsKey("RenewAtPercentageLifetime"))
{
throw new ArgumentException("Both RenewAtNumberOfDaysBeforeExpiry and RenewAtPercentageLifetime cannot be specified.");
}
}
private void ValidateEkus()
{
if (Ekus != null)
{
foreach (var eku in Ekus)
{
if (string.IsNullOrWhiteSpace(eku))
{
throw new ArgumentException("One of the EKUs provided is empty.");
}
}
}
}
private void ValidateDnsNames()
{
if (DnsName != null)
{
foreach (var dnsName in DnsName)
{
if (string.IsNullOrWhiteSpace(dnsName))
{
throw new ArgumentException("One of the DNS names provided is empty.");
}
}
}
}
private void ValidateSubjectName()
{
if (SubjectName != null)
{
try
{
new X500DistinguishedName(SubjectName);
}
catch (CryptographicException e)
{
throw new ArgumentException("The subject name provided is not a valid X500 name.", e);
}
}
}
}
}

Просмотреть файл

@ -16,6 +16,7 @@ using Microsoft.Azure.Commands.KeyVault.Models;
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
@ -222,8 +223,8 @@ namespace Microsoft.Azure.Commands.KeyVault
/// Key type
/// </summary>
[Parameter(Mandatory = false,
HelpMessage = "Specifies the key type of the key backing the certificate.")]
[ValidateSet(Constants.RSA, Constants.RSAHSM)]
HelpMessage = "Specifies the key type of the key backing the certificate. Default is RSA.")]
[ValidateSet(Constants.RSA, Constants.RSAHSM, Constants.EC, Constants.ECHSM)]
public string KeyType { get; set; }
/// <summary>
@ -231,9 +232,9 @@ namespace Microsoft.Azure.Commands.KeyVault
/// </summary>
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Specifies the key size of the certificate.")]
[ValidateSet("2048", "3072", "4096")]
public int KeySize { get; set; } = 2048;
HelpMessage = "Specifies the key size of the certificate. Default is 2048.")]
[ValidateSet("2048", "3072", "4096", "256", "384", "521")]
public int KeySize { get; set; }
/// <summary>
/// KeyNotExportable
@ -255,6 +256,15 @@ namespace Microsoft.Azure.Commands.KeyVault
/// </summary>
[Parameter(HelpMessage = "This cmdlet does not return an object by default. If this switch is specified, it returns the policy object.")]
public SwitchParameter PassThru { get; set; }
/// <summary>
/// Elliptic Curve Name of the key
/// </summary>
[Parameter(Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Specifies the elliptic curve name of the key of the ECC certificate.")]
[ValidateSet(Constants.P256, Constants.P384, Constants.P521, Constants.P256K, Constants.SECP256K1)]
public string Curve { get; set; }
#endregion
public override void ExecuteCmdlet()
@ -267,51 +277,30 @@ namespace Microsoft.Azure.Commands.KeyVault
{
case ExpandedRenewNumberParameterSet:
case ExpandedRenewPercentageParameterSet:
// Validate input parameters
ValidateSubjectName();
ValidateDnsNames();
ValidateEkus();
List<string> convertedKeyUsage = null;
if (KeyUsage != null)
{
convertedKeyUsage = new List<string>();
foreach (var key in KeyUsage)
{
convertedKeyUsage.Add(key.ToString());
}
}
policy = new PSKeyVaultCertificatePolicy
{
DnsNames = DnsName,
KeyUsage = convertedKeyUsage,
Ekus = Ekus,
Enabled = !Disabled.IsPresent,
IssuerName = IssuerName,
CertificateType = CertificateType,
RenewAtNumberOfDaysBeforeExpiry = RenewAtNumberOfDaysBeforeExpiry,
RenewAtPercentageLifetime = RenewAtPercentageLifetime,
EmailAtNumberOfDaysBeforeExpiry = EmailAtNumberOfDaysBeforeExpiry,
EmailAtPercentageLifetime = EmailAtPercentageLifetime,
SecretContentType = SecretContentType,
SubjectName = SubjectName,
ValidityInMonths = ValidityInMonths,
Kty = KeyType,
KeySize = KeySize,
Exportable = KeyNotExportable.IsPresent ? !KeyNotExportable.IsPresent : (bool?)null,
CertificateTransparency = CertificateTransparency ?? (bool?)null
};
if (MyInvocation.BoundParameters.ContainsKey("ReuseKeyOnRenewal"))
{
policy.ReuseKeyOnRenewal = ReuseKeyOnRenewal;
}
policy = new PSKeyVaultCertificatePolicy(
DnsName,
(KeyUsage == null || !KeyUsage.Any()) ? null : KeyUsage.Select(keyUsage => keyUsage.ToString()).ToList<string>(),
Ekus,
!Disabled.IsPresent,
IssuerName,
CertificateType,
RenewAtNumberOfDaysBeforeExpiry,
RenewAtPercentageLifetime,
EmailAtNumberOfDaysBeforeExpiry,
EmailAtPercentageLifetime,
ReuseKeyOnRenewal,
SecretContentType,
SubjectName,
ValidityInMonths,
KeyType,
KeySize,
Curve,
KeyNotExportable.IsPresent ? !KeyNotExportable.IsPresent : (bool?)null,
CertificateTransparency ?? (bool?)null);
break;
case ByValueParameterSet:
InputObject.Validate();
policy = InputObject;
break;
}
@ -324,48 +313,5 @@ namespace Microsoft.Azure.Commands.KeyVault
}
}
}
private void ValidateEkus()
{
if (Ekus != null)
{
foreach (var eku in Ekus)
{
if (string.IsNullOrWhiteSpace(eku))
{
throw new ArgumentException("One of the EKUs provided is empty.");
}
}
}
}
private void ValidateDnsNames()
{
if (DnsName != null)
{
foreach (var dnsName in DnsName)
{
if (string.IsNullOrWhiteSpace(dnsName))
{
throw new ArgumentException("One of the DNS names provided is empty.");
}
}
}
}
private void ValidateSubjectName()
{
if (SubjectName != null)
{
try
{
new X500DistinguishedName(SubjectName);
}
catch (CryptographicException e)
{
throw new ArgumentException("The subject name provided is not a valid X500 name.", e);
}
}
}
}
}

Просмотреть файл

@ -16,6 +16,8 @@ using Microsoft.Azure.KeyVault.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
namespace Microsoft.Azure.Commands.KeyVault.Models
{
@ -24,6 +26,7 @@ namespace Microsoft.Azure.Commands.KeyVault.Models
public string SecretContentType { get; set; }
public string Kty { get; set; }
public int? KeySize { get; set; }
public string Curve { get; set; }
public bool? Exportable { get; set; }
public bool? ReuseKeyOnRenewal { get; set; }
public string SubjectName { get; set; }
@ -47,6 +50,63 @@ namespace Microsoft.Azure.Commands.KeyVault.Models
{
}
public PSKeyVaultCertificatePolicy(
IList<string> dnsNames,
IList<string> keyUsages,
IList<string> ekus,
bool? enabled,
string issuerName,
string certificateType,
int? renewAtNumberOfDaysBeforeExpiry,
int? renewAtPercentageLifetime,
int? emailAtNumberOfDaysBeforeExpiry,
int? emailAtPercentageLifetime,
bool? reuseKeyOnRenewal,
string secretContentType,
string subjectName,
int? validityInMonths,
string keyType,
int keySize,
string curve,
bool? exportable,
bool? certificateTransparency)
{
ValidateInternal(
dnsNames,
ekus,
renewAtNumberOfDaysBeforeExpiry,
renewAtPercentageLifetime,
emailAtNumberOfDaysBeforeExpiry,
emailAtPercentageLifetime,
subjectName,
keyType,
keySize,
curve);
var keyTypeToUse = GetDefaultKeyTypeIfNotSpecified(keyType);
var keySizeToUse = GetDefaultKeySizeIfNotSpecified(keyTypeToUse, curve, keySize);
DnsNames = (dnsNames == null || !dnsNames.Any()) ? null : dnsNames.ToList();
KeyUsage = (keyUsages == null || !keyUsages.Any()) ? null : keyUsages.ToList();
Ekus = (ekus == null || !ekus.Any()) ? null : ekus.ToList();
Enabled = enabled;
IssuerName = issuerName;
CertificateType = certificateType;
RenewAtNumberOfDaysBeforeExpiry = renewAtNumberOfDaysBeforeExpiry;
RenewAtPercentageLifetime = renewAtPercentageLifetime;
EmailAtNumberOfDaysBeforeExpiry = emailAtNumberOfDaysBeforeExpiry;
EmailAtPercentageLifetime = emailAtPercentageLifetime;
ReuseKeyOnRenewal = reuseKeyOnRenewal;
SecretContentType = secretContentType;
SubjectName = subjectName;
ValidityInMonths = validityInMonths;
Kty = keyTypeToUse;
Curve = curve;
KeySize = keySizeToUse;
Exportable = exportable;
CertificateTransparency = certificateTransparency;
}
internal CertificatePolicy ToCertificatePolicy()
{
var certificatePolicy = new CertificatePolicy();
@ -58,6 +118,7 @@ namespace Microsoft.Azure.Commands.KeyVault.Models
if (!string.IsNullOrWhiteSpace(Kty) ||
KeySize.HasValue ||
!string.IsNullOrWhiteSpace(Curve) ||
ReuseKeyOnRenewal.HasValue ||
Exportable.HasValue)
{
@ -65,6 +126,7 @@ namespace Microsoft.Azure.Commands.KeyVault.Models
{
KeyType = Kty,
KeySize = KeySize,
Curve = Curve,
Exportable = Exportable,
ReuseKey = ReuseKeyOnRenewal,
};
@ -219,6 +281,7 @@ namespace Microsoft.Azure.Commands.KeyVault.Models
SecretContentType = certificatePolicy.SecretProperties == null ? null : certificatePolicy.SecretProperties.ContentType,
Kty = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.KeyType,
KeySize = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.KeySize,
Curve = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.Curve,
Exportable = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.Exportable,
ReuseKeyOnRenewal = certificatePolicy.KeyProperties == null ? null : certificatePolicy.KeyProperties.ReuseKey,
SubjectName = certificatePolicy.X509CertificateProperties == null ? null : certificatePolicy.X509CertificateProperties.Subject,
@ -263,5 +326,222 @@ namespace Microsoft.Azure.Commands.KeyVault.Models
return intValueGetter(lifetimeAction.Trigger);
}
private void ValidateInternal(
IList<string> dnsNames,
IList<string> ekus,
int? renewAtNumberOfDaysBeforeExpiry,
int? renewAtPercentageLifetime,
int? emailAtNumberOfDaysBeforeExpiry,
int? emailAtPercentageLifetime,
string subjectName,
string keyType,
int keySize,
string curve)
{
var keyTypeToUse = GetDefaultKeyTypeIfNotSpecified(keyType);
ValidateKeyTypeAndCurve(keyTypeToUse, curve);
var keySizeToUse = GetDefaultKeySizeIfNotSpecified(keyTypeToUse, curve, keySize);
ValidateKeyTypeAndKeySize(keyTypeToUse, keySizeToUse);
ValidateCurveAndKeySize(curve, keySizeToUse);
ValidatePercentageAndNumberOfDaysForEmailAndRenew(renewAtNumberOfDaysBeforeExpiry, renewAtPercentageLifetime, emailAtNumberOfDaysBeforeExpiry, emailAtPercentageLifetime);
ValidateEkus(ekus);
ValidateDnsNames(dnsNames);
ValidateSubjectName(subjectName);
}
public void Validate()
{
ValidateInternal(
DnsNames,
Ekus,
RenewAtNumberOfDaysBeforeExpiry,
RenewAtPercentageLifetime,
EmailAtNumberOfDaysBeforeExpiry,
EmailAtPercentageLifetime,
SubjectName,
Kty,
KeySize ?? 0,
Curve);
}
private string GetDefaultKeyTypeIfNotSpecified(string keyType)
{
return string.IsNullOrWhiteSpace(keyType) ? Constants.RSA : keyType;
}
private void ValidateKeyTypeAndCurve(string keyType, string curve)
{
if (Constants.RSA.Equals(keyType, StringComparison.OrdinalIgnoreCase) ||
Constants.RSAHSM.Equals(keyType, StringComparison.OrdinalIgnoreCase))
{
if (!string.IsNullOrWhiteSpace(curve))
{
throw new ArgumentException($"Curve cannot be specified with {keyType} key type.");
}
}
if (Constants.EC.Equals(keyType, StringComparison.OrdinalIgnoreCase) ||
Constants.ECHSM.Equals(keyType, StringComparison.OrdinalIgnoreCase))
{
if (string.IsNullOrWhiteSpace(curve))
{
throw new ArgumentException($"Curve must be specified with {keyType} key type.");
}
}
}
private int GetDefaultKeySizeIfNotSpecified(string keyType, string curve, int keySize)
{
if (keySize == 0)
{
if (Constants.RSA.Equals(keyType, StringComparison.OrdinalIgnoreCase) ||
Constants.RSAHSM.Equals(keyType, StringComparison.OrdinalIgnoreCase))
{
return 2048;
}
if (Constants.EC.Equals(keyType, StringComparison.OrdinalIgnoreCase) ||
Constants.ECHSM.Equals(keyType, StringComparison.OrdinalIgnoreCase))
{
if (Constants.P256.Equals(curve, StringComparison.OrdinalIgnoreCase) ||
Constants.P256K.Equals(curve, StringComparison.OrdinalIgnoreCase) ||
Constants.SECP256K1.Equals(curve, StringComparison.OrdinalIgnoreCase))
{
return 256;
}
if (Constants.P384.Equals(curve, StringComparison.OrdinalIgnoreCase))
{
return 384;
}
if (Constants.P521.Equals(curve, StringComparison.OrdinalIgnoreCase))
{
return 521;
}
}
}
return keySize;
}
private void ValidateKeyTypeAndKeySize(string keyType, int keySize)
{
if (Constants.RSA.Equals(keyType, StringComparison.OrdinalIgnoreCase) ||
Constants.RSAHSM.Equals(keyType, StringComparison.OrdinalIgnoreCase))
{
if (keySize == 256 || keySize == 384 || keySize == 521)
{
throw new ArgumentException($"{keySize} cannot be specified with {keyType} key type. Valid values for KeySize are: 2048, 3084, and 4096.");
}
}
if (Constants.EC.Equals(keyType, StringComparison.OrdinalIgnoreCase) ||
Constants.ECHSM.Equals(keyType, StringComparison.OrdinalIgnoreCase))
{
if (keySize == 2048 || keySize == 3084 || keySize == 4096)
{
throw new ArgumentException($"{keySize} cannot be specified with {keyType} key type. Valid values for KeySize are: 256, 384, and 521.");
}
}
}
private void ValidateCurveAndKeySize(string curve, int keySize)
{
if (string.IsNullOrWhiteSpace(curve))
{
return;
}
if (Constants.P256.Equals(curve, StringComparison.OrdinalIgnoreCase) ||
Constants.P256K.Equals(curve, StringComparison.OrdinalIgnoreCase) ||
Constants.SECP256K1.Equals(curve, StringComparison.OrdinalIgnoreCase))
{
if (keySize != 256)
{
throw new ArgumentException($"Only key size of 256 is allowed with {curve}.");
}
}
if (Constants.P384.Equals(curve, StringComparison.OrdinalIgnoreCase))
{
if (keySize != 384)
{
throw new ArgumentException($"Only key size of 384 is allowed with {curve}.");
}
}
if (Constants.P521.Equals(curve, StringComparison.OrdinalIgnoreCase))
{
if (keySize != 521)
{
throw new ArgumentException($"Only key size of 521 is allowed with {curve}.");
}
}
}
private void ValidatePercentageAndNumberOfDaysForEmailAndRenew(
int? renewAtNumberOfDaysBeforeExpiry,
int? renewAtPercentageLifetime,
int? emailAtNumberOfDaysBeforeExpiry,
int? emailAtPercentageLifetime)
{
if (renewAtNumberOfDaysBeforeExpiry.HasValue && renewAtPercentageLifetime.HasValue && emailAtNumberOfDaysBeforeExpiry.HasValue && emailAtPercentageLifetime.HasValue)
{
throw new ArgumentException("Only one of the values for RenewAtNumberOfDaysBeforeExpiry, RenewAtPercentageLifetime, EmailAtNumberOfDaysBeforeExpiry, EmailAtPercentageLifetime can be specified.");
}
}
private void ValidateEkus(IList<string> ekus)
{
if (ekus == null || !ekus.Any())
{
return;
}
foreach (var eku in ekus)
{
if (string.IsNullOrWhiteSpace(eku))
{
throw new ArgumentException("One of the EKUs provided is empty.");
}
}
}
private void ValidateDnsNames(IList<string> dnsNames)
{
if (dnsNames == null || !dnsNames.Any())
{
return;
}
foreach (var dnsName in dnsNames)
{
if (string.IsNullOrWhiteSpace(dnsName))
{
throw new ArgumentException("One of the DNS names provided is empty.");
}
}
}
private void ValidateSubjectName(string subjectName)
{
if (string.IsNullOrWhiteSpace(subjectName))
{
return;
}
try
{
new X500DistinguishedName(subjectName);
}
catch (CryptographicException e)
{
throw new ArgumentException("The subject name provided is not a valid X500 name.", e);
}
}
}
}

Просмотреть файл

@ -21,7 +21,7 @@ New-AzKeyVaultCertificatePolicy [-IssuerName] <String> [-SubjectName] <String>
[-KeyUsage <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]>]
[-Ekus <System.Collections.Generic.List`1[System.String]>] [-ValidityInMonths <Int32>]
[-CertificateType <String>] [-EmailAtNumberOfDaysBeforeExpiry <Int32>] [-EmailAtPercentageLifetime <Int32>]
[-KeySize <Int32>] [-KeyType <String>] [-KeyNotExportable] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[-KeySize <Int32>] [-KeyType <String>] [-Curve <String>] [-KeyNotExportable] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
@ -33,7 +33,7 @@ New-AzKeyVaultCertificatePolicy [-IssuerName] <String> [[-SubjectName] <String>]
[-KeyUsage <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]>]
[-Ekus <System.Collections.Generic.List`1[System.String]>] [-ValidityInMonths <Int32>]
[-CertificateType <String>] [-EmailAtNumberOfDaysBeforeExpiry <Int32>] [-EmailAtPercentageLifetime <Int32>]
[-KeySize <Int32>] [-KeyType <String>] [-KeyNotExportable] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[-KeySize <Int32>] [-KeyType <String>] [-Curve <String>] [-KeyNotExportable] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
@ -49,6 +49,7 @@ PS C:\> New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12
SecretContentType : application/x-pkcs12
Kty :
KeySize : 2048
Curve :
Exportable :
ReuseKeyOnRenewal : True
SubjectName : CN=contoso.com
@ -213,12 +214,15 @@ The acceptable values for this parameter are:
- 2048
- 3072
- 4096
- 256
- 384
- 521
```yaml
Type: System.Int32
Parameter Sets: (All)
Aliases:
Accepted values: 2048, 3072, 4096
Accepted values: 2048, 3072, 4096, 256, 384, 521
Required: False
Position: Named
@ -232,12 +236,36 @@ Specifies the key type of the key that backs the certificate.
The acceptable values for this parameter are:
- RSA
- RSA-HSM
- EC
- EC-HSM
```yaml
Type: System.String
Parameter Sets: (All)
Aliases:
Accepted values: RSA, RSA-HSM
Accepted values: RSA, RSA-HSM, EC, EC-HSM
Required: False
Position: Named
Default value: RSA
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
```
### -Curve
Specifies the elliptic curve name of the key of the certificate.
The acceptable values for this parameter are:
- P-256
- P-384
- P-521
- P-256K
- SECP256K1
```yaml
Type: System.String
Parameter Sets: (All)
Aliases:
Accepted values: P-256, P-384, P-521, P-256K, SECP256K1
Required: False
Position: Named

Просмотреть файл

@ -21,7 +21,7 @@ Set-AzKeyVaultCertificatePolicy [-VaultName] <String> [-Name] <String> [-RenewAt
[-KeyUsage <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]>]
[-Ekus <System.Collections.Generic.List`1[System.String]>] [-ValidityInMonths <Int32>] [-IssuerName <String>]
[-CertificateType <String>] [-EmailAtNumberOfDaysBeforeExpiry <Int32>] [-EmailAtPercentageLifetime <Int32>]
[-KeySize <Int32>] [-KeyType <String>] [-KeyNotExportable] [-CertificateTransparency <Boolean>] [-PassThru]
[-KeySize <Int32>] [-KeyType <String>] [-Curve <String>] [-KeyNotExportable] [-CertificateTransparency <Boolean>] [-PassThru]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -29,7 +29,7 @@ Set-AzKeyVaultCertificatePolicy [-VaultName] <String> [-Name] <String> [-RenewAt
```
Set-AzKeyVaultCertificatePolicy [-VaultName] <String> [-Name] <String>
[-InputObject] <PSKeyVaultCertificatePolicy> [-EmailAtNumberOfDaysBeforeExpiry <Int32>]
[-EmailAtPercentageLifetime <Int32>] [-KeySize <Int32>] [-KeyType <String>] [-CertificateTransparency <Boolean>] [-PassThru]
[-EmailAtPercentageLifetime <Int32>] [-KeySize <Int32>] [-KeyType <String>] [-Curve <String>] [-CertificateTransparency <Boolean>] [-PassThru]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -41,7 +41,7 @@ Set-AzKeyVaultCertificatePolicy [-VaultName] <String> [-Name] <String> -RenewAtN
[-KeyUsage <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]>]
[-Ekus <System.Collections.Generic.List`1[System.String]>] [-ValidityInMonths <Int32>] [-IssuerName <String>]
[-CertificateType <String>] [-EmailAtNumberOfDaysBeforeExpiry <Int32>] [-EmailAtPercentageLifetime <Int32>]
[-KeySize <Int32>] [-KeyType <String>] [-KeyNotExportable] [-CertificateTransparency <Boolean>] [-PassThru]
[-KeySize <Int32>] [-KeyType <String>] [-Curve <String>] [-KeyNotExportable] [-CertificateTransparency <Boolean>] [-PassThru]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -57,6 +57,7 @@ PS C:\> Set-AzKeyVaultCertificatePolicy -VaultName "ContosoKV01" -Name "TestCert
SecretContentType : application/x-pkcs12
Kty :
KeySize : 2048
Curve :
Exportable :
ReuseKeyOnRenewal : True
SubjectName : CN=contoso.com
@ -251,16 +252,19 @@ The acceptable values for this parameter are:
- 2048
- 3072
- 4096
- 256
- 384
- 521
```yaml
Type: System.Int32
Parameter Sets: (All)
Aliases:
Accepted values: 2048, 3072, 4096
Accepted values: 2048, 3072, 4096, 256, 384, 521
Required: False
Position: Named
Default value: None
Default value: 2048
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
```
@ -270,17 +274,41 @@ Specifies the key type of the key that backs the certificate.
The acceptable values for this parameter are:
- RSA
- RSA-HSM
- EC
- EC-HSM
```yaml
Type: System.String
Parameter Sets: (All)
Aliases:
Accepted values: RSA, RSA-HSM
Accepted values: RSA, RSA-HSM, EC, EC-HSM
Required: False
Position: Named
Default value: RSA
Accept pipeline input: False
Accept wildcard characters: False
```
### -Curve
Specifies the elliptic curve name of the key of the certificate.
The acceptable values for this parameter are:
- P-256
- P-384
- P-521
- P-256K
- SECP256K1
```yaml
Type: System.String
Parameter Sets: (All)
Aliases:
Accepted values: P-256, P-384, P-521, P-256K, SECP256K1
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
```

Просмотреть файл

@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PsModuleName>Maintenance</PsModuleName>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)..\..\Az.Test.props" />
<PropertyGroup>
<RootNamespace>$(LegacyAssemblyPrefix)$(PsModuleName)$(AzTestAssemblySuffix)</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.Maintenance" Version="1.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="SessionRecords\" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Commands.Maintenance.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Commands.Maintenance.Test")]
[assembly: AssemblyCopyright("Copyright © 2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f5d771be-9c6b-4af9-ac41-b2d7f3267868")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.1.0")]
[assembly: AssemblyFileVersion("0.1.0")]

Просмотреть файл

@ -0,0 +1,89 @@
# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------
<#
.SYNOPSIS
Gets maintenance configuration name
#>
function Get-RandomMaintenanceConfigurationName
{
return getAssetName
}
<#
.SYNOPSIS
Gets virtual machine name
#>
function Get-RandomVirtualMachineName
{
return getAssetName
}
<#
.SYNOPSIS
Gets dedicated host name
#>
function Get-RandomDedicatedHostName
{
return getAssetName
}
<#
.SYNOPSIS
Gets resource group name
#>
function Get-RandomResourceGroupName
{
return getAssetName
}
<#
.SYNOPSIS
Gets the default location for a provider
#>
function Get-ProviderLocation($provider)
{
if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback)
{
$namespace = $provider.Split("/")[0]
if($provider.Contains("/"))
{
$type = $provider.Substring($namespace.Length + 1)
$location = Get-AzResourceProvider -ProviderNamespace $namespace | where {$_.ResourceTypes[0].ResourceTypeName -eq $type}
if ($location -eq $null)
{
return "westus"
} else
{
return $location.Locations[0].ToLower() -replace '\s',''
}
}
return "westus"
}
return "westus"
}
<#
.SYNOPSIS
Cleans the created resource groups
#>
function Clean-ResourceGroup($rgname)
{
if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) {
Remove-AzResourceGroup -Name $rgname -Force
}
}

Просмотреть файл

@ -0,0 +1,56 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------
using Microsoft.Azure.Commands.ScenarioTest;
using Microsoft.Azure.ServiceManagement.Common.Models;
using Microsoft.WindowsAzure.Commands.ScenarioTest;
using Microsoft.WindowsAzure.Commands.Test.Utilities.Common;
using Xunit;
using Xunit.Abstractions;
namespace Microsoft.Azure.Commands.Maintenance.Test.ScenarioTests
{
public class MaintenanceTests : RMTestBase
{
public XunitTracingInterceptor _logger;
public MaintenanceTests(Xunit.Abstractions.ITestOutputHelper output)
{
_logger = new XunitTracingInterceptor(output);
XunitTracingInterceptor.AddToContext(_logger);
TestExecutionHelpers.SetUpSessionAndProfile();
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestMaintenanceConfiguration()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzMaintenanceConfiguration");
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestConfigurationAssignment()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzConfigurationAssignment");
}
[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestMaintenanceUpdate()
{
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AzMaintenanceUpdate");
}
}
}

Просмотреть файл

@ -0,0 +1,178 @@
# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------
<#
.SYNOPSIS
Test New-AzMaintenanceConfiguration, Get-AzMaintenanceConfiguration, Remove-AzMaintenanceConfiguration
#>
function Test-AzMaintenanceConfiguration
{
$resourceGroupName = Get-RandomResourceGroupName
$maintenanceConfigurationName = Get-RandomMaintenanceConfigurationName
$location = Get-ProviderLocation "Microsoft.Maintenance/MaintenanceConfigurations"
$maintenanceScope = "Host"
try
{
New-AzResourceGroup -Name $resourceGroupName -Location $location
Write-Host "Created RG $location"
$maintenanceConfigurationCreated = New-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -MaintenanceScope $maintenanceScope -Location $location
Write-Host "Created configuration $maintenanceConfigurationName"
Write-Output $maintenanceConfigurationCreated
Assert-AreEqual $maintenanceConfigurationCreated.Name $maintenanceConfigurationName
Assert-AreEqual $maintenanceConfigurationCreated.Location $location
Assert-AreEqual $maintenanceConfigurationCreated.MaintenanceScope $maintenanceScope
Assert-AreEqual $maintenanceConfigurationCreated.Type "Microsoft.Maintenance/MaintenanceConfigurations"
$retrievedMaintenanceConfiguration = Get-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName
Assert-MaintenanceConfiguration $maintenanceConfigurationCreated $retrievedMaintenanceConfiguration
Remove-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -Force
}
finally
{
# Cleanup
Clean-ResourceGroup $resourceGroupName
}
}
<#
.SYNOPSIS
Test New-AzConfigurationAssignment, Get-AzConfigurationAssignment, Remove-AzConfigurationAssignment
#>
function Test-AzConfigurationAssignment
{
$resourceGroupName = Get-RandomResourceGroupName
$maintenanceConfigurationName = Get-RandomMaintenanceConfigurationName
$location = "westus2"
$maintenanceScope = "Host"
try
{
New-AzResourceGroup -Name $resourceGroupName -Location $location
$maintenanceConfigurationCreated = New-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -MaintenanceScope $maintenanceScope -Location $location
$configurationAssignmentCreated = New-AzConfigurationAssignment -ResourceGroupName smdtest$location -ResourceParentType hostGroups -ResourceParentName smddhg$location -ResourceType hosts -ResourceName smddh$location -ProviderName Microsoft.Compute -ConfigurationAssignmentName $maintenanceConfigurationName -MaintenanceConfigurationId $maintenanceConfigurationCreated.Id -Location $location
Assert-AreEqual $configurationAssignmentCreated.Name $maintenanceConfigurationName
Assert-AreEqual $configurationAssignmentCreated.Type "Microsoft.Maintenance/configurationAssignments"
Assert-AreEqual $configurationAssignmentCreated.MaintenanceConfigurationId $maintenanceConfigurationCreated.Id
$retrievedConfigurationAssignmentList = Get-AzConfigurationAssignment -ResourceGroupName smdtest$location -ResourceParentType hostGroups -ResourceParentName smddhg$location -ResourceType hosts -ResourceName smddh$location -ProviderName Microsoft.Compute
Assert-AreEqual $retrievedConfigurationAssignmentList.Count 1
#Assert-ConfigurationAssignment $configurationAssignmentCreated $retrievedConfigurationAssignmentList[0]
Remove-AzConfigurationAssignment -ResourceGroupName smdtest$location -ResourceParentType hostGroups -ResourceParentName smddhg$location -ResourceType hosts -ResourceName smddh$location -ProviderName Microsoft.Compute -ConfigurationAssignmentName $maintenanceConfigurationName -Force
Remove-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -Force
}
finally
{
# Cleanup
Clean-ResourceGroup $resourceGroupName
}
}
<#
.SYNOPSIS
Test New-AzConfigurationAssignment, Get-AzMaintenanceUpdate, Remove-AzConfigurationAssignment
#>
function Test-AzMaintenanceUpdate
{
$resourceGroupName = Get-RandomResourceGroupName
$maintenanceConfigurationName = Get-RandomMaintenanceConfigurationName
$virtualMachineName = Get-RandomMaintenanceConfigurationName
$location = "westus2"
$maintenanceScope = "Host"
try
{
New-AzResourceGroup -Name $resourceGroupName -Location $location
$maintenanceConfigurationCreated = New-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -MaintenanceScope $maintenanceScope -Location $location
$configurationAssignmentCreated = New-AzConfigurationAssignment -ResourceGroupName smdtest$location -ResourceParentType hostGroups -ResourceParentName smddhg$location -ResourceType hosts -ResourceName smddh$location -ProviderName Microsoft.Compute -ConfigurationAssignmentName $maintenanceConfigurationName -MaintenanceConfigurationId $maintenanceConfigurationCreated.Id -Location $location
Assert-AreEqual $configurationAssignmentCreated.Name $maintenanceConfigurationName
Assert-AreEqual $configurationAssignmentCreated.Type "Microsoft.Maintenance/configurationAssignments"
Assert-AreEqual $configurationAssignmentCreated.MaintenanceConfigurationId $maintenanceConfigurationCreated.Id
$retrievedMaintenanceUpdateList = Get-AzMaintenanceUpdate -ResourceGroupName smdtest$location -ResourceParentType hostGroups -ResourceParentName smddhg$location -ResourceType hosts -ResourceName smddh$location -ProviderName Microsoft.Compute
#Assert-NotNull $retrievedMaintenanceUpdateList
Remove-AzConfigurationAssignment -ResourceGroupName smdtest$location -ResourceParentType hostGroups -ResourceParentName smddhg$location -ResourceType hosts -ResourceName smddh$location -ProviderName Microsoft.Compute -ConfigurationAssignmentName $maintenanceConfigurationName -Force
Remove-AzMaintenanceConfiguration -ResourceGroupName $resourceGroupName -Name $maintenanceConfigurationName -Force
}
finally
{
# Cleanup
Clean-ResourceGroup $resourceGroupName
}
}
<#
.SYNOPSIS
Assert a maintenace configuration object.
.PARAMETER expected
The expected maintenace configuration object.
.PARAMETER actual
The actual maintenace configuration object.
#>
function Assert-MaintenanceConfiguration
{
Param
(
[parameter(position=0)]
$Expected,
[parameter(position=1)]
$Actual
)
Assert-AreEqual $Actual.Name $Expected.Name
Assert-AreEqual $Actual.Location $Expected.Location
Assert-AreEqual $Actual.MaintenanceType $Expected.MaintenanceType
}
<#
.SYNOPSIS
Assert a configuration assignment object.
.PARAMETER expected
The expected configuration assignment object.
.PARAMETER actual
The actual configuration assignment object.
#>
function Assert-ConfigurationAssignment
{
Param
(
[parameter(position=0)]
$Expected,
[parameter(position=1)]
$Actual
)
Assert-AreEqual $Actual.Name $Expected.Name
Assert-AreEqual $Actual.MaintenanceConfigurationId $Expected.MaintenanceConfigurationId
Assert-AreEqual $Actual.ResourceId $Expected.ResourceId
}

Просмотреть файл

@ -0,0 +1,107 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using Microsoft.Azure.Commands.Common.Authentication;
using Microsoft.Azure.Management.Maintenance;
using Microsoft.Azure.Management.Internal.Resources;
using Microsoft.Azure.Test.HttpRecorder;
using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
using Microsoft.WindowsAzure.Commands.ScenarioTest;
using Microsoft.Azure.ServiceManagement.Common.Models;
namespace Microsoft.Azure.Commands.Maintenance.Test.ScenarioTests
{
public class TestController
{
private readonly EnvironmentSetupHelper _helper;
public MaintenanceManagementClient MaintenanceClient { get; private set; }
public ResourceManagementClient ResourceClient { get; private set; }
public TestController()
{
_helper = new EnvironmentSetupHelper();
}
public static TestController NewInstance => new TestController();
public void RunPowerShellTest(XunitTracingInterceptor logger, params string[] scripts)
{
var sf = new StackTrace().GetFrame(1);
var callingClassType = sf.GetMethod().ReflectedType?.ToString();
var mockName = sf.GetMethod().Name;
_helper.TracingInterceptor = logger;
var providers = new Dictionary<string, string>()
{
{ "Microsoft.Resources", null },
{ "Microsoft.Features", null },
{ "Microsoft.Authorization", null },
{ "Microsoft.Maintenance", null }
};
var providersToIgnore = new Dictionary<string, string>()
{
{ "Microsoft.Azure.Management.Resources.ResourceManagementClient", "2016-02-01" }
};
HttpMockServer.Matcher = new PermissiveRecordMatcherWithApiExclusion(true, providers, providersToIgnore);
HttpMockServer.RecordsDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SessionRecords");
using (var context = MockContext.Start(callingClassType, mockName))
{
SetupManagementClients(context);
var callingClassName = callingClassType?.Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries).Last();
_helper.SetupEnvironment(AzureModule.AzureResourceManager);
_helper.SetupModules(AzureModule.AzureResourceManager,
"ScenarioTests\\" + callingClassName + ".ps1",
"AzureRM.Resources.ps1",
"ScenarioTests\\Common.ps1",
_helper.RMProfileModule,
_helper.GetRMModulePath(@"Az.Maintenance.psd1"));
if (scripts != null)
{
_helper.RunPowerShellTest(scripts);
}
}
}
private void SetupManagementClients(MockContext context)
{
ResourceClient = GetResourceManagementClient(context);
MaintenanceClient = GetMaintenanceManagementClient(context);
_helper.SetupManagementClients(ResourceClient, MaintenanceClient);
}
private static MaintenanceManagementClient GetMaintenanceManagementClient(MockContext context)
{
return context.GetServiceClient<MaintenanceManagementClient>(TestEnvironmentFactory.GetTestEnvironment());
}
private static ResourceManagementClient GetResourceManagementClient(MockContext context)
{
return context.GetServiceClient<ResourceManagementClient>(TestEnvironmentFactory.GetTestEnvironment());
}
}
}

Просмотреть файл

@ -0,0 +1,664 @@
{
"Entries": [
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODEyOD9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"westus2\"\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"a8e82f8f-7cff-413c-bf53-786395075428"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"29"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1199"
],
"x-ms-request-id": [
"4074eb9b-c743-4afa-b438-42ccc9596156"
],
"x-ms-correlation-request-id": [
"4074eb9b-c743-4afa-b438-42ccc9596156"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055628Z:4074eb9b-c743-4afa-b438-42ccc9596156"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:28 GMT"
],
"Content-Length": [
"166"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"id\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourceGroups/ps8128\",\r\n \"name\": \"ps8128\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
"StatusCode": 201
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128/providers/Microsoft.Maintenance/maintenanceConfigurations/ps5307?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODEyOC9wcm92aWRlcnMvTWljcm9zb2Z0Lk1haW50ZW5hbmNlL21haW50ZW5hbmNlQ29uZmlndXJhdGlvbnMvcHM1MzA3P2FwaS12ZXJzaW9uPTIwMTgtMDYtMDEtcHJldmlldw==",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"maintenanceScope\": \"Host\"\r\n }\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"b654573f-4739-4a63-963f-852ecc439444"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"86"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"e2d16bf8-1139-47cc-9d07-86919a6cae3f"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1199"
],
"x-ms-correlation-request-id": [
"e2d16bf8-1139-47cc-9d07-86919a6cae3f"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055630Z:e2d16bf8-1139-47cc-9d07-86919a6cae3f"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:29 GMT"
],
"Content-Length": [
"396"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"extensionProperties\": {},\r\n \"maintenanceScope\": \"Host\"\r\n },\r\n \"maintenanceWindows\": [],\r\n \"id\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128/providers/Microsoft.Maintenance/maintenanceConfigurations/ps5307\",\r\n \"name\": \"ps5307\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments/ps5307?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3NtZHRlc3R3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9ob3N0R3JvdXBzL3NtZGRoZ3dlc3R1czIvaG9zdHMvc21kZGh3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFpbnRlbmFuY2UvY29uZmlndXJhdGlvbkFzc2lnbm1lbnRzL3BzNTMwNz9hcGktdmVyc2lvbj0yMDE4LTA2LTAxLXByZXZpZXc=",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128/providers/Microsoft.Maintenance/maintenanceConfigurations/ps5307\"\r\n }\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"9864b50b-b147-48ea-b3ec-f7b23b29746b"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"230"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"026c43c4-0e51-4908-b8b7-f0d03f6c175d"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1198"
],
"x-ms-correlation-request-id": [
"026c43c4-0e51-4908-b8b7-f0d03f6c175d"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055634Z:026c43c4-0e51-4908-b8b7-f0d03f6c175d"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:34 GMT"
],
"Content-Length": [
"601"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128/providers/Microsoft.Maintenance/maintenanceConfigurations/ps5307\",\r\n \"resourceId\": \"7b32ed22-dc7b-4a17-9c42-36c024f4c9f9\"\r\n },\r\n \"id\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments/ps5307\",\r\n \"name\": \"ps5307\",\r\n \"type\": \"Microsoft.Maintenance/configurationAssignments\"\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3NtZHRlc3R3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9ob3N0R3JvdXBzL3NtZGRoZ3dlc3R1czIvaG9zdHMvc21kZGh3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFpbnRlbmFuY2UvY29uZmlndXJhdGlvbkFzc2lnbm1lbnRzP2FwaS12ZXJzaW9uPTIwMTgtMDYtMDEtcHJldmlldw==",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"d4045169-f094-44e2-9f4f-d6e4da4f5115"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"a5d85491-414d-4a03-917d-cd1705965e09"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11999"
],
"x-ms-correlation-request-id": [
"a5d85491-414d-4a03-917d-cd1705965e09"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055634Z:a5d85491-414d-4a03-917d-cd1705965e09"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:34 GMT"
],
"Content-Length": [
"573"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128/providers/Microsoft.Maintenance/maintenanceConfigurations/ps5307\"\r\n },\r\n \"id\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments/ps5307\",\r\n \"name\": \"ps5307\",\r\n \"type\": \"Microsoft.Maintenance/configurationAssignments\"\r\n }\r\n ]\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments/ps5307?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3NtZHRlc3R3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9ob3N0R3JvdXBzL3NtZGRoZ3dlc3R1czIvaG9zdHMvc21kZGh3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFpbnRlbmFuY2UvY29uZmlndXJhdGlvbkFzc2lnbm1lbnRzL3BzNTMwNz9hcGktdmVyc2lvbj0yMDE4LTA2LTAxLXByZXZpZXc=",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"c3e54e11-6b5b-4380-879d-0308d22ac375"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"12a31e57-146e-4fea-946f-ff9979f2b32e"
],
"x-ms-ratelimit-remaining-subscription-deletes": [
"14999"
],
"x-ms-correlation-request-id": [
"12a31e57-146e-4fea-946f-ff9979f2b32e"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055636Z:12a31e57-146e-4fea-946f-ff9979f2b32e"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:35 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128/providers/Microsoft.Maintenance/maintenanceConfigurations/ps5307?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODEyOC9wcm92aWRlcnMvTWljcm9zb2Z0Lk1haW50ZW5hbmNlL21haW50ZW5hbmNlQ29uZmlndXJhdGlvbnMvcHM1MzA3P2FwaS12ZXJzaW9uPTIwMTgtMDYtMDEtcHJldmlldw==",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"0256d33b-362f-4cc7-b75c-3e1a535a961b"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"cfe114c1-7bf9-409d-9816-9d296519eff8"
],
"x-ms-ratelimit-remaining-subscription-deletes": [
"14998"
],
"x-ms-correlation-request-id": [
"cfe114c1-7bf9-409d-9816-9d296519eff8"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055636Z:cfe114c1-7bf9-409d-9816-9d296519eff8"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:36 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8128?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODEyOD9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"3753d02d-2f51-46db-bdc3-254a9c148835"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgxMjgtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-deletes": [
"14999"
],
"x-ms-request-id": [
"8cb08470-a10e-412e-85e5-c8d0598a3e86"
],
"x-ms-correlation-request-id": [
"8cb08470-a10e-412e-85e5-c8d0598a3e86"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055637Z:8cb08470-a10e-412e-85e5-c8d0598a3e86"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:36 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgxMjgtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneE1qZ3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgxMjgtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11999"
],
"x-ms-request-id": [
"13c87831-0328-42c7-9187-4dc4fc7590b0"
],
"x-ms-correlation-request-id": [
"13c87831-0328-42c7-9187-4dc4fc7590b0"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055652Z:13c87831-0328-42c7-9187-4dc4fc7590b0"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:56:52 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgxMjgtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneE1qZ3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgxMjgtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11998"
],
"x-ms-request-id": [
"118f5198-7dd5-4fa5-9707-525353ba28d3"
],
"x-ms-correlation-request-id": [
"118f5198-7dd5-4fa5-9707-525353ba28d3"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055707Z:118f5198-7dd5-4fa5-9707-525353ba28d3"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:57:07 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgxMjgtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneE1qZ3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11997"
],
"x-ms-request-id": [
"12d0ea01-1839-4392-927c-bb39ddd0d41d"
],
"x-ms-correlation-request-id": [
"12d0ea01-1839-4392-927c-bb39ddd0d41d"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055722Z:12d0ea01-1839-4392-927c-bb39ddd0d41d"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:57:22 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgxMjgtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneE1qZ3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11996"
],
"x-ms-request-id": [
"268eb273-1406-4547-9e0e-66714b52755b"
],
"x-ms-correlation-request-id": [
"268eb273-1406-4547-9e0e-66714b52755b"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T055722Z:268eb273-1406-4547-9e0e-66714b52755b"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:57:22 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
}
],
"Names": {
"Test-AzConfigurationAssignment": [
"ps8128",
"ps5307"
]
},
"Variables": {
"SubscriptionId": "42c974dd-2c03-4f1b-96ad-b07f050aaa74"
}
}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -0,0 +1,779 @@
{
"Entries": [
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8227?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODIyNz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"westus2\"\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"f557fbdf-5ea6-4d6e-be65-ef20f34822f1"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"29"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1199"
],
"x-ms-request-id": [
"e96c02bf-4175-437a-8b58-f7aba3fc2c92"
],
"x-ms-correlation-request-id": [
"e96c02bf-4175-437a-8b58-f7aba3fc2c92"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054411Z:e96c02bf-4175-437a-8b58-f7aba3fc2c92"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:11 GMT"
],
"Content-Length": [
"166"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"id\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourceGroups/ps8227\",\r\n \"name\": \"ps8227\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
"StatusCode": 201
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8227/providers/Microsoft.Maintenance/maintenanceConfigurations/ps7059?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODIyNy9wcm92aWRlcnMvTWljcm9zb2Z0Lk1haW50ZW5hbmNlL21haW50ZW5hbmNlQ29uZmlndXJhdGlvbnMvcHM3MDU5P2FwaS12ZXJzaW9uPTIwMTgtMDYtMDEtcHJldmlldw==",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"maintenanceScope\": \"Host\"\r\n }\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"782c71ca-57a7-4797-bf29-8bd89ff473cd"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"86"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"159d8fe5-89da-4f19-83f4-f948bd974dd3"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1199"
],
"x-ms-correlation-request-id": [
"159d8fe5-89da-4f19-83f4-f948bd974dd3"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054412Z:159d8fe5-89da-4f19-83f4-f948bd974dd3"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:12 GMT"
],
"Content-Length": [
"396"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"extensionProperties\": {},\r\n \"maintenanceScope\": \"Host\"\r\n },\r\n \"maintenanceWindows\": [],\r\n \"id\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8227/providers/Microsoft.Maintenance/maintenanceConfigurations/ps7059\",\r\n \"name\": \"ps7059\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments/ps7059?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3NtZHRlc3R3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9ob3N0R3JvdXBzL3NtZGRoZ3dlc3R1czIvaG9zdHMvc21kZGh3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFpbnRlbmFuY2UvY29uZmlndXJhdGlvbkFzc2lnbm1lbnRzL3BzNzA1OT9hcGktdmVyc2lvbj0yMDE4LTA2LTAxLXByZXZpZXc=",
"RequestMethod": "PUT",
"RequestBody": "{\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8227/providers/Microsoft.Maintenance/maintenanceConfigurations/ps7059\"\r\n }\r\n}",
"RequestHeaders": {
"x-ms-client-request-id": [
"85ca3d85-5349-4f4d-a9bb-49d12b5bf361"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"230"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"d078d1c2-fd60-4fe4-84af-c957f4115cb5"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1198"
],
"x-ms-correlation-request-id": [
"d078d1c2-fd60-4fe4-84af-c957f4115cb5"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054415Z:d078d1c2-fd60-4fe4-84af-c957f4115cb5"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:15 GMT"
],
"Content-Length": [
"601"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8227/providers/Microsoft.Maintenance/maintenanceConfigurations/ps7059\",\r\n \"resourceId\": \"7b32ed22-dc7b-4a17-9c42-36c024f4c9f9\"\r\n },\r\n \"id\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments/ps7059\",\r\n \"name\": \"ps7059\",\r\n \"type\": \"Microsoft.Maintenance/configurationAssignments\"\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/updates?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3NtZHRlc3R3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9ob3N0R3JvdXBzL3NtZGRoZ3dlc3R1czIvaG9zdHMvc21kZGh3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFpbnRlbmFuY2UvdXBkYXRlcz9hcGktdmVyc2lvbj0yMDE4LTA2LTAxLXByZXZpZXc=",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"d3e74d39-a7c9-427d-a1c2-0cbe611ed3d9"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"bbe799ea-d30e-41db-9fca-dd11c2bb6a1c"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11999"
],
"x-ms-correlation-request-id": [
"bbe799ea-d30e-41db-9fca-dd11c2bb6a1c"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054415Z:bbe799ea-d30e-41db-9fca-dd11c2bb6a1c"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:15 GMT"
],
"Content-Length": [
"427"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"maintenanceScope\": \"Host\",\r\n \"impactType\": \"Freeze\",\r\n \"status\": \"Pending\",\r\n \"impactDurationInSec\": 9,\r\n \"notBefore\": \"2019-12-06T20:53:46.9891398Z\",\r\n \"properties\": {\r\n \"resourceId\": \"/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2\"\r\n }\r\n }\r\n ]\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/smdtestwestus2/providers/Microsoft.Compute/hostGroups/smddhgwestus2/hosts/smddhwestus2/providers/Microsoft.Maintenance/configurationAssignments/ps7059?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3NtZHRlc3R3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9ob3N0R3JvdXBzL3NtZGRoZ3dlc3R1czIvaG9zdHMvc21kZGh3ZXN0dXMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFpbnRlbmFuY2UvY29uZmlndXJhdGlvbkFzc2lnbm1lbnRzL3BzNzA1OT9hcGktdmVyc2lvbj0yMDE4LTA2LTAxLXByZXZpZXc=",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"000cf29f-1d20-4c4a-9b10-8894c5b521d2"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"9ca6e93c-e530-412b-bbed-9adc98dabf15"
],
"x-ms-ratelimit-remaining-subscription-deletes": [
"14999"
],
"x-ms-correlation-request-id": [
"9ca6e93c-e530-412b-bbed-9adc98dabf15"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054417Z:9ca6e93c-e530-412b-bbed-9adc98dabf15"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:16 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8227/providers/Microsoft.Maintenance/maintenanceConfigurations/ps7059?api-version=2018-06-01-preview",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODIyNy9wcm92aWRlcnMvTWljcm9zb2Z0Lk1haW50ZW5hbmNlL21haW50ZW5hbmNlQ29uZmlndXJhdGlvbnMvcHM3MDU5P2FwaS12ZXJzaW9uPTIwMTgtMDYtMDEtcHJldmlldw==",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"4d9c4280-1a4b-49a1-b658-aa6af4e8d17e"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Maintenance.MaintenanceManagementClient/1.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-request-id": [
"0d02c229-58c7-4df5-af40-be9ad69174ac"
],
"x-ms-ratelimit-remaining-subscription-deletes": [
"14998"
],
"x-ms-correlation-request-id": [
"0d02c229-58c7-4df5-af40-be9ad69174ac"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054417Z:0d02c229-58c7-4df5-af40-be9ad69174ac"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:17 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/resourcegroups/ps8227?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L3Jlc291cmNlZ3JvdXBzL3BzODIyNz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "DELETE",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"cc20a8ff-3e1f-458b-8ac7-7dad9d693f69"
],
"Accept-Language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-deletes": [
"14999"
],
"x-ms-request-id": [
"becf3033-ba5a-487b-81e7-db6a4b3521ff"
],
"x-ms-correlation-request-id": [
"becf3033-ba5a-487b-81e7-db6a4b3521ff"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054418Z:becf3033-ba5a-487b-81e7-db6a4b3521ff"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:17 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneU1qY3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11999"
],
"x-ms-request-id": [
"42985247-a92d-4e8a-bbe1-569b7681600d"
],
"x-ms-correlation-request-id": [
"42985247-a92d-4e8a-bbe1-569b7681600d"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054433Z:42985247-a92d-4e8a-bbe1-569b7681600d"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:32 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneU1qY3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11998"
],
"x-ms-request-id": [
"30818836-d92e-4d8b-9ca0-b788bf68d075"
],
"x-ms-correlation-request-id": [
"30818836-d92e-4d8b-9ca0-b788bf68d075"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054448Z:30818836-d92e-4d8b-9ca0-b788bf68d075"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:44:47 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneU1qY3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11997"
],
"x-ms-request-id": [
"545b645b-750d-4e2f-9eed-141b0b578685"
],
"x-ms-correlation-request-id": [
"545b645b-750d-4e2f-9eed-141b0b578685"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054503Z:545b645b-750d-4e2f-9eed-141b0b578685"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:45:03 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneU1qY3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"Location": [
"https://management.azure.com/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01"
],
"Retry-After": [
"15"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11996"
],
"x-ms-request-id": [
"17590fac-5c9c-4cf8-aa67-8690fdf28c8e"
],
"x-ms-correlation-request-id": [
"17590fac-5c9c-4cf8-aa67-8690fdf28c8e"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054518Z:17590fac-5c9c-4cf8-aa67-8690fdf28c8e"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:45:18 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 202
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneU1qY3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11995"
],
"x-ms-request-id": [
"a1c44fc6-62c9-4faa-936a-711a63de2380"
],
"x-ms-correlation-request-id": [
"a1c44fc6-62c9-4faa-936a-711a63de2380"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054534Z:a1c44fc6-62c9-4faa-936a-711a63de2380"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:45:33 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/42c974dd-2c03-4f1b-96ad-b07f050aaa74/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QUzgyMjctV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2016-09-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDJjOTc0ZGQtMmMwMy00ZjFiLTk2YWQtYjA3ZjA1MGFhYTc0L29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVXpneU1qY3RWMFZUVkZWVE1pSXNJbXB2WWt4dlkyRjBhVzl1SWpvaWQyVnpkSFZ6TWlKOT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"User-Agent": [
"FxVersion/4.6.28008.01",
"OSName/Windows",
"OSVersion/Microsoft.Windows.10.0.18362.",
"Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.2"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Pragma": [
"no-cache"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11994"
],
"x-ms-request-id": [
"3cb4c769-21a0-4171-9407-7ee5c056ec18"
],
"x-ms-correlation-request-id": [
"3cb4c769-21a0-4171-9407-7ee5c056ec18"
],
"x-ms-routing-request-id": [
"WESTUS:20191108T054534Z:3cb4c769-21a0-4171-9407-7ee5c056ec18"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"Date": [
"Fri, 08 Nov 2019 05:45:33 GMT"
],
"Expires": [
"-1"
],
"Content-Length": [
"0"
]
},
"ResponseBody": "",
"StatusCode": 200
}
],
"Names": {
"Test-AzMaintenanceUpdate": [
"ps8227",
"ps7059",
"ps8286"
]
},
"Variables": {
"SubscriptionId": "42c974dd-2c03-4f1b-96ad-b07f050aaa74"
}
}

Просмотреть файл

@ -0,0 +1,66 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.2042
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maintenance", "Maintenance\Maintenance.csproj", "{0E11B67A-1257-40D0-BD33-8315759FDB01}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{254150A6-D7EB-4D1B-9EB1-15B836D6F493}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maintenance.Test", "Maintenance.Test\Maintenance.Test.csproj", "{F5D771BE-9C6B-4AF9-AC41-B2D7F3267868}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Accounts", "..\Accounts\Accounts\Accounts.csproj", "{142D7B0B-388A-4CEB-A228-7F6D423C5C2E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Authentication", "..\Accounts\Authentication\Authentication.csproj", "{FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Authentication.ResourceManager", "..\Accounts\Authentication.ResourceManager\Authentication.ResourceManager.csproj", "{3E016018-D65D-4336-9F64-17DA97783AD0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScenarioTest.ResourceManager", "..\..\tools\ScenarioTest.ResourceManager\ScenarioTest.ResourceManager.csproj", "{F83FBA8D-732D-437C-A0E2-02E45B01E123}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestFx", "..\..\tools\TestFx\TestFx.csproj", "{BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0E11B67A-1257-40D0-BD33-8315759FDB01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E11B67A-1257-40D0-BD33-8315759FDB01}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E11B67A-1257-40D0-BD33-8315759FDB01}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E11B67A-1257-40D0-BD33-8315759FDB01}.Release|Any CPU.Build.0 = Release|Any CPU
{F5D771BE-9C6B-4AF9-AC41-B2D7F3267868}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F5D771BE-9C6B-4AF9-AC41-B2D7F3267868}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F5D771BE-9C6B-4AF9-AC41-B2D7F3267868}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F5D771BE-9C6B-4AF9-AC41-B2D7F3267868}.Release|Any CPU.Build.0 = Release|Any CPU
{142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Release|Any CPU.Build.0 = Release|Any CPU
{FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Release|Any CPU.Build.0 = Release|Any CPU
{3E016018-D65D-4336-9F64-17DA97783AD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E016018-D65D-4336-9F64-17DA97783AD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E016018-D65D-4336-9F64-17DA97783AD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E016018-D65D-4336-9F64-17DA97783AD0}.Release|Any CPU.Build.0 = Release|Any CPU
{F83FBA8D-732D-437C-A0E2-02E45B01E123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F83FBA8D-732D-437C-A0E2-02E45B01E123}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F83FBA8D-732D-437C-A0E2-02E45B01E123}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F83FBA8D-732D-437C-A0E2-02E45B01E123}.Release|Any CPU.Build.0 = Release|Any CPU
{BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{F5D771BE-9C6B-4AF9-AC41-B2D7F3267868} = {254150A6-D7EB-4D1B-9EB1-15B836D6F493}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3555524E-A7CA-4A4B-B228-08B2ED034EC5}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,106 @@
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------
using Microsoft.Azure.Commands.Maintenance.Models;
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
using Microsoft.Azure.Management.Maintenance;
using Microsoft.Azure.Management.Maintenance.Models;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
namespace Microsoft.Azure.Commands.Maintenance
{
[Cmdlet(VerbsCommon.New, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "ApplyUpdate", DefaultParameterSetName = "DefaultParameter", SupportsShouldProcess = true)]
[OutputType(typeof(PSApplyUpdate))]
public partial class NewAzureRmApplyUpdate : MaintenanceAutomationBaseCmdlet
{
public override void ExecuteCmdlet()
{
base.ExecuteCmdlet();
ExecuteClientAction(() =>
{
if (ShouldProcess("default", VerbsCommon.New))
{
string resourceGroupName = this.ResourceGroupName;
string providerName = this.ProviderName;
string resourceParentType = this.ResourceParentType;
string resourceParentName = this.ResourceParentName;
string resourceType = this.ResourceType;
string resourceName = this.ResourceName;
var result = (!string.IsNullOrEmpty(resourceParentType) && !string.IsNullOrEmpty(resourceParentName)) ?
ApplyUpdatesClient.CreateOrUpdateParent(resourceGroupName, providerName, resourceParentType, resourceParentName, resourceType, resourceName) :
ApplyUpdatesClient.CreateOrUpdate(resourceGroupName, providerName, resourceType, resourceName);
var psObject = new PSApplyUpdate();
MaintenanceAutomationAutoMapperProfile.Mapper.Map<ApplyUpdate, PSApplyUpdate>(result, psObject);
WriteObject(psObject);
}
});
}
[Parameter(
ParameterSetName = "DefaultParameter",
Position = 0,
Mandatory = true,
HelpMessage = "The resource Group Name.",
ValueFromPipelineByPropertyName = true)]
[ResourceGroupCompleter]
public string ResourceGroupName { get; set; }
[Parameter(
ParameterSetName = "DefaultParameter",
Position = 1,
Mandatory = true,
HelpMessage = "The resource provider Name.",
ValueFromPipelineByPropertyName = true)]
public string ProviderName { get; set; }
[Parameter(
ParameterSetName = "DefaultParameter",
Mandatory = false,
HelpMessage = "The parent resource type.",
ValueFromPipelineByPropertyName = true)]
public string ResourceParentType { get; set; }
[Parameter(
ParameterSetName = "DefaultParameter",
Mandatory = false,
HelpMessage = "The parent resource name.",
ValueFromPipelineByPropertyName = true)]
public string ResourceParentName { get; set; }
[Parameter(
ParameterSetName = "DefaultParameter",
Position = 2,
Mandatory = true,
HelpMessage = "The resource type.",
ValueFromPipelineByPropertyName = true)]
public string ResourceType { get; set; }
[Parameter(
ParameterSetName = "DefaultParameter",
Position = 3,
Mandatory = true,
HelpMessage = "The resource name.",
ValueFromPipelineByPropertyName = true)]
public string ResourceName { get; set; }
[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }
}
}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше