Skip to content

Add new API version for DNS resolver with DNS security policy changes for 2025-05-01 #34615

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

Open
wants to merge 3 commits into
base: dnsresolver-2025-05-01-ga-release
Choose a base branch
from

Conversation

jamesvoongms
Copy link
Member

@jamesvoongms jamesvoongms commented May 12, 2025

ARM (Control Plane) API Specification Update Pull Request

This is a PR that builds on our 2023-07-01-preview that introduces four new resources into the dnsresolver module.

The preview version added a new json containing an upcoming feature for DNS Security Policy. It also changes the existing API spec to use common types v5 from v2.

The changes from the preview version adds a new POST request for one of the resource DNS resolver domain list which allows a user to specify a storage URL for uploading or downloading domain lists (list of domains used by allowing or blocking DNS requests).

Previous Public Preview Review -> #30707
Other azure-rest-api-spec-pr change reviews for additions since last version:
https://github.com/Azure/azure-rest-api-specs-pr/pull/21053
https://github.com/Azure/azure-rest-api-specs-pr/pull/22230
https://github.com/Azure/azure-rest-api-specs-pr/pull/22287

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Copy link

openapi-pipeline-app bot commented May 12, 2025

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR is in purview of the ARM review (label: ARMReview). This PR must get ARMSignedOff label from an ARM reviewer.
    This PR has ARMChangesRequested label. Please address or respond to feedback from the ARM API reviewer.
    When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
    Automation should then add WaitForARMFeedback label.
    ❗If you don't have permissions to remove the label, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories.
    For details of the ARM review, see aka.ms/azsdk/pr-arm-review

Copy link

openapi-pipeline-app bot commented May 12, 2025

PR validation pipeline restarted successfully. If there is ApiView generated, it will be updated in this comment.

@jamesvoongms jamesvoongms changed the title [DRAFT] Add new API version for DNS resolver with DNS security policy changes for 2025-05-01 Add new API version for DNS resolver with DNS security policy changes for 2025-05-01 May 12, 2025
@github-actions github-actions bot added the brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. label May 12, 2025
@AzureRestAPISpecReview AzureRestAPISpecReview added ARMReview resource-manager WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels May 12, 2025
@jamesvoongms
Copy link
Member Author

The linting seems to be incorrect? The four files referenced in the error are in the swagger spec

image

@jamesvoongms
Copy link
Member Author

/azp run

Copy link

You have several pipelines (over 10) configured to build pull requests in this repository. Specify which pipelines you would like to run by using /azp run [pipelines] command. You can specify multiple pipelines using a comma separated list.

Copy link

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Go sdk/resourcemanager/dnsresolver/armdnsresolver

1 similar comment
Copy link

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Go sdk/resourcemanager/dnsresolver/armdnsresolver

@TimLovellSmith
Copy link
Member

@jamesvoongms so do I understand right that all the changes here have already been ARM reviewed in one PR or another?

"key1": "value1"
},
"properties": {
"domainsUrl": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolverDomainLists/sampleDnsResolverDomainList/bulk",
Copy link
Member

@TimLovellSmith TimLovellSmith May 16, 2025

Choose a reason for hiding this comment

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

domainsUrl

I'm curious about why a domainsUrl is a relative uri. Or is it more of a resource id? In which case why call it an url?

Copy link
Member

Choose a reason for hiding this comment

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

don't see any real problem here anyway

Copy link
Member

Choose a reason for hiding this comment

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

I think I'm still confused about why the 'dns resolver domain links get bulk domains operation" gets you a domains url which is itself...
isn't it just ANOTHER get bulk domains operation?
if this is the uRL?

      "domainsUrl": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolverDomainLists/sampleDnsResolverDomainList/bulk",

is this as recursive as it sounds??

"tags": {
"key1": "value1"
},
"properties": {}
Copy link
Member

Choose a reason for hiding this comment

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

properties

Is it a good example?
Why would there be no properties supplied in a bulk put example?
Would that create anything?

"$ref": "./examples/DnsResolverDomainList_Get.json"
},
"Retrieve DNS resolver domain list with bulk number of domains": {
"$ref": "./examples/DnsResolverDomainList_BulkDomains_Get.json"
}
}
}
Copy link
Member

Choose a reason for hiding this comment

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

bulk

API design
just having one action called 'bulk' seems confusing to me - compared to having separate actions 'bulkDownload' and 'bulkUpload'?

Do you think its better for some reason?

@@ -1593,6 +1654,11 @@
"type": "string"
}
},
Copy link
Member

Choose a reason for hiding this comment

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

you might want to mention whether its possible to have both of these properties or if they're exclusive?

@TimLovellSmith
Copy link
Member

this example looks really similar to the non bulk 'DnsResolverDomainList_Get.json.

Whats the difference between these two examples? Are they supposed to be the same, or different apis?


Refers to: specification/dnsresolver/resource-manager/Microsoft.Network/stable/2025-05-01/examples/DnsResolverDomainList_BulkDomains_Get.json:34 in 6035cbc. [](commit_id = 6035cbc, deletion_comment = False)

@TimLovellSmith TimLovellSmith added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label May 17, 2025
@openapi-pipeline-app openapi-pipeline-app bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label May 17, 2025
@TimLovellSmith
Copy link
Member

Would appreciate some further explanation of this api

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review ARMReview brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. resource-manager
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants