Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PS cmdlets for application gateway L4 properties #18557

Merged
merged 9 commits into from
Jun 22, 2022

Conversation

gdhillon24
Copy link
Contributor

@gdhillon24 gdhillon24 commented Jun 14, 2022

Description

PS cmdlets for application gateway L4 properties -> Added new comdlets for Listeners , BackendSettings, RoutingRules
Modified cmdlets.
New-AzApplicationGateway , Set-AzApplicationGatewayProbeConfig ,Add-AzApplicationGatewayProbeConfig ,New-AzApplicationGatewayProbeConfig

Checklist

Add models and properties for TLS proxy
Add new ps cmdlets for TLS proxy
@gdhillon24 gdhillon24 changed the title Gdhillon app gw tls proxy PS cmdlets for application gateway L4 properties Jun 14, 2022
@VeryEarly VeryEarly self-assigned this Jun 14, 2022

namespace Microsoft.Azure.Commands.Network
{
[Cmdlet("New", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "ApplicationGatewayBackendSetting"), OutputType(typeof(PSApplicationGatewayBackendSettings))]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this cmdlet will return ID like:
/subscriptions/{0}/resourceGroups/ResourceGroupNotSet/providers/Microsoft.Network/applicationGateways/ApplicationGatewayNameNotSet/{3}/{4}
can you please clarify in help message

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New-AzApplicationGatewayBackendSetting it returns a PSApplicationGatewayBackendSettings Object
image

@VeryEarly
Copy link
Contributor

It seems like backend setting related cmdlets only manipulate the in-memory PSApplicationGateway object without sending any request except Add-AzApplicationGatewayBackendSetting, can you please confirm why these cmdlets are needed.

@gdhillon24
Copy link
Contributor Author

It seems like backend setting related cmdlets only manipulate the in-memory PSApplicationGateway object without sending any request except Add-AzApplicationGatewayBackendSetting, can you please confirm why these cmdlets are needed.

Basically, the workflow to update BackendSettings would require to fetch the application gateway object and then use the new cmdlets to modify the backend settings in the application gateway object and at last update the Application Gateway Object using Set-AzApplicationGateway.

Same is true for Listeners and RoutingRules.

@gdhillon24
Copy link
Contributor Author

gdhillon24 commented Jun 15, 2022

It seems like backend setting related cmdlets only manipulate the in-memory PSApplicationGateway object without sending any request except Add-AzApplicationGatewayBackendSetting, can you please confirm why these cmdlets are needed.

Basically, the workflow to update BackendSettings would require to fetch the application gateway object and then use the new cmdlets to modify the backend settings in the application gateway object and at last update the Application Gateway Object using Set-AzApplicationGateway.

Same is true for Listeners and RoutingRules.

Example Commands:
$appgw = Get-AzApplicationGateway -Name $appgwName -ResourceGroupName $rgname

$backendSettingGet = Get-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name PoolSetting01Name

Add-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name $poolSetting02Name -Port 1234 -Protocol TCP -Timeout 42

Set-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name $poolSetting02Name -Port 123 -Protocol TCP -Timeout 40

Remove-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name $poolSetting02Name

$appgw = Set-AzApplicationGateway -ApplicationGateway $appgw

And For New-AzApplicationGatewayBackendSetting it Outputs a PSApplicationGatewayBackendSettings which can be used to create a new ApplicationGateway.

Below is an Example.

$poolSetting01 = New-AzApplicationGatewayBackendSetting -Name $poolSetting01Name -Port 443 -Protocol TCP -Timeout 20

$appgw = New-AzApplicationGateway -Name $appgwName -ResourceGroupName $rgname -Location $location -BackendAddressPools $pool -BackendSettingsCollection $poolSetting01 -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $fp01 -Listeners $listener01 -RoutingRules $rule01 -Sku $sku -AutoscaleConfiguration $autoscaleConfig -Probe $probe

@VeryEarly
Copy link
Contributor

It seems like backend setting related cmdlets only manipulate the in-memory PSApplicationGateway object without sending any request except Add-AzApplicationGatewayBackendSetting, can you please confirm why these cmdlets are needed.

Basically, the workflow to update BackendSettings would require to fetch the application gateway object and then use the new cmdlets to modify the backend settings in the application gateway object and at last update the Application Gateway Object using Set-AzApplicationGateway.
Same is true for Listeners and RoutingRules.

Example Commands: $appgw = Get-AzApplicationGateway -Name $appgwName -ResourceGroupName $rgname

$backendSettingGet = Get-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name PoolSetting01Name

Add-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name $poolSetting02Name -Port 1234 -Protocol TCP -Timeout 42

Set-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name $poolSetting02Name -Port 123 -Protocol TCP -Timeout 40

Remove-AzApplicationGatewayBackendSetting -ApplicationGateway $appgw -Name $poolSetting02Name

$appgw = Set-AzApplicationGateway -ApplicationGateway $appgw

And For New-AzApplicationGatewayBackendSetting it Outputs a PSApplicationGatewayBackendSettings which can be used to create a new ApplicationGateway.

Below is an Example.

$poolSetting01 = New-AzApplicationGatewayBackendSetting -Name $poolSetting01Name -Port 443 -Protocol TCP -Timeout 20

$appgw = New-AzApplicationGateway -Name $appgwName -ResourceGroupName $rgname -Location $location -BackendAddressPools $pool -BackendSettingsCollection $poolSetting01 -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $fp01 -Listeners $listener01 -RoutingRules $rule01 -Sku $sku -AutoscaleConfiguration $autoscaleConfig -Probe $probe

make sense

@VeryEarly
Copy link
Contributor

/azp run azure-powershell - security-tools

@azure-pipelines
Copy link
Contributor

Azure Pipelines successfully started running 1 pipeline(s).

@VeryEarly
Copy link
Contributor

/azp run azure-powershell - security-tools

@azure-pipelines
Copy link
Contributor

Azure Pipelines successfully started running 1 pipeline(s).

@VeryEarly VeryEarly merged commit 119ecfc into Azure:network-2022-01-01 Jun 22, 2022
azure-sdk pushed a commit to azure-sdk/azure-powershell that referenced this pull request Jun 24, 2022
Web ant97 2022 03 01 (Azure#19430)

* Adds base for updating Microsoft.Web from version stable/2021-03-01 to version 2022-03-01

* Updates readme

* Updates API version in new specs and examples

* Carry fwd Microsoft.CertificateRegistration and Microsoft.DomainRegis… (Azure#18460)

* Carry fwd Microsoft.CertificateRegistration and Microsoft.DomainRegistration RPs to Api-version 2022-03-01

* Add x-ms-enum for array of inline enums. Fix reference to older api version for common defs

* Add examples for App Service Certificate orders

* Add suppressions back

* Add examples for Microsoft.DomainRegistration RP

* Fixes from prettier

* Remove unused example

* Add Unhealthy CustomDomainStatus for StaticSites (Azure#18557)

* Adding VnetRouteAllEnabled, VnetImagePullEnabled, VnetContentShareEnabled site properties to CommonDefinitions (Azure#18627)

* Added vnet realted site properties to common definitions

* removed tab

Co-authored-by: Tanay Bhartia <[email protected]>

* Add Ftp/Remote debug properties to Ase network config (Azure#18549)

* Add Ftp/Remote debug properties to Ase network config

* Switched changes to the right file

* Add Networking config to hosting environment creates

* Added some of the missing examples

* Remove disallowed properties from example Ase GET response

* Adjusted responses from other gets

* Added a bunch more examples

* Added other missing examples for Ase.

* Added more missing examples for Ase.

* fixed formatting

* Edit some examples, add back privatelink apis and try to supress the errors for missing examples.

* Fix suppress spelling and fix prettier

* Added missing privatelink examples since suppressing did not work

* Add Bring your own Backend operations (Azure#18517)

* add bring your own backend operations

* add missing files

* fix json formattin

* validation fixes

* fix

* fix more validation

* fix ids

* fix model validation

* fix descriptions

* fix environmentName description

* change to 202

* revert change to 202

* customhostnamesites optional param for 2022 API version (Azure#18670)

* fix DUPLICATE_PARAMETER

* prettier

* fix  OBJECT_ADDITIONAL_PROPERTIES

* fix random sub in examples

* add optional hostname param to customHostnameSites RT and add examples

* move changes from 2021 api version to 2022

* move examples to 2022

* Revert "add optional hostname param to customHostnameSites RT and add examples"

This reverts commit 7fc318e190de2108222dbb869d9a6219a02cae2f.

* remove examples from 2021

* fix lintDiff

* prettier fix

* model validation fix

* suppress model validation in readme

Co-authored-by: Elle Tojaroon <[email protected]>

* [Microsoft.Web] Add CustomDnsSuffixConfiguration to ASE (Azure#18553)

* [Microsoft.Web] Add CustomDnsSuffixConfiguration to AppServiceEnvironments

* Add examples

* Fix style issues

* Add customdnssuffix to custom-words

* Add CustomDnsSuffixConfiguration to AppServiceEnvironment definition

* Address remaining model validation errors

* Adjusted networking configuration definitions

* Addressed Arm review feedback

Co-authored-by: Jarod Aerts <[email protected]>

* Fork/web ant97 2022 03 01 (Azure#19259)

* Added DeploymentStatus API specs and examples

* change status to enum, rm extra dot

* suppress missing examples for now

* rm id from List Deployment Slot examples

* rm location, and rename deploymentId in GetSiteDeploymentStatus examples

* change model as string to true, add 202 operations for DeploymentStatus ops to spec

* rename operationId to deploymentStatusId, undo deploymentId rename

* add long running op, as per linter

Co-authored-by: Shubham Dhond <[email protected]>
Co-authored-by: Weidong Xu <[email protected]>

* PublicNetworkAccess Swagger Change (Azure#19352)

* add publicNetworkAccess property in site for swagger

* add suppression to fix Model Validation CI

* Add allowed values in the description

* Add specs for Hosting Environment Maintenance Control (Azure#18691)

* Add documentation for Hosting Environment Maintenance Control

* Update example file name

* Make UpgradePreference non-nullable

* Correct indentation to 2 spaces

* Fix upgradePreference indentation

* Address swagger feedback. Add enums with descriptions.

* Move testNotification to request body. Update description text

* Fix testNotification

* Fix example

* Replace TestNotification parameter with TestUpgradeNotification API

* Rename to TestUpgradeAvailableNotification

* Added logic apps operations (Azure#18604)

* Added Initial Operations and some definitions

* Adding additional objects to support Logic Apps operations

* Updated path and parameters to match testing

* Prettier Fixes

* oav validat-example fixes

* Github validation fixes

* Prettier

* Updated examples and paths

* Prettier

* Revert "Prettier"

This reverts commit da090adf8005e0bd6fdc2ddebbd4390e5c4b6b20.

* Prettier

* Fixed model validation errors

* Filled in nextLinkName values

* Fixing swagger lintdiff errors

* added x-ms-long-running to async calls

* Adds numberOfWorkers to app service plan (Azure#19475)

* Adds numberOfWorkers to app service plan

* Add suppression for missing ASP examples

* Updating to fix workflow errors (Azure#19490)

* Removed conflicting resource definition and added reference to CommonDefinitions.json (Azure#19507)

* Removed conflicting resource definition and added reference to CommonDefinitions.json

* Updated resource to have workflow version

* Updated nextLink object to be correctly tagged (Azure#19560)

* Updated nextLink object to be correctly tagged

* Adding value placeholder

* Updated SKU to remove conflict

* Updated x-ms-enum

* Added missing model

* Adding more missing models

* Add suppressions for missing examples (#19563)

Co-authored-by: Joseph Lin <[email protected]>
Co-authored-by: Tanay Bhartia <[email protected]>
Co-authored-by: Tanay Bhartia <[email protected]>
Co-authored-by: JarodAertsMs <[email protected]>
Co-authored-by: annikel <[email protected]>
Co-authored-by: Paviya (Elle) Tojaroon <[email protected]>
Co-authored-by: Elle Tojaroon <[email protected]>
Co-authored-by: Chris Chen <[email protected]>
Co-authored-by: Jarod Aerts <[email protected]>
Co-authored-by: edwin-msft <[email protected]>
Co-authored-by: Shubham Dhond <[email protected]>
Co-authored-by: Weidong Xu <[email protected]>
Co-authored-by: jiansong-msft <[email protected]>
Co-authored-by: Derek Johnson <[email protected]>
Co-authored-by: Alex Karcher <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants