Repository navigation
Conversation
Add preview authentication policies and additive API features, including EdgeAction ClientResponse invocation support. Preserve older API pins, add offline regression coverage, and bump the preview extension to 1.0.0b4. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bc2407c6-94d7-4e44-9a99-cda968db2fb2
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Thank you for your contribution Zaaaaaa! We will review the pull request and get back to you soon. |
Member
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The changes require final human review because they are too complex or risky for automated approval.
No open issues 🎉
What changed in this PR
Upgrades the CDN/AFD generated surfaces from 2026-04-01-preview to 2026-09-01-preview, preserving separately pinned APIs.
Changes:
- Adds preview authentication-policy commands and new TLS, certificate-validation, capacity-distribution, and gRPC settings.
- Enables EdgeAction
ClientResponseinvocation across supported rule surfaces. - Releases
1.0.0b4with changelog updates and offline regression coverage.
| File | Description |
|---|---|
| src/cdn/setup.py | Updated as part of this pull request. |
| src/cdn/HISTORY.rst | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/profile_migration/_migrate.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/profile_migration/_commit.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/profile_migration/_check_compatibility.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/profile_migration/_abort.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin_group/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin_group/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin_group/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin_group/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin_group/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/origin_group/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_validate_custom_domain.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_stop.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_start.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_purge.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_load.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/endpoint/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/edge_node/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_enable_https.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_disable_https.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/custom_domain/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/_usage.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/cdn/_name_exists.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/waf_log_analytic/ranking/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/waf_log_analytic/metric/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/security_policy/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/security_policy/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/security_policy/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/security_policy/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/security_policy/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/security_policy/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/secret/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/secret/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/secret/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/secret/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/secret/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/secret/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/condition/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/condition/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/condition/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/condition/_remove.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/condition/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/condition/_add.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/action/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/action/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/action/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/action/_remove.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/action/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/action/_add.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule_set/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule_set/_usage.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule_set/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule_set/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule_set/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/rule_set/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/route/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/route/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/route/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/route/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/route/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/route/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/log_scrubbing/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/identity/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/identity/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/identity/_remove.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/identity/_assign.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/_usage.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/profile/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin_group/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin_group/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin_group/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin_group/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin_group/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/origin_group/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/log_analytic/resource/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/log_analytic/ranking/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/log_analytic/metric/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/log_analytic/location/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/endpoint/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/endpoint/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/endpoint/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/endpoint/_purge.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/endpoint/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/endpoint/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/endpoint/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/custom_domain/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/custom_domain/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/custom_domain/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/custom_domain/_regenerate_validation_token.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/custom_domain/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/custom_domain/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/custom_domain/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/_wait.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/_update.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/_show.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/_list.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/_delete.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/_create.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/__init__.py | Updated as part of this pull request. |
| src/cdn/azext_cdn/aaz/latest/afd/auth_policy/__cmd_group.py | Updated as part of this pull request. |
Review effort: Balanced
Restore Classic CDN and shared profile generated commands to their existing API versions, excluding Classic CDN from new gRPC and ClientResponse features. Add backward-compatibility coverage and correct the changelog without changing recordings. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 90ed8a3f-c0f0-4400-87f5-a337220a86e2
Record 22 AFD scenarios against API version 2026-09-01-preview, including AuthPolicy and standalone ClientResponse coverage. Preserve all existing Classic CDN recordings and the original batch RuleSet scenario scope. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 90ed8a3f-c0f0-4400-87f5-a337220a86e2
Separate Classic CDN profile commands from the AFD preview API and align scenario fixtures with refreshed recordings. Restore shared CLI Session state before deleting offline-test configuration directories, including setup-failure cleanup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 90ed8a3f-c0f0-4400-87f5-a337220a86e2
Member
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 PR Validation —⚠️ Review suggested
Summary
Upgrade only the CDN/AFD generated surfaces that previously consumed
2026-04-01-previewto2026-09-01-preview, based on the ARM-signed-off Swagger in Azure/azure-rest-api-specs#46300.az afd auth-policycommand group for Microsoft Entra ID authentication, domain/route associations, Block/Log actions, and token forwarding.ClientResponseinvocation, with offline assertions on the actual serializedparameters.invocationPointfor rule creation, rule action property commands, batch rules, and CDN endpoint delivery policies.cdn profile deployment-versioncommands pinned to2025-09-01-preview, and legacy2021-06-01SDK overrides.1.0.0b3to1.0.0b4and updateHISTORY.rst. Keepazext.isPreview=trueand minimum CLI core2.85.0. Do not modifysrc/index.json.Corresponding AAZ models: Azure/aaz#1132.
Related commands
az afd auth-policy,az afd custom-domain,az afd origin,az afd origin-group,az afd route,az afd rule,az afd rule action,az afd rule-set, and existing sharedaz cdncommand surfaces.Scope and source
Azure/azure-cli-extensionsmain atebea488892f255360e25bc481fc3f01fd5990334(cdn1.0.0b3).Azure/aazmain atf4676b10d373ec9f5c0b63b986fe2a1832682814.cf828ab99c8616af7ec90725025d3ef8fae01fa7.e49e407a066a868ebbb064801b662a5be89ab108; the target OpenAPI content was rechecked against the later PR head and is unchanged.ef6c5c54c68d1534befa1968bf52d2192f4962df.Validation
Offline regression suite: 25 tests passed, 132 subtests passed:
azdev style cdn: PASS, including pylint and flake8. On the local editable Windows setup,PYTHONPATHexplicitly included the CLI, CLI core, and CLI telemetry source roots.Static linter checks, AAZ model verification for
afd/cdn, Python compilation, andgit diff --check: PASS.Strict generated-scope audit: existing code changes are additive after normalizing API-version literals/docstrings; preserved API pins and unchanged legacy/custom registrations are checked separately.
Dedicated compatibility evidence
The upstream CI entry point
.azure-pipelines/breaking-change-tests.ymlusesscripts/ci/breaking_change_test.py, which exports command metadata and invokesazdev command-change meta-diff. The same supported subcommands were run locally against an isolated checkout of the exact main baseline and the final1.0.0b4candidate, using the same CLI runtime (b799e5bc71a603b890705a3c7a9729793a5c5708):3.13.14, azdev0.2.13, azure-cli-diff-tool0.1.1.0; 15 non-breaking findings and 0 breaking findings. The JSON findings were inspected, not inferred from the exit code alone.Release readiness and limitations
cdn1.0.0b4PreviewGeneral guidelines
azdev style cdnlocally.python scripts/ci/test_index.py -qlocally. Not run: this PR does not change the extension index.