This directory contains the PowerShell module for the Cdn service.
- Modifiable: yes
- Generated: all
- Committed: yes
- Packaged: yes
This module was primarily generated via AutoRest using the PowerShell extension.
- Az.Accounts module, version 2.7.5 or greater
AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent.
For information on how to develop for Az.Cdn
, see how-to.md.
require:
# readme.azure.noprofile.md is the common configuration file
- $(this-folder)/../../readme.azure.noprofile.md
input-file:
# You need to specify your swagger files here.
- $(repo)/specification/cdn/resource-manager/Microsoft.Cdn/stable/2024-02-01/afdx.json
- $(repo)/specification/cdn/resource-manager/Microsoft.Cdn/stable/2024-02-01/cdn.json
# If the swagger has not been put in the repo, you may uncomment the following line and refer to it locally
# - (this-folder)/relative-path-to-your-swagger
# For new RP, the version is 0.1.0
module-version: 0.1.0
# Normally, title is the service name
title: Cdn
subject-prefix: $(service-name)
commit: 186970d644b0d6249772290fedfb4a288f433cc3
# If there are post APIs for some kinds of actions in the RP, you may need to
# uncomment following line to support viaIdentity for these post APIs
identity-correction-for-post: true
resourcegroup-append: true
nested-object-to-string: true
# For new modules, please avoid setting 3.x using the use-extension method and instead, use 4.x as the default option
use-extension:
"@autorest/powershell": "3.x"
directive:
- from: swagger-document
where: $.paths..operationId
transform: return $.replace(/^AFDProfiles_Upgrade$/g, "AFDProfileSku_Upgrade")
- no-inline:
# AFDX
- SecurityPolicyPropertiesParameters
- SecretParameters
- AFDDomainHttpsParameters
- LoadBalancingSettingsParameters
# CDN
- CustomDomainHttpsParameters
- ResponseBasedOriginErrorDetectionParameters
# Both CDN and AFDX
- HealthProbeParameters
# Generate memory object as parameter of the cmelet.
- model-cmdlet:
- ResourceReference
# origin group parameters
- HealthProbeParameters
- ResponseBasedOriginErrorDetectionParameters
# https
- UserManagedHttpsParameters
- CdnManagedHttpsParameters
- DeliveryRule
# CDN condition
- DeliveryRuleRemoteAddressCondition
- DeliveryRuleRequestMethodCondition
- DeliveryRuleQueryStringCondition
- DeliveryRulePostArgsCondition
- DeliveryRuleRequestUriCondition
- DeliveryRuleRequestHeaderCondition
- DeliveryRuleRequestBodyCondition
- DeliveryRuleRequestSchemeCondition
- DeliveryRuleUrlPathCondition
- DeliveryRuleUrlFileExtensionCondition
- DeliveryRuleUrlFileNameCondition
- DeliveryRuleHttpVersionCondition
- DeliveryRuleCookiesCondition
- DeliveryRuleIsDeviceCondition
# CDN action
- DeliveryRuleCacheExpirationAction
- DeliveryRuleCacheKeyQueryStringAction
- OriginGroupOverrideAction
- UrlRedirectAction
- UrlSigningAction
- UrlRewriteAction
- DeliveryRuleRequestHeaderAction
- DeliveryRuleResponseHeaderAction
# CDN content
- PurgeParameters
- LoadParameters
# AFDX profile LogScrubbing, need to rename the memory ojects, not sure how to rename a memory object currently.
# - ProfileLogScrubbing
# - ProfileScrubbingRules
# Migration to AFDx
# - MigrationParameters
# - MigrationWebApplicationFirewallMapping
# Upgrade sku
# - ProfileUpgradeParameters
# - ProfileChangeSkuWafMapping
- where:
model-name: .*
set:
format-table:
exclude-properties:
- SystemData
- SystemDataCreatedAt
- SystemDataCreatedBy
- SystemDataCreatedByType
- SystemDataLastModifiedAt
- SystemDataLastModifiedBy
- SystemDataLastModifiedByType
# Following is two common directive which are normally required in all the RPs
# 1. Remove the unexpanded parameter set
# 2. For New-* cmdlets, ViaIdentity is not required, so CreateViaIdentityExpanded is removed as well
- where:
variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$|^Update$|^UpdateViaIdentity$|^Patch$|^PatchViaIdentity$|^Check$|^Check1$|^CheckViaIdentity$|^Validate$|^ValidateViaIdentity$
subject: ^(?!RuleSet).+$
remove: true
- where:
variant: ^CreateViaIdentity$|^CreateViaIdentityExpanded$|^Update$|^UpdateViaIdentity$
subject: ^RuleSet$
remove: true
# Remove the set-* cmdlet
- where:
verb: Set
remove: true
# Remove some cmdlets' ViaIdentity which are inconvinient to call
- where:
variant: ^CheckViaIdentity$|^CheckViaIdentityExpanded$
subject: ^NameAvailability$|^EndpointNameAvailability$
remove: true
- where:
variant: ^ValidateViaIdentity$|^ValidateViaIdentityExpanded$
subject: ^Probe$
remove: true
- where:
variant: ^EnableExpanded$|^EnableViaIdentityExpanded$
subject: ^CustomDomainCustomHttps$
remove: true
- where:
variant: ^UpgradeExpanded$
subject: AFDProfileSku
remove: true
# Hide Cdn profile
- where:
subject: Profile
hide: true
- where:
subject: ProfileSsoUri
hide: true
- where:
subject: SecretValidate
hide: true
- where:
subject: LogAnalytic(.*)
hide: true
# Hide classicAfd migrate command and customize
- where:
subject: CanProfileMigrate
hide: true
- where:
subject: CommitProfileMigration
hide: true
# Hide UpgradeSku command and customize
- where:
subject: AFDProfileSku
verb: Update|Upgrade
hide: true
# Hide validate the secret
- where:
subject: (.*)ProfileSecret
verb: Test
hide: true
# Hide check the availability of an afdx endpoint name
- where:
subject: (.*)ProfileEndpointNameAvailability
verb: Test
hide: true
# Rename
- where:
subject: Afd(.*)
set:
subject-prefix: FrontDoorCdn
subject: $1
- where:
subject: Rule
set:
subject-prefix: FrontDoorCdn
- where:
subject: RuleSet
set:
subject-prefix: FrontDoorCdn
- where:
subject: RuleSetResourceUsage
set:
subject-prefix: FrontDoorCdn
- where:
subject: Route
set:
subject-prefix: FrontDoorCdn
subject: Route
- where:
subject: Secret
set:
subject-prefix: FrontDoorCdn
subject: Secret
- where:
subject: SecurityPolicy
set:
subject-prefix: FrontDoorCdn
subject: SecurityPolicy
- where:
subject: EndpointNameAvailability
set:
subject-prefix: FrontDoorCdn
- where:
subject: ResourceUsage
set:
subject: SubscriptionResourceUsage
# https://github.com/Azure/autorest.powershell/issues/906
- where:
model-name: AfdDomainUpdatePropertiesParameters
property-name: PreValidatedCustomDomainResourceId
set:
property-name: AfdDomainUpdatePropertiesParametersPreValidatedCustomDomainResourceId
- where:
model-name: AfdDomainUpdatePropertiesParameters
property-name: PreValidatedCustomDomainResourceIdId
set:
property-name: PreValidatedCustomDomainResourceId
# Customize the output table formatting
- where:
model-name: CanMigrateResult
set:
format-table:
properties:
- CanMigrate
- DefaultSku
- Error
- where:
model-name: MigrateResult
set:
format-table:
properties:
- PropertiesMigratedProfileResourceIdId
labels:
PropertiesMigratedProfileResourceIdId: MigratedProfileResourceId
- where:
model-name: EdgeNode
set:
format-table:
properties:
- Id
# Delete 404
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}"].delete
transform: >-
$["x-ms-long-running-operation-options"] = {"final-state-via": "azure-async-operation"}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName}"].delete
transform: >-
$["x-ms-long-running-operation-options"] = {"final-state-via": "azure-async-operation"}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}"].delete
transform: >-
$["x-ms-long-running-operation-options"] = {"final-state-via": "azure-async-operation"}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}"].delete
transform: >-
$["x-ms-long-running-operation-options"] = {"final-state-via": "azure-async-operation"}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"].delete
transform: >-
$["x-ms-long-running-operation-options"] = {"final-state-via": "azure-async-operation"}