-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| { | ||
|
Check notice on line 1 in specification/dnsresolver/resource-manager/Microsoft.Network/stable/2025-05-01/dnsresolverpolicy.json
|
||
| "swagger": "2.0", | ||
| "info": { | ||
| "title": "DnsResolverPolicyManagementClient", | ||
|
|
@@ -64,14 +64,14 @@ | |
| } | ||
| ], | ||
| "responses": { | ||
| "201": { | ||
| "description": "The DNS resolver policy has been created.", | ||
| "200": { | ||
| "description": "The DNS resolver policy has been updated.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverPolicy" | ||
| } | ||
| }, | ||
| "200": { | ||
| "description": "The DNS resolver policy has been updated.", | ||
| "201": { | ||
| "description": "The DNS resolver policy has been created.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverPolicy" | ||
| } | ||
|
|
@@ -368,14 +368,14 @@ | |
| } | ||
| ], | ||
| "responses": { | ||
| "201": { | ||
| "description": "The DNS security rule has been created.", | ||
| "200": { | ||
| "description": "The DNS security rule has been updated.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsSecurityRule" | ||
| } | ||
| }, | ||
| "200": { | ||
| "description": "The DNS security rule has been updated.", | ||
| "201": { | ||
| "description": "The DNS security rule has been created.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsSecurityRule" | ||
| } | ||
|
|
@@ -642,14 +642,14 @@ | |
| } | ||
| ], | ||
| "responses": { | ||
| "201": { | ||
| "description": "The DNS resolver policy virtual network link has been created.", | ||
| "200": { | ||
| "description": "The DNS resolver policy virtual network link has been updated.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverPolicyVirtualNetworkLink" | ||
| } | ||
| }, | ||
| "200": { | ||
| "description": "The DNS resolver policy virtual network link has been updated.", | ||
| "201": { | ||
| "description": "The DNS resolver policy virtual network link has been created.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverPolicyVirtualNetworkLink" | ||
| } | ||
|
|
@@ -913,14 +913,14 @@ | |
| } | ||
| ], | ||
| "responses": { | ||
| "201": { | ||
| "description": "The DNS resolver domain list has been created.", | ||
| "200": { | ||
| "description": "The DNS resolver domain list has been updated.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverDomainList" | ||
| } | ||
| }, | ||
| "200": { | ||
| "description": "The DNS resolver domain list has been updated.", | ||
| "201": { | ||
| "description": "The DNS resolver domain list has been created.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverDomainList" | ||
| } | ||
|
|
@@ -934,8 +934,11 @@ | |
| }, | ||
| "x-ms-long-running-operation": true, | ||
| "x-ms-examples": { | ||
| "Upsert DNS resolver domain list": { | ||
| "Upsert DNS resolver domain list with less than 1000 domains": { | ||
| "$ref": "./examples/DnsResolverDomainList_Put.json" | ||
| }, | ||
| "Upsert DNS resolver domain list with bulk number of domains": { | ||
| "$ref": "./examples/DnsResolverDomainList_BulkDomains_Put.json" | ||
| } | ||
| } | ||
| }, | ||
|
|
@@ -1084,8 +1087,11 @@ | |
| } | ||
| }, | ||
| "x-ms-examples": { | ||
| "Retrieve DNS resolver domain list": { | ||
| "Retrieve DNS resolver domain list with less than 1000 domains": { | ||
| "$ref": "./examples/DnsResolverDomainList_Get.json" | ||
| }, | ||
| "Retrieve DNS resolver domain list with bulk number of domains": { | ||
| "$ref": "./examples/DnsResolverDomainList_BulkDomains_Get.json" | ||
| } | ||
| } | ||
| } | ||
|
|
@@ -1177,6 +1183,75 @@ | |
| } | ||
| } | ||
| }, | ||
| "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolverDomainLists/{dnsResolverDomainListName}/bulk": { | ||
| "post": { | ||
| "tags": [ | ||
| "DnsResolverDomainLists" | ||
| ], | ||
| "operationId": "DnsResolverDomainLists_Bulk", | ||
| "description": "Uploads or downloads the list of domains for a DNS Resolver Domain List from a storage link.", | ||
| "parameters": [ | ||
| { | ||
| "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" | ||
| }, | ||
| { | ||
| "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" | ||
| }, | ||
| { | ||
| "$ref": "#/parameters/DnsResolverDomainListNameParameter" | ||
| }, | ||
| { | ||
| "name": "parameters", | ||
| "in": "body", | ||
| "required": true, | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverDomainListBulk" | ||
| }, | ||
| "description": "Parameters supplied to the bulk domain list operation." | ||
| }, | ||
| { | ||
| "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" | ||
| }, | ||
| { | ||
| "$ref": "#/parameters/IfMatchParameter" | ||
| }, | ||
| { | ||
| "$ref": "#/parameters/IfNoneMatchParameter" | ||
| } | ||
| ], | ||
| "responses": { | ||
| "200": { | ||
| "description": "The DNS resolver domain list bulk request was successful.", | ||
| "schema": { | ||
| "$ref": "#/definitions/DnsResolverDomainList" | ||
| } | ||
| }, | ||
| "202": { | ||
| "description": "The operation to upload/download domains to the DNS Resolver Domain List has been accepted and will complete asynchronously.", | ||
| "headers": { | ||
| "Location": { | ||
| "type": "string" | ||
| } | ||
| } | ||
| }, | ||
| "default": { | ||
| "description": "Default response. It will be deserialized as per the Error definition.", | ||
| "schema": { | ||
| "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" | ||
| } | ||
| } | ||
| }, | ||
| "x-ms-long-running-operation": true, | ||
| "x-ms-examples": { | ||
| "Upload DNS resolver domain list domains": { | ||
| "$ref": "./examples/DnsResolverDomainList_BulkUpload.json" | ||
| }, | ||
| "Download DNS resolver domain list domains": { | ||
| "$ref": "./examples/DnsResolverDomainList_BulkDownload.json" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsResolverPolicies": { | ||
| "post": { | ||
| "tags": [ | ||
|
|
@@ -1307,8 +1382,8 @@ | |
| "type": "object", | ||
| "required": [ | ||
| "priority", | ||
| "action", | ||
| "dnsResolverDomainLists" | ||
| "dnsResolverDomainLists", | ||
| "action" | ||
| ], | ||
| "properties": { | ||
| "priority": { | ||
|
|
@@ -1478,17 +1553,6 @@ | |
| "name": "actionType", | ||
| "modelAsString": true | ||
| } | ||
| }, | ||
| "blockResponseCode": { | ||
| "type": "string", | ||
| "description": "The response code for block actions.", | ||
| "enum": [ | ||
| "SERVFAIL" | ||
| ], | ||
| "x-ms-enum": { | ||
| "name": "BlockResponseCode", | ||
| "modelAsString": true | ||
| } | ||
| } | ||
| } | ||
| }, | ||
|
|
@@ -1582,17 +1646,19 @@ | |
| "DnsResolverDomainListProperties": { | ||
| "description": "Represents the properties of a DNS resolver domain list.", | ||
| "type": "object", | ||
| "required": [ | ||
| "domains" | ||
| ], | ||
| "properties": { | ||
| "domains": { | ||
| "description": "The domains in the domain list.", | ||
| "description": "The domains in the domain list. Will be null if user is using large domain list.", | ||
| "type": "array", | ||
| "items": { | ||
| "type": "string" | ||
| } | ||
| }, | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? |
||
| "domainsUrl": { | ||
| "description": "The URL for bulk upload or download for domain lists containing larger set of domains. This will be populated if domains is empty or null.", | ||
| "type": "string", | ||
| "readOnly": true | ||
| }, | ||
| "provisioningState": { | ||
| "description": "The current provisioning state of the DNS resolver domain list. This is a read-only property and any attempt to set this value will be ignored.", | ||
| "readOnly": true, | ||
|
|
@@ -1608,9 +1674,6 @@ | |
| "DnsResolverDomainList": { | ||
| "description": "Describes a DNS resolver domain list.", | ||
| "type": "object", | ||
| "required": [ | ||
| "properties" | ||
| ], | ||
| "properties": { | ||
| "etag": { | ||
| "description": "ETag of the DNS resolver domain list.", | ||
|
|
@@ -1652,7 +1715,7 @@ | |
| "type": "object", | ||
| "properties": { | ||
| "properties": { | ||
| "description": "Updatable properties of the DNS resolver policy virtual network link.", | ||
| "description": "Updatable properties of the DNS resolver domain list.", | ||
| "$ref": "#/definitions/DnsResolverDomainListPatchProperties", | ||
| "x-ms-client-flatten": true | ||
| }, | ||
|
|
@@ -1688,6 +1751,38 @@ | |
| } | ||
| } | ||
| }, | ||
| "DnsResolverDomainListBulkProperties": { | ||
| "description": "Describes DNS resolver domain list properties for bulk UPLOAD or DOWNLOAD operations.", | ||
| "type": "object", | ||
| "required": [ | ||
| "storageUrl", | ||
| "action" | ||
| ], | ||
| "properties": { | ||
| "storageUrl": { | ||
| "description": "The storage account blob file URL to be used in the bulk upload or download request of DNS resolver domain list.", | ||
| "type": "string" | ||
| }, | ||
| "action": { | ||
| "description": "The action to take in the request, Upload or Download.", | ||
| "$ref": "#/definitions/DnsResolverDomainListBulkActionType" | ||
| } | ||
| } | ||
| }, | ||
| "DnsResolverDomainListBulk": { | ||
| "description": "Describes a DNS resolver domain list for bulk UPLOAD or DOWNLOAD operations.", | ||
| "type": "object", | ||
| "required": [ | ||
| "properties" | ||
| ], | ||
| "properties": { | ||
| "properties": { | ||
| "description": "Properties of the DNS resolver domain list upload or download request.", | ||
| "$ref": "#/definitions/DnsResolverDomainListBulkProperties", | ||
| "x-ms-client-flatten": true | ||
| } | ||
| } | ||
| }, | ||
| "ProvisioningState": { | ||
| "description": "The current provisioning state of the resource.", | ||
| "type": "string", | ||
|
|
@@ -1705,6 +1800,18 @@ | |
| "modelAsString": true | ||
| } | ||
| }, | ||
| "DnsResolverDomainListBulkActionType": { | ||
| "description": "The action type in requests for bulk upload or download of a DNS resolver domain list.", | ||
| "type": "string", | ||
| "enum": [ | ||
| "Upload", | ||
| "Download" | ||
| ], | ||
| "x-ms-enum": { | ||
| "name": "Action", | ||
| "modelAsString": true | ||
| } | ||
| }, | ||
| "ResourceGuid": { | ||
| "type": "string", | ||
| "description": "The Guid property of the resource." | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| { | ||
| "parameters": { | ||
| "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", | ||
| "resourceGroupName": "sampleResourceGroup", | ||
| "dnsResolverDomainListName": "sampleDnsResolverDomainList", | ||
| "api-version": "2025-05-01" | ||
| }, | ||
| "responses": { | ||
| "200": { | ||
| "body": { | ||
| "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolverDomainLists/sampleDnsResolverDomainList", | ||
| "name": "sampleDnsResolverDomainList", | ||
| "type": "Microsoft.Network/dnsResolverDomainLists", | ||
| "systemData": { | ||
| "createdByType": "Application", | ||
| "createdAt": "2021-04-03T01:01:01.1075056Z", | ||
| "lastModifiedByType": "Application", | ||
| "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" | ||
| }, | ||
| "location": "westus2", | ||
| "etag": "00000000-0000-0000-0000-000000000000", | ||
| "tags": { | ||
| "key1": "value1" | ||
| }, | ||
| "properties": { | ||
| "domainsUrl": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolverDomainLists/sampleDnsResolverDomainList/bulk", | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. don't see any real problem here anyway
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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... is this as recursive as it sounds??
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi Tim, you are correct, ARM has reviewed the changess previously in the spec-PR repository. The idea is that this URL is to differentiate from domain lists that are using domains stored inline as a property vs domain lists that have their domains stored in a storage file. The property moreso acts as a logic switch. |
||
| "provisioningState": "Succeeded", | ||
| "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm I think we were thinking it would be easier to have one API added and doing the split work in the service itself but I could see how a split may also have worked. Could we revisit this in a future API revision ?