diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d7b13fc1ee51..58772b4db0c9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -800,6 +800,10 @@ sdk/securityinsights/arm-securityinsights @qiaozha @dw511214992 @MaryGao sdk/oep/arm-oep @qiaozha @dw511214992 @MaryGao /sdk/oep/ci.mgmt.yml @qiaozha @dw511214992 @MaryGao +# PRLabel: %Mgmt +sdk/dnsresolver/arm-dnsresolver @qiaozha @dw511214992 @MaryGao +sdk/dnsresolver/ci.mgmt.yml @qiaozha @dw511214992 @MaryGao + # PRLabel: %Monitor /sdk/monitor/ @hectorhdzg @applicationinsights-js-owners /sdk/monitor/monitor-query @KarishmaGhiya @maorleger diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index a09de01d5d0d..44feaf1096c7 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -53,6 +53,7 @@ specifiers: '@rush-temp/arm-devtestlabs': file:./projects/arm-devtestlabs.tgz '@rush-temp/arm-digitaltwins': file:./projects/arm-digitaltwins.tgz '@rush-temp/arm-dns': file:./projects/arm-dns.tgz + '@rush-temp/arm-dnsresolver': file:./projects/arm-dnsresolver.tgz '@rush-temp/arm-domainservices': file:./projects/arm-domainservices.tgz '@rush-temp/arm-eventgrid': file:./projects/arm-eventgrid.tgz '@rush-temp/arm-eventhub': file:./projects/arm-eventhub.tgz @@ -306,6 +307,7 @@ dependencies: '@rush-temp/arm-devtestlabs': file:projects/arm-devtestlabs.tgz '@rush-temp/arm-digitaltwins': file:projects/arm-digitaltwins.tgz '@rush-temp/arm-dns': file:projects/arm-dns.tgz + '@rush-temp/arm-dnsresolver': file:projects/arm-dnsresolver.tgz '@rush-temp/arm-domainservices': file:projects/arm-domainservices.tgz '@rush-temp/arm-eventgrid': file:projects/arm-eventgrid.tgz '@rush-temp/arm-eventhub': file:projects/arm-eventhub.tgz @@ -7088,6 +7090,21 @@ packages: source-map-resolve: 0.6.0 dev: false + /rollup-plugin-sourcemaps/0.6.3_rollup@2.67.1: + resolution: {integrity: sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==} + engines: {node: '>=10.0.0'} + peerDependencies: + '@types/node': '>=10.0.0' + rollup: '>=0.31.2' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.67.1 + rollup: 2.67.1 + source-map-resolve: 0.6.0 + dev: false + /rollup-plugin-terser/5.3.1_rollup@2.67.1: resolution: {integrity: sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==} peerDependencies: @@ -8883,7 +8900,7 @@ packages: dev: false file:projects/ai-text-analytics.tgz: - resolution: {integrity: sha512-o7nTFUp/He8mxChlJgVsEQGvMSgBwZ3Q0cA3IwYAEgFxksGNGDqirKVX14ixCFXZ4WccvZ7N4k7cRVsDsLJO4g==, tarball: file:projects/ai-text-analytics.tgz} + resolution: {integrity: sha512-negpkvINfMedZMo/5L1bUc1Jurs3pGS6PuodsviCc+XynPV3SHz+/TtOJD49pu7VzkDnSKEU7Yz1DpaV083KQQ==, tarball: file:projects/ai-text-analytics.tgz} name: '@rush-temp/ai-text-analytics' version: 0.0.0 dependencies: @@ -8929,7 +8946,6 @@ packages: - '@swc/wasm' - bufferutil - debug - - encoding - supports-color - utf-8-validate dev: false @@ -10088,6 +10104,32 @@ packages: - supports-color dev: false + file:projects/arm-dnsresolver.tgz: + resolution: {integrity: sha512-Q4uxHocEjzeGd9O0RNXUqHJxoo94iyv6BIu4zBPVKNCmGIviEjplRMTwq46l29pLK2UwOTfJ5T4zpb2f9vwr6A==, tarball: file:projects/arm-dnsresolver.tgz} + name: '@rush-temp/arm-dnsresolver' + version: 0.0.0 + dependencies: + '@azure-tools/test-recorder': 1.0.2 + '@microsoft/api-extractor': 7.19.4 + '@rollup/plugin-commonjs': 21.0.1_rollup@2.67.1 + '@rollup/plugin-json': 4.1.0_rollup@2.67.1 + '@rollup/plugin-multi-entry': 4.1.0_rollup@2.67.1 + '@rollup/plugin-node-resolve': 13.1.3_rollup@2.67.1 + cross-env: 7.0.3 + mkdirp: 1.0.4 + mocha: 7.2.0 + rimraf: 3.0.2 + rollup: 2.67.1 + rollup-plugin-sourcemaps: 0.6.3_rollup@2.67.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.15.1 + transitivePeerDependencies: + - '@types/node' + - encoding + - supports-color + dev: false + file:projects/arm-domainservices.tgz: resolution: {integrity: sha512-SH9X/gD7Qn7KKokcEOBqEjoJrfDOTZESeFmTm7FBM2Dbzfx08xXk0eB0+MWK0aPGWuVWcTrSGffe78WEPTuVew==, tarball: file:projects/arm-domainservices.tgz} name: '@rush-temp/arm-domainservices' @@ -13261,19 +13303,14 @@ packages: version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.19.4 - '@types/node': 12.20.43 cross-env: 7.0.3 downlevel-dts: 0.8.0 eslint: 7.32.0 - inherits: 2.0.4 mocha: 7.2.0 mocha-junit-reporter: 2.0.2_mocha@7.2.0 prettier: 2.5.1 rimraf: 3.0.2 - sinon: 9.2.4 - ts-node: 10.5.0_1aa569e4b68ef65c520f700d6703bce0 typescript: 4.2.4 - util: 0.12.4 transitivePeerDependencies: - supports-color dev: false diff --git a/eng/ignore-links.txt b/eng/ignore-links.txt index 0dcca18a370c..b8a9b41635bb 100644 --- a/eng/ignore-links.txt +++ b/eng/ignore-links.txt @@ -33,3 +33,4 @@ https://docs.microsoft.com/javascript/api/@azure-rest/iot-device-update https://docs.microsoft.com/javascript/api/@azure/arm-vmwarecloudsimple https://docs.microsoft.com/en-us/rest/api/index https://docs.microsoft.com/en-us/azure/service-health/resource-health-overview +https://docs.microsoft.com/javascript/api/@azure/arm-dnsresolver?view=azure-node-preview diff --git a/rush.json b/rush.json index e2c0acf6aa72..cc854600a871 100644 --- a/rush.json +++ b/rush.json @@ -1574,6 +1574,11 @@ "packageName": "@azure/core-http-compat", "projectFolder": "sdk/core/core-http-compat", "versionPolicyName": "core" + }, + { + "packageName": "@azure/arm-dnsresolver", + "projectFolder": "sdk/dnsresolver/arm-dnsresolver", + "versionPolicyName": "management" } ] } diff --git a/sdk/dnsresolver/arm-dnsresolver/CHANGELOG.md b/sdk/dnsresolver/arm-dnsresolver/CHANGELOG.md new file mode 100644 index 000000000000..f27c4f7a0ec5 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/CHANGELOG.md @@ -0,0 +1,5 @@ +# Release History + +## 1.0.0-beta.1 (2022-02-16) + +The package of @azure/arm-dnsresolver is using our next generation design principles. To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart). diff --git a/sdk/dnsresolver/arm-dnsresolver/LICENSE b/sdk/dnsresolver/arm-dnsresolver/LICENSE new file mode 100644 index 000000000000..5d1d36e0af80 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/sdk/dnsresolver/arm-dnsresolver/README.md b/sdk/dnsresolver/arm-dnsresolver/README.md new file mode 100644 index 000000000000..7e75ad2a606c --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/README.md @@ -0,0 +1,98 @@ +# Azure DnsResolverManagement client library for JavaScript + +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure DnsResolverManagement client. + +The DNS Resolver Management Client. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dnsresolver/arm-dnsresolver) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-dnsresolver) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-dnsresolver?view=azure-node-preview) | +[Samples](https://github.com/Azure-Samples/azure-samples-js-management) + +## Getting started + +### Currently supported environments + +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge and Firefox. + +### Prerequisites + +- An [Azure subscription][azure_sub]. + +### Install the `@azure/arm-dnsresolver` package + +Install the Azure DnsResolverManagement client library for JavaScript with `npm`: + +```bash +npm install @azure/arm-dnsresolver +``` + +### Create and authenticate a `DnsResolverManagementClient` + +To create a client object to access the Azure DnsResolverManagement API, you will need the `endpoint` of your Azure DnsResolverManagement resource and a `credential`. The Azure DnsResolverManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure DnsResolverManagement resource in the [Azure Portal][azure_portal]. + +You can authenticate with Azure Active Directory using a credential from the [@azure/identity][azure_identity] library or [an existing AAD Token](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token). + +To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: + +```bash +npm install @azure/identity +``` + +You will also need to **register a new AAD application and grant access to Azure DnsResolverManagement** by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions). +Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`. + +For more information about how to create an Azure AD Application check out [this guide](https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal). + +```javascript +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new DnsResolverManagementClient(new DefaultAzureCredential(), subscriptionId); +``` + + +### JavaScript Bundle +To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling). + +## Key concepts + +### DnsResolverManagementClient + +`DnsResolverManagementClient` is the primary interface for developers using the Azure DnsResolverManagement client library. Explore the methods on this client object to understand the different features of the Azure DnsResolverManagement service that you can access. + +## Troubleshooting + +### Logging + +Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`: + +```javascript +const { setLogLevel } = require("@azure/logger"); +setLogLevel("info"); +``` + +For more detailed instructions on how to enable logs, you can look at the [@azure/logger package docs](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger). + +## Next steps + +Please take a look at the [samples](https://github.com/Azure-Samples/azure-samples-js-management) directory for detailed examples on how to use this library. + +## Contributing + +If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code. + +## Related projects + +- [Microsoft Azure SDK for JavaScript](https://github.com/Azure/azure-sdk-for-js) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fdnsresolver%2Farm-dnsresolver%2FREADME.png) + +[azure_cli]: https://docs.microsoft.com/cli/azure +[azure_sub]: https://azure.microsoft.com/free/ +[azure_sub]: https://azure.microsoft.com/free/ +[azure_portal]: https://portal.azure.com +[azure_identity]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity +[defaultazurecredential]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential diff --git a/sdk/dnsresolver/arm-dnsresolver/_meta.json b/sdk/dnsresolver/arm-dnsresolver/_meta.json new file mode 100644 index 000000000000..736296f0320c --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "ff4dffa3aa168c2ec0b58b9dbe9e9b13613208a2", + "readme": "specification/dnsresolver/resource-manager/readme.md", + "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/dnsresolver/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20220214.1 --generate-sample=true", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-alpha.16.20220214.1" +} \ No newline at end of file diff --git a/sdk/dnsresolver/arm-dnsresolver/api-extractor.json b/sdk/dnsresolver/arm-dnsresolver/api-extractor.json new file mode 100644 index 000000000000..788adc3e491f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/api-extractor.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/src/index.d.ts", + "docModel": { + "enabled": true + }, + "apiReport": { + "enabled": true, + "reportFolder": "./review" + }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-dnsresolver.d.ts" + }, + "messages": { + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + } + }, + "extractorMessageReporting": { + "ae-missing-release-tag": { + "logLevel": "none" + }, + "ae-unresolved-link": { + "logLevel": "none" + } + } + } +} \ No newline at end of file diff --git a/sdk/dnsresolver/arm-dnsresolver/package.json b/sdk/dnsresolver/arm-dnsresolver/package.json new file mode 100644 index 000000000000..5b2aba45db16 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/package.json @@ -0,0 +1,118 @@ +{ + "name": "@azure/arm-dnsresolver", + "sdk-type": "mgmt", + "author": "Microsoft Corporation", + "description": "A generated SDK for DnsResolverManagementClient.", + "version": "1.0.0-beta.1", + "engines": { + "node": ">=12.0.0" + }, + "dependencies": { + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.2.0", + "@azure/core-client": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-rest-pipeline": "^1.1.0", + "tslib": "^2.2.0" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/index.js", + "module": "./dist-esm/src/index.js", + "types": "./types/arm-dnsresolver.d.ts", + "devDependencies": { + "@microsoft/api-extractor": "^7.18.11", + "@rollup/plugin-commonjs": "^21.0.1", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-multi-entry": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.1.3", + "mkdirp": "^1.0.4", + "rollup": "^2.66.1", + "rollup-plugin-sourcemaps": "^0.6.3", + "typescript": "~4.2.0", + "uglify-js": "^3.4.9", + "rimraf": "^3.0.0", + "@azure/identity": "^2.0.1", + "@azure-tools/test-recorder": "^1.0.0", + "mocha": "^7.1.1", + "cross-env": "^7.0.2" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dnsresolver/arm-dnsresolver", + "repository": { + "type": "git", + "url": "https://github.com/Azure/azure-sdk-for-js.git" + }, + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "files": [ + "dist/**/*.js", + "dist/**/*.js.map", + "dist/**/*.d.ts", + "dist/**/*.d.ts.map", + "dist-esm/**/*.js", + "dist-esm/**/*.js.map", + "dist-esm/**/*.d.ts", + "dist-esm/**/*.d.ts.map", + "src/**/*.ts", + "README.md", + "LICENSE", + "rollup.config.js", + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types/*" + ], + "scripts": { + "build": "npm run clean && tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", + "prepack": "npm run build", + "pack": "npm pack 2>&1", + "extract-api": "api-extractor run --local", + "lint": "echo skipped", + "audit": "echo skipped", + "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", + "build:node": "echo skipped", + "build:browser": "echo skipped", + "build:test": "echo skipped", + "build:samples": "echo skipped.", + "check-format": "echo skipped", + "execute:samples": "echo skipped", + "format": "echo skipped", + "test": "npm run integration-test", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "npm run unit-test:node && npm run unit-test:browser", + "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", + "unit-test:browser": "echo skipped", + "integration-test": "npm run integration-test:node && npm run integration-test:browser", + "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", + "integration-test:browser": "echo skipped", + "docs": "echo skipped" + }, + "sideEffects": false, + "//metadata": { + "constantPaths": [ + { + "path": "src/dnsResolverManagementClient.ts", + "prefix": "packageDetails" + } + ] + }, + "autoPublish": true, + "//sampleConfiguration": { + "productName": "", + "productSlugs": [ + "azure" + ], + "disableDocsMs": true, + "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-dnsresolver?view=azure-node-preview" + } +} \ No newline at end of file diff --git a/sdk/dnsresolver/arm-dnsresolver/recordings/node/my_test/recording_sample_test.js b/sdk/dnsresolver/arm-dnsresolver/recordings/node/my_test/recording_sample_test.js new file mode 100644 index 000000000000..0f6ecb857acf --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/recordings/node/my_test/recording_sample_test.js @@ -0,0 +1,5 @@ +let nock = require('nock'); + +module.exports.hash = "7a6be38bb8cb644d64b4094802301751"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} diff --git a/sdk/dnsresolver/arm-dnsresolver/review/arm-dnsresolver.api.md b/sdk/dnsresolver/arm-dnsresolver/review/arm-dnsresolver.api.md new file mode 100644 index 000000000000..c88cee9981c3 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/review/arm-dnsresolver.api.md @@ -0,0 +1,767 @@ +## API Report File for "@azure/arm-dnsresolver" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import * as coreAuth from '@azure/core-auth'; +import * as coreClient from '@azure/core-client'; +import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { PollerLike } from '@azure/core-lro'; +import { PollOperationState } from '@azure/core-lro'; + +// @public +export interface CloudError { + error?: CloudErrorBody; +} + +// @public +export interface CloudErrorBody { + code?: string; + details?: CloudErrorBody[]; + message?: string; + target?: string; +} + +// @public +export type CreatedByType = string; + +// @public +export type DnsForwardingRuleset = TrackedResource & { + readonly etag?: string; + readonly systemData?: SystemData; + dnsResolverOutboundEndpoints?: SubResource[]; + readonly provisioningState?: ProvisioningState; + readonly resourceGuid?: string; +}; + +// @public +export interface DnsForwardingRulesetListResult { + readonly nextLink?: string; + value?: DnsForwardingRuleset[]; +} + +// @public +export interface DnsForwardingRulesetPatch { + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface DnsForwardingRulesets { + beginCreateOrUpdate(resourceGroupName: string, dnsForwardingRulesetName: string, parameters: DnsForwardingRuleset, options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams): Promise, DnsForwardingRulesetsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, dnsForwardingRulesetName: string, parameters: DnsForwardingRuleset, options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, dnsForwardingRulesetName: string, options?: DnsForwardingRulesetsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, dnsForwardingRulesetName: string, options?: DnsForwardingRulesetsDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, dnsForwardingRulesetName: string, parameters: DnsForwardingRulesetPatch, options?: DnsForwardingRulesetsUpdateOptionalParams): Promise, DnsForwardingRulesetsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, dnsForwardingRulesetName: string, parameters: DnsForwardingRulesetPatch, options?: DnsForwardingRulesetsUpdateOptionalParams): Promise; + get(resourceGroupName: string, dnsForwardingRulesetName: string, options?: DnsForwardingRulesetsGetOptionalParams): Promise; + list(options?: DnsForwardingRulesetsListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: DnsForwardingRulesetsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listByVirtualNetwork(resourceGroupName: string, virtualNetworkName: string, options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DnsForwardingRulesetsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + ifNoneMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DnsForwardingRulesetsCreateOrUpdateResponse = DnsForwardingRuleset; + +// @public +export interface DnsForwardingRulesetsDeleteOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DnsForwardingRulesetsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DnsForwardingRulesetsGetResponse = DnsForwardingRuleset; + +// @public +export interface DnsForwardingRulesetsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsForwardingRulesetsListByResourceGroupNextResponse = DnsForwardingRulesetListResult; + +// @public +export interface DnsForwardingRulesetsListByResourceGroupOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsForwardingRulesetsListByResourceGroupResponse = DnsForwardingRulesetListResult; + +// @public +export interface DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsForwardingRulesetsListByVirtualNetworkNextResponse = VirtualNetworkDnsForwardingRulesetListResult; + +// @public +export interface DnsForwardingRulesetsListByVirtualNetworkOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsForwardingRulesetsListByVirtualNetworkResponse = VirtualNetworkDnsForwardingRulesetListResult; + +// @public +export interface DnsForwardingRulesetsListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsForwardingRulesetsListNextResponse = DnsForwardingRulesetListResult; + +// @public +export interface DnsForwardingRulesetsListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsForwardingRulesetsListResponse = DnsForwardingRulesetListResult; + +// @public +export interface DnsForwardingRulesetsUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DnsForwardingRulesetsUpdateResponse = DnsForwardingRuleset; + +// @public +export type DnsResolver = TrackedResource & { + readonly etag?: string; + readonly systemData?: SystemData; + virtualNetwork?: SubResource; + readonly dnsResolverState?: DnsResolverState; + readonly provisioningState?: ProvisioningState; + readonly resourceGuid?: string; +}; + +// @public +export interface DnsResolverListResult { + readonly nextLink?: string; + value?: DnsResolver[]; +} + +// @public (undocumented) +export class DnsResolverManagementClient extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: DnsResolverManagementClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + dnsForwardingRulesets: DnsForwardingRulesets; + // (undocumented) + dnsResolvers: DnsResolvers; + // (undocumented) + forwardingRules: ForwardingRules; + // (undocumented) + inboundEndpoints: InboundEndpoints; + // (undocumented) + outboundEndpoints: OutboundEndpoints; + // (undocumented) + subscriptionId: string; + // (undocumented) + virtualNetworkLinks: VirtualNetworkLinks; +} + +// @public +export interface DnsResolverManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export interface DnsResolverPatch { + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface DnsResolvers { + beginCreateOrUpdate(resourceGroupName: string, dnsResolverName: string, parameters: DnsResolver, options?: DnsResolversCreateOrUpdateOptionalParams): Promise, DnsResolversCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, dnsResolverName: string, parameters: DnsResolver, options?: DnsResolversCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, dnsResolverName: string, options?: DnsResolversDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, dnsResolverName: string, options?: DnsResolversDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, dnsResolverName: string, parameters: DnsResolverPatch, options?: DnsResolversUpdateOptionalParams): Promise, DnsResolversUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, dnsResolverName: string, parameters: DnsResolverPatch, options?: DnsResolversUpdateOptionalParams): Promise; + get(resourceGroupName: string, dnsResolverName: string, options?: DnsResolversGetOptionalParams): Promise; + list(options?: DnsResolversListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: DnsResolversListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listByVirtualNetwork(resourceGroupName: string, virtualNetworkName: string, options?: DnsResolversListByVirtualNetworkOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DnsResolversCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + ifNoneMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DnsResolversCreateOrUpdateResponse = DnsResolver; + +// @public +export interface DnsResolversDeleteOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DnsResolversGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DnsResolversGetResponse = DnsResolver; + +// @public +export interface DnsResolversListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsResolversListByResourceGroupNextResponse = DnsResolverListResult; + +// @public +export interface DnsResolversListByResourceGroupOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsResolversListByResourceGroupResponse = DnsResolverListResult; + +// @public +export interface DnsResolversListByVirtualNetworkNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsResolversListByVirtualNetworkNextResponse = SubResourceListResult; + +// @public +export interface DnsResolversListByVirtualNetworkOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsResolversListByVirtualNetworkResponse = SubResourceListResult; + +// @public +export interface DnsResolversListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsResolversListNextResponse = DnsResolverListResult; + +// @public +export interface DnsResolversListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type DnsResolversListResponse = DnsResolverListResult; + +// @public +export type DnsResolverState = string; + +// @public +export interface DnsResolversUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DnsResolversUpdateResponse = DnsResolver; + +// @public +export type ForwardingRule = ProxyResource & { + readonly etag?: string; + readonly systemData?: SystemData; + domainName?: string; + targetDnsServers?: TargetDnsServer[]; + metadata?: { + [propertyName: string]: string; + }; + forwardingRuleState?: ForwardingRuleState; + readonly provisioningState?: ProvisioningState; +}; + +// @public +export interface ForwardingRuleListResult { + readonly nextLink?: string; + value?: ForwardingRule[]; +} + +// @public +export interface ForwardingRulePatch { + forwardingRuleState?: ForwardingRuleState; + metadata?: { + [propertyName: string]: string; + }; + targetDnsServers?: TargetDnsServer[]; +} + +// @public +export interface ForwardingRules { + createOrUpdate(resourceGroupName: string, dnsForwardingRulesetName: string, forwardingRuleName: string, parameters: ForwardingRule, options?: ForwardingRulesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, dnsForwardingRulesetName: string, forwardingRuleName: string, options?: ForwardingRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, dnsForwardingRulesetName: string, forwardingRuleName: string, options?: ForwardingRulesGetOptionalParams): Promise; + list(resourceGroupName: string, dnsForwardingRulesetName: string, options?: ForwardingRulesListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, dnsForwardingRulesetName: string, forwardingRuleName: string, parameters: ForwardingRulePatch, options?: ForwardingRulesUpdateOptionalParams): Promise; +} + +// @public +export interface ForwardingRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + ifNoneMatch?: string; +} + +// @public +export type ForwardingRulesCreateOrUpdateResponse = ForwardingRule; + +// @public +export interface ForwardingRulesDeleteOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; +} + +// @public +export interface ForwardingRulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ForwardingRulesGetResponse = ForwardingRule; + +// @public +export interface ForwardingRulesListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type ForwardingRulesListNextResponse = ForwardingRuleListResult; + +// @public +export interface ForwardingRulesListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type ForwardingRulesListResponse = ForwardingRuleListResult; + +// @public +export type ForwardingRuleState = string; + +// @public +export interface ForwardingRulesUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; +} + +// @public +export type ForwardingRulesUpdateResponse = ForwardingRule; + +// @public +export type InboundEndpoint = TrackedResource & { + readonly etag?: string; + readonly systemData?: SystemData; + ipConfigurations?: IpConfiguration[]; + readonly provisioningState?: ProvisioningState; + readonly resourceGuid?: string; +}; + +// @public +export interface InboundEndpointListResult { + readonly nextLink?: string; + value?: InboundEndpoint[]; +} + +// @public +export interface InboundEndpointPatch { + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface InboundEndpoints { + beginCreateOrUpdate(resourceGroupName: string, dnsResolverName: string, inboundEndpointName: string, parameters: InboundEndpoint, options?: InboundEndpointsCreateOrUpdateOptionalParams): Promise, InboundEndpointsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, dnsResolverName: string, inboundEndpointName: string, parameters: InboundEndpoint, options?: InboundEndpointsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, dnsResolverName: string, inboundEndpointName: string, options?: InboundEndpointsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, dnsResolverName: string, inboundEndpointName: string, options?: InboundEndpointsDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, dnsResolverName: string, inboundEndpointName: string, parameters: InboundEndpointPatch, options?: InboundEndpointsUpdateOptionalParams): Promise, InboundEndpointsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, dnsResolverName: string, inboundEndpointName: string, parameters: InboundEndpointPatch, options?: InboundEndpointsUpdateOptionalParams): Promise; + get(resourceGroupName: string, dnsResolverName: string, inboundEndpointName: string, options?: InboundEndpointsGetOptionalParams): Promise; + list(resourceGroupName: string, dnsResolverName: string, options?: InboundEndpointsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface InboundEndpointsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + ifNoneMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type InboundEndpointsCreateOrUpdateResponse = InboundEndpoint; + +// @public +export interface InboundEndpointsDeleteOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface InboundEndpointsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InboundEndpointsGetResponse = InboundEndpoint; + +// @public +export interface InboundEndpointsListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type InboundEndpointsListNextResponse = InboundEndpointListResult; + +// @public +export interface InboundEndpointsListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type InboundEndpointsListResponse = InboundEndpointListResult; + +// @public +export interface InboundEndpointsUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type InboundEndpointsUpdateResponse = InboundEndpoint; + +// @public +export type IpAllocationMethod = string; + +// @public +export interface IpConfiguration { + privateIpAddress?: string; + privateIpAllocationMethod?: IpAllocationMethod; + subnet?: SubResource; +} + +// @public +export enum KnownCreatedByType { + // (undocumented) + Application = "Application", + // (undocumented) + Key = "Key", + // (undocumented) + ManagedIdentity = "ManagedIdentity", + // (undocumented) + User = "User" +} + +// @public +export enum KnownDnsResolverState { + // (undocumented) + Connected = "Connected", + // (undocumented) + Disconnected = "Disconnected" +} + +// @public +export enum KnownForwardingRuleState { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownIpAllocationMethod { + // (undocumented) + Dynamic = "Dynamic", + // (undocumented) + Static = "Static" +} + +// @public +export enum KnownProvisioningState { + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Creating = "Creating", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Failed = "Failed", + // (undocumented) + Succeeded = "Succeeded", + // (undocumented) + Updating = "Updating" +} + +// @public +export type OutboundEndpoint = TrackedResource & { + readonly etag?: string; + readonly systemData?: SystemData; + subnet?: SubResource; + readonly provisioningState?: ProvisioningState; + readonly resourceGuid?: string; +}; + +// @public +export interface OutboundEndpointListResult { + readonly nextLink?: string; + value?: OutboundEndpoint[]; +} + +// @public +export interface OutboundEndpointPatch { + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface OutboundEndpoints { + beginCreateOrUpdate(resourceGroupName: string, dnsResolverName: string, outboundEndpointName: string, parameters: OutboundEndpoint, options?: OutboundEndpointsCreateOrUpdateOptionalParams): Promise, OutboundEndpointsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, dnsResolverName: string, outboundEndpointName: string, parameters: OutboundEndpoint, options?: OutboundEndpointsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, dnsResolverName: string, outboundEndpointName: string, options?: OutboundEndpointsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, dnsResolverName: string, outboundEndpointName: string, options?: OutboundEndpointsDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, dnsResolverName: string, outboundEndpointName: string, parameters: OutboundEndpointPatch, options?: OutboundEndpointsUpdateOptionalParams): Promise, OutboundEndpointsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, dnsResolverName: string, outboundEndpointName: string, parameters: OutboundEndpointPatch, options?: OutboundEndpointsUpdateOptionalParams): Promise; + get(resourceGroupName: string, dnsResolverName: string, outboundEndpointName: string, options?: OutboundEndpointsGetOptionalParams): Promise; + list(resourceGroupName: string, dnsResolverName: string, options?: OutboundEndpointsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OutboundEndpointsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + ifNoneMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type OutboundEndpointsCreateOrUpdateResponse = OutboundEndpoint; + +// @public +export interface OutboundEndpointsDeleteOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface OutboundEndpointsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OutboundEndpointsGetResponse = OutboundEndpoint; + +// @public +export interface OutboundEndpointsListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type OutboundEndpointsListNextResponse = OutboundEndpointListResult; + +// @public +export interface OutboundEndpointsListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type OutboundEndpointsListResponse = OutboundEndpointListResult; + +// @public +export interface OutboundEndpointsUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type OutboundEndpointsUpdateResponse = OutboundEndpoint; + +// @public +export type ProvisioningState = string; + +// @public +export type ProxyResource = Resource & {}; + +// @public +export interface Resource { + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export interface SubResource { + id?: string; +} + +// @public +export interface SubResourceListResult { + readonly nextLink?: string; + value?: SubResource[]; +} + +// @public +export interface SystemData { + createdAt?: Date; + createdBy?: string; + createdByType?: CreatedByType; + lastModifiedAt?: Date; + lastModifiedBy?: string; + lastModifiedByType?: CreatedByType; +} + +// @public +export interface TargetDnsServer { + ipAddress?: string; + port?: number; +} + +// @public +export type TrackedResource = Resource & { + tags?: { + [propertyName: string]: string; + }; + location: string; +}; + +// @public +export interface VirtualNetworkDnsForwardingRuleset { + id?: string; + virtualNetworkLink?: SubResource; +} + +// @public +export interface VirtualNetworkDnsForwardingRulesetListResult { + readonly nextLink?: string; + value?: VirtualNetworkDnsForwardingRuleset[]; +} + +// @public +export type VirtualNetworkLink = ProxyResource & { + readonly etag?: string; + readonly systemData?: SystemData; + virtualNetwork?: SubResource; + metadata?: { + [propertyName: string]: string; + }; + readonly provisioningState?: ProvisioningState; +}; + +// @public +export interface VirtualNetworkLinkListResult { + readonly nextLink?: string; + value?: VirtualNetworkLink[]; +} + +// @public +export interface VirtualNetworkLinkPatch { + metadata?: { + [propertyName: string]: string; + }; +} + +// @public +export interface VirtualNetworkLinks { + beginCreateOrUpdate(resourceGroupName: string, dnsForwardingRulesetName: string, virtualNetworkLinkName: string, parameters: VirtualNetworkLink, options?: VirtualNetworkLinksCreateOrUpdateOptionalParams): Promise, VirtualNetworkLinksCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, dnsForwardingRulesetName: string, virtualNetworkLinkName: string, parameters: VirtualNetworkLink, options?: VirtualNetworkLinksCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, dnsForwardingRulesetName: string, virtualNetworkLinkName: string, options?: VirtualNetworkLinksDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, dnsForwardingRulesetName: string, virtualNetworkLinkName: string, options?: VirtualNetworkLinksDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, dnsForwardingRulesetName: string, virtualNetworkLinkName: string, parameters: VirtualNetworkLinkPatch, options?: VirtualNetworkLinksUpdateOptionalParams): Promise, VirtualNetworkLinksUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, dnsForwardingRulesetName: string, virtualNetworkLinkName: string, parameters: VirtualNetworkLinkPatch, options?: VirtualNetworkLinksUpdateOptionalParams): Promise; + get(resourceGroupName: string, dnsForwardingRulesetName: string, virtualNetworkLinkName: string, options?: VirtualNetworkLinksGetOptionalParams): Promise; + list(resourceGroupName: string, dnsForwardingRulesetName: string, options?: VirtualNetworkLinksListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface VirtualNetworkLinksCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + ifNoneMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VirtualNetworkLinksCreateOrUpdateResponse = VirtualNetworkLink; + +// @public +export interface VirtualNetworkLinksDeleteOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VirtualNetworkLinksGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualNetworkLinksGetResponse = VirtualNetworkLink; + +// @public +export interface VirtualNetworkLinksListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VirtualNetworkLinksListNextResponse = VirtualNetworkLinkListResult; + +// @public +export interface VirtualNetworkLinksListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VirtualNetworkLinksListResponse = VirtualNetworkLinkListResult; + +// @public +export interface VirtualNetworkLinksUpdateOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VirtualNetworkLinksUpdateResponse = VirtualNetworkLink; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/dnsresolver/arm-dnsresolver/rollup.config.js b/sdk/dnsresolver/arm-dnsresolver/rollup.config.js new file mode 100644 index 000000000000..3f89d7309da5 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/rollup.config.js @@ -0,0 +1,122 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import nodeResolve from "@rollup/plugin-node-resolve"; +import cjs from "@rollup/plugin-commonjs"; +import sourcemaps from "rollup-plugin-sourcemaps"; +import multiEntry from "@rollup/plugin-multi-entry"; +import json from "@rollup/plugin-json"; + +import nodeBuiltins from "builtin-modules"; + +// #region Warning Handler + +/** + * A function that can determine whether a rollup warning should be ignored. If + * the function returns `true`, then the warning will not be displayed. + */ + +function ignoreNiseSinonEval(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependency(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ignoreChaiCircularDependency, ignoreNiseSinonEval]; + +/** + * Construct a warning handler for the shared rollup configuration + * that ignores certain warnings that are not relevant to testing. + */ +function makeOnWarnForTesting() { + return (warning, warn) => { + // If every inhibitor returns false (i.e. no inhibitors), then show the warning + if (warningInhibitors.every((inhib) => !inhib(warning))) { + warn(warning); + } + }; +} + +// #endregion + +function makeBrowserTestConfig() { + const config = { + input: { + include: ["dist-esm/test/**/*.spec.js"], + exclude: ["dist-esm/test/**/node/**"] + }, + output: { + file: `dist-test/index.browser.js`, + format: "umd", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + multiEntry({ exports: false }), + nodeResolve({ + mainFields: ["module", "browser"] + }), + cjs(), + json(), + sourcemaps() + //viz({ filename: "dist-test/browser-stats.html", sourcemap: true }) + ], + onwarn: makeOnWarnForTesting(), + // Disable tree-shaking of test code. In rollup-plugin-node-resolve@5.0.0, + // rollup started respecting the "sideEffects" field in package.json. Since + // our package.json sets "sideEffects=false", this also applies to test + // code, which causes all tests to be removed by tree-shaking. + treeshake: false + }; + + return config; +} + +const defaultConfigurationOptions = { + disableBrowserBundle: false +}; + +export function makeConfig(pkg, options) { + options = { + ...defaultConfigurationOptions, + ...(options || {}) + }; + + const baseConfig = { + // Use the package's module field if it has one + input: pkg["module"] || "dist-esm/src/index.js", + external: [ + ...nodeBuiltins, + ...Object.keys(pkg.dependencies), + ...Object.keys(pkg.devDependencies) + ], + output: { file: "dist/index.js", format: "cjs", sourcemap: true }, + preserveSymlinks: false, + plugins: [sourcemaps(), nodeResolve()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/dnsresolver/arm-dnsresolver/sample.env b/sdk/dnsresolver/arm-dnsresolver/sample.env new file mode 100644 index 000000000000..672847a3fea0 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/sample.env @@ -0,0 +1,4 @@ +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= \ No newline at end of file diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteDnsForwardingRuleset.ts new file mode 100644 index 000000000000..271fd38e8c5a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteDnsForwardingRuleset.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. + * + * @summary Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "samplednsForwardingRulesetName"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginDeleteAndWait( + resourceGroupName, + dnsForwardingRulesetName + ); + console.log(result); +} + +deleteDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteDnsResolver.ts new file mode 100644 index 000000000000..da0b8423face --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteDnsResolver.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginDeleteAndWait( + resourceGroupName, + dnsResolverName + ); + console.log(result); +} + +deleteDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..4171645bf78f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * + * @summary Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.delete( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName + ); + console.log(result); +} + +deleteForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..c7aa6708ba70 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteInboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginDeleteAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName + ); + console.log(result); +} + +deleteInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..617f9d2707e7 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteOutboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginDeleteAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName + ); + console.log(result); +} + +deleteOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..94ff52860de2 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/deleteVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * + * @summary Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginDeleteAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName + ); + console.log(result); +} + +deleteVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsByResourceGroup.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsByResourceGroup.ts new file mode 100644 index 000000000000..16513a26d963 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsByResourceGroup.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding rulesets within a resource group. + * + * @summary Lists DNS forwarding rulesets within a resource group. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsForwardingRulesetsByResourceGroup() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.listByResourceGroup( + resourceGroupName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsByResourceGroup().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsBySubscription.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsBySubscription.ts new file mode 100644 index 000000000000..50afecddd1ee --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsBySubscription.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding rulesets in all resource groups of a subscription. + * + * @summary Lists DNS forwarding rulesets in all resource groups of a subscription. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsForwardingRulesetsBySubscription() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.list()) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsBySubscription().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsByVirtualNetwork.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsByVirtualNetwork.ts new file mode 100644 index 000000000000..ddd0120a835f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsForwardingRulesetsByVirtualNetwork.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * + * @summary Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsForwardingRulesetsByVirtualNetwork() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const virtualNetworkName = "sampleVirtualNetwork"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.listByVirtualNetwork( + resourceGroupName, + virtualNetworkName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsByVirtualNetwork().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversByResourceGroup.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversByResourceGroup.ts new file mode 100644 index 000000000000..f922115f1f90 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversByResourceGroup.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolvers within a resource group. + * + * @summary Lists DNS resolvers within a resource group. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsResolversByResourceGroup() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.listByResourceGroup( + resourceGroupName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversByResourceGroup().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversBySubscription.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversBySubscription.ts new file mode 100644 index 000000000000..ca485295209d --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversBySubscription.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolvers in all resource groups of a subscription. + * + * @summary Lists DNS resolvers in all resource groups of a subscription. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsResolversBySubscription() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.list()) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversBySubscription().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversByVirtualNetwork.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversByVirtualNetwork.ts new file mode 100644 index 000000000000..1989191126ff --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listDnsResolversByVirtualNetwork.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolver resource IDs linked to a virtual network. + * + * @summary Lists DNS resolver resource IDs linked to a virtual network. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsResolversByVirtualNetwork() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const virtualNetworkName = "sampleVirtualNetwork"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.listByVirtualNetwork( + resourceGroupName, + virtualNetworkName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversByVirtualNetwork().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listForwardingRulesInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listForwardingRulesInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..9ec4439fa236 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listForwardingRulesInADnsForwardingRuleset.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists forwarding rules in a DNS forwarding ruleset. + * + * @summary Lists forwarding rules in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listForwardingRulesInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.forwardingRules.list( + resourceGroupName, + dnsForwardingRulesetName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listForwardingRulesInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listInboundEndpointsByDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listInboundEndpointsByDnsResolver.ts new file mode 100644 index 000000000000..0d63e40626b4 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listInboundEndpointsByDnsResolver.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists inbound endpoints for a DNS resolver. + * + * @summary Lists inbound endpoints for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listInboundEndpointsByDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.inboundEndpoints.list( + resourceGroupName, + dnsResolverName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listInboundEndpointsByDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listOutboundEndpointsByDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listOutboundEndpointsByDnsResolver.ts new file mode 100644 index 000000000000..b6301117511a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listOutboundEndpointsByDnsResolver.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists outbound endpoints for a DNS resolver. + * + * @summary Lists outbound endpoints for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listOutboundEndpointsByDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.outboundEndpoints.list( + resourceGroupName, + dnsResolverName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listOutboundEndpointsByDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/listVirtualNetworkLinksToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listVirtualNetworkLinksToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..4d641e8cdfda --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/listVirtualNetworkLinksToADnsForwardingRuleset.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists virtual network links to a DNS forwarding ruleset. + * + * @summary Lists virtual network links to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listVirtualNetworkLinksToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.virtualNetworkLinks.list( + resourceGroupName, + dnsForwardingRulesetName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listVirtualNetworkLinksToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveDnsForwardingRuleset.ts new file mode 100644 index 000000000000..8e435cb384e7 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveDnsForwardingRuleset.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets a DNS forwarding ruleset properties. + * + * @summary Gets a DNS forwarding ruleset properties. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.get( + resourceGroupName, + dnsForwardingRulesetName + ); + console.log(result); +} + +retrieveDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveDnsResolver.ts new file mode 100644 index 000000000000..20894fa09c1f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveDnsResolver.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a DNS resolver. + * + * @summary Gets properties of a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.get( + resourceGroupName, + dnsResolverName + ); + console.log(result); +} + +retrieveDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..82335011dfcb --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a forwarding rule in a DNS forwarding ruleset. + * + * @summary Gets properties of a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.get( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName + ); + console.log(result); +} + +retrieveForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..c3619e19d496 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveInboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of an inbound endpoint for a DNS resolver. + * + * @summary Gets properties of an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.get( + resourceGroupName, + dnsResolverName, + inboundEndpointName + ); + console.log(result); +} + +retrieveInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..d343094c4b4a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveOutboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of an outbound endpoint for a DNS resolver. + * + * @summary Gets properties of an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.get( + resourceGroupName, + dnsResolverName, + outboundEndpointName + ); + console.log(result); +} + +retrieveOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..3a07fb9bda39 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a virtual network link to a DNS forwarding ruleset. + * + * @summary Gets properties of a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.get( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName + ); + console.log(result); +} + +retrieveVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateDnsForwardingRuleset.ts new file mode 100644 index 000000000000..27f63c0e6514 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateDnsForwardingRuleset.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a DNS forwarding ruleset. + * + * @summary Updates a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json + */ +import { + DnsForwardingRulesetPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const parameters: DnsForwardingRulesetPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + parameters + ); + console.log(result); +} + +updateDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateDnsResolver.ts new file mode 100644 index 000000000000..154d3ba73090 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateDnsResolver.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a DNS resolver. + * + * @summary Updates a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json + */ +import { + DnsResolverPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const parameters: DnsResolverPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + parameters + ); + console.log(result); +} + +updateDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..e75d99cc8946 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a forwarding rule in a DNS forwarding ruleset. + * + * @summary Updates a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json + */ +import { + ForwardingRulePatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const parameters: ForwardingRulePatch = { + forwardingRuleState: "Disabled", + metadata: { additionalProp2: "value2" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.update( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters + ); + console.log(result); +} + +updateForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..65a497c84fb2 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateInboundEndpointForDnsResolver.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates an inbound endpoint for a DNS resolver. + * + * @summary Updates an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json + */ +import { + InboundEndpointPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const parameters: InboundEndpointPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters + ); + console.log(result); +} + +updateInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..faaf8074726f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateOutboundEndpointForDnsResolver.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates an outbound endpoint for a DNS resolver. + * + * @summary Updates an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json + */ +import { + OutboundEndpointPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const parameters: OutboundEndpointPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters + ); + console.log(result); +} + +updateOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..118334bcf9f5 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/updateVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a virtual network link to a DNS forwarding ruleset. + * + * @summary Updates a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json + */ +import { + VirtualNetworkLinkPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const parameters: VirtualNetworkLinkPatch = { + metadata: { additionalProp1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters + ); + console.log(result); +} + +updateVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertDnsForwardingRuleset.ts new file mode 100644 index 000000000000..a5b0c558b669 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertDnsForwardingRuleset.ts @@ -0,0 +1,51 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a DNS forwarding ruleset. + * + * @summary Creates or updates a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json + */ +import { + DnsForwardingRuleset, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "samplednsForwardingRuleset"; + const parameters: DnsForwardingRuleset = { + dnsResolverOutboundEndpoints: [ + { + id: + "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + id: + "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + location: "westus2", + tags: { key1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + parameters + ); + console.log(result); +} + +upsertDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertDnsResolver.ts new file mode 100644 index 000000000000..e134b7717abc --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertDnsResolver.ts @@ -0,0 +1,45 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a DNS resolver. + * + * @summary Creates or updates a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json + */ +import { + DnsResolver, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const parameters: DnsResolver = { + location: "westus2", + tags: { key1: "value1" }, + virtualNetwork: { + id: + "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + parameters + ); + console.log(result); +} + +upsertDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..1d5b69819d4a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,48 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a forwarding rule in a DNS forwarding ruleset. + * + * @summary Creates or updates a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json + */ +import { + ForwardingRule, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const parameters: ForwardingRule = { + domainName: "contoso.com.", + forwardingRuleState: "Enabled", + metadata: { additionalProp1: "value1" }, + targetDnsServers: [ + { ipAddress: "10.0.0.1", port: 53 }, + { ipAddress: "10.0.0.2", port: 53 } + ] + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.createOrUpdate( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters + ); + console.log(result); +} + +upsertForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..b61fe7d98d9f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertInboundEndpointForDnsResolver.ts @@ -0,0 +1,53 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates an inbound endpoint for a DNS resolver. + * + * @summary Creates or updates an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json + */ +import { + InboundEndpoint, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const parameters: InboundEndpoint = { + ipConfigurations: [ + { + privateIpAddress: "255.255.255.255", + privateIpAllocationMethod: "Static", + subnet: { + id: + "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + } + } + ], + location: "westus2", + tags: { key1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters + ); + console.log(result); +} + +upsertInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..4d4a55ac9d91 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertOutboundEndpointForDnsResolver.ts @@ -0,0 +1,47 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates an outbound endpoint for a DNS resolver. + * + * @summary Creates or updates an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json + */ +import { + OutboundEndpoint, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const parameters: OutboundEndpoint = { + location: "westus2", + subnet: { + id: + "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + tags: { key1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters + ); + console.log(result); +} + +upsertOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..891f1b352481 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples-dev/upsertVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a virtual network link to a DNS forwarding ruleset. + * + * @summary Creates or updates a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json + */ +import { + VirtualNetworkLink, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const parameters: VirtualNetworkLink = { + metadata: { additionalProp1: "value1" }, + virtualNetwork: { + id: + "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters + ); + console.log(result); +} + +upsertVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/README.md b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/README.md new file mode 100644 index 000000000000..adadcf177e92 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/README.md @@ -0,0 +1,116 @@ +# client library samples for JavaScript (Beta) + +These sample programs show how to use the JavaScript client libraries for in some common scenarios. + +| **File Name** | **Description** | +| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [deleteDnsForwardingRuleset.js][deletednsforwardingruleset] | Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json | +| [deleteDnsResolver.js][deletednsresolver] | Deletes a DNS resolver. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json | +| [deleteForwardingRuleInADnsForwardingRuleset.js][deleteforwardingruleinadnsforwardingruleset] | Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json | +| [deleteInboundEndpointForDnsResolver.js][deleteinboundendpointfordnsresolver] | Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json | +| [deleteOutboundEndpointForDnsResolver.js][deleteoutboundendpointfordnsresolver] | Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json | +| [deleteVirtualNetworkLinkToADnsForwardingRuleset.js][deletevirtualnetworklinktoadnsforwardingruleset] | Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json | +| [listDnsForwardingRulesetsByResourceGroup.js][listdnsforwardingrulesetsbyresourcegroup] | Lists DNS forwarding rulesets within a resource group. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json | +| [listDnsForwardingRulesetsBySubscription.js][listdnsforwardingrulesetsbysubscription] | Lists DNS forwarding rulesets in all resource groups of a subscription. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json | +| [listDnsForwardingRulesetsByVirtualNetwork.js][listdnsforwardingrulesetsbyvirtualnetwork] | Lists DNS forwarding ruleset resource IDs attached to a virtual network. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json | +| [listDnsResolversByResourceGroup.js][listdnsresolversbyresourcegroup] | Lists DNS resolvers within a resource group. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json | +| [listDnsResolversBySubscription.js][listdnsresolversbysubscription] | Lists DNS resolvers in all resource groups of a subscription. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json | +| [listDnsResolversByVirtualNetwork.js][listdnsresolversbyvirtualnetwork] | Lists DNS resolver resource IDs linked to a virtual network. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json | +| [listForwardingRulesInADnsForwardingRuleset.js][listforwardingrulesinadnsforwardingruleset] | Lists forwarding rules in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json | +| [listInboundEndpointsByDnsResolver.js][listinboundendpointsbydnsresolver] | Lists inbound endpoints for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json | +| [listOutboundEndpointsByDnsResolver.js][listoutboundendpointsbydnsresolver] | Lists outbound endpoints for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json | +| [listVirtualNetworkLinksToADnsForwardingRuleset.js][listvirtualnetworklinkstoadnsforwardingruleset] | Lists virtual network links to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json | +| [retrieveDnsForwardingRuleset.js][retrievednsforwardingruleset] | Gets a DNS forwarding ruleset properties. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json | +| [retrieveDnsResolver.js][retrievednsresolver] | Gets properties of a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json | +| [retrieveForwardingRuleInADnsForwardingRuleset.js][retrieveforwardingruleinadnsforwardingruleset] | Gets properties of a forwarding rule in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json | +| [retrieveInboundEndpointForDnsResolver.js][retrieveinboundendpointfordnsresolver] | Gets properties of an inbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json | +| [retrieveOutboundEndpointForDnsResolver.js][retrieveoutboundendpointfordnsresolver] | Gets properties of an outbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json | +| [retrieveVirtualNetworkLinkToADnsForwardingRuleset.js][retrievevirtualnetworklinktoadnsforwardingruleset] | Gets properties of a virtual network link to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json | +| [updateDnsForwardingRuleset.js][updatednsforwardingruleset] | Updates a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json | +| [updateDnsResolver.js][updatednsresolver] | Updates a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json | +| [updateForwardingRuleInADnsForwardingRuleset.js][updateforwardingruleinadnsforwardingruleset] | Updates a forwarding rule in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json | +| [updateInboundEndpointForDnsResolver.js][updateinboundendpointfordnsresolver] | Updates an inbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json | +| [updateOutboundEndpointForDnsResolver.js][updateoutboundendpointfordnsresolver] | Updates an outbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json | +| [updateVirtualNetworkLinkToADnsForwardingRuleset.js][updatevirtualnetworklinktoadnsforwardingruleset] | Updates a virtual network link to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json | +| [upsertDnsForwardingRuleset.js][upsertdnsforwardingruleset] | Creates or updates a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json | +| [upsertDnsResolver.js][upsertdnsresolver] | Creates or updates a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json | +| [upsertForwardingRuleInADnsForwardingRuleset.js][upsertforwardingruleinadnsforwardingruleset] | Creates or updates a forwarding rule in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json | +| [upsertInboundEndpointForDnsResolver.js][upsertinboundendpointfordnsresolver] | Creates or updates an inbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json | +| [upsertOutboundEndpointForDnsResolver.js][upsertoutboundendpointfordnsresolver] | Creates or updates an outbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json | +| [upsertVirtualNetworkLinkToADnsForwardingRuleset.js][upsertvirtualnetworklinktoadnsforwardingruleset] | Creates or updates a virtual network link to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json | + +## Prerequisites + +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). + +You need [an Azure subscription][freesub] to run these sample programs. + +Samples retrieve credentials to access the service endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function. + +Adapting the samples to run in the browser may require some additional consideration. For details, please see the [package README][package]. + +## Setup + +To run the samples using the published version of the package: + +1. Install the dependencies using `npm`: + +```bash +npm install +``` + +2. Edit the file `sample.env`, adding the correct credentials to access the Azure service and run the samples. Then rename the file from `sample.env` to just `.env`. The sample programs will read this file automatically. + +3. Run whichever samples you like (note that some samples may require additional setup, see the table above): + +```bash +node deleteDnsForwardingRuleset.js +``` + +Alternatively, run a single sample with the correct environment variables set (setting up the `.env` file is not required if you do this), for example (cross-platform): + +```bash +npx cross-env node deleteDnsForwardingRuleset.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[deletednsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsForwardingRuleset.js +[deletednsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsResolver.js +[deleteforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteForwardingRuleInADnsForwardingRuleset.js +[deleteinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteInboundEndpointForDnsResolver.js +[deleteoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteOutboundEndpointForDnsResolver.js +[deletevirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteVirtualNetworkLinkToADnsForwardingRuleset.js +[listdnsforwardingrulesetsbyresourcegroup]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByResourceGroup.js +[listdnsforwardingrulesetsbysubscription]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsBySubscription.js +[listdnsforwardingrulesetsbyvirtualnetwork]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByVirtualNetwork.js +[listdnsresolversbyresourcegroup]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByResourceGroup.js +[listdnsresolversbysubscription]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversBySubscription.js +[listdnsresolversbyvirtualnetwork]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByVirtualNetwork.js +[listforwardingrulesinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listForwardingRulesInADnsForwardingRuleset.js +[listinboundendpointsbydnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listInboundEndpointsByDnsResolver.js +[listoutboundendpointsbydnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listOutboundEndpointsByDnsResolver.js +[listvirtualnetworklinkstoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listVirtualNetworkLinksToADnsForwardingRuleset.js +[retrievednsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsForwardingRuleset.js +[retrievednsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsResolver.js +[retrieveforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveForwardingRuleInADnsForwardingRuleset.js +[retrieveinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveInboundEndpointForDnsResolver.js +[retrieveoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveOutboundEndpointForDnsResolver.js +[retrievevirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveVirtualNetworkLinkToADnsForwardingRuleset.js +[updatednsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsForwardingRuleset.js +[updatednsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsResolver.js +[updateforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateForwardingRuleInADnsForwardingRuleset.js +[updateinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateInboundEndpointForDnsResolver.js +[updateoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateOutboundEndpointForDnsResolver.js +[updatevirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateVirtualNetworkLinkToADnsForwardingRuleset.js +[upsertdnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsForwardingRuleset.js +[upsertdnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsResolver.js +[upsertforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertForwardingRuleInADnsForwardingRuleset.js +[upsertinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertInboundEndpointForDnsResolver.js +[upsertoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertOutboundEndpointForDnsResolver.js +[upsertvirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertVirtualNetworkLinkToADnsForwardingRuleset.js +[apiref]: https://docs.microsoft.com/javascript/api/@azure/arm-dnsresolver?view=azure-node-preview +[freesub]: https://azure.microsoft.com/free/ +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dnsresolver/arm-dnsresolver/README.md diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsForwardingRuleset.js new file mode 100644 index 000000000000..bd1b048b23e7 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsForwardingRuleset.js @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. + * + * @summary Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function deleteDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "samplednsForwardingRulesetName"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginDeleteAndWait( + resourceGroupName, + dnsForwardingRulesetName + ); + console.log(result); +} + +deleteDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsResolver.js new file mode 100644 index 000000000000..fd56def7e3db --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteDnsResolver.js @@ -0,0 +1,30 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function deleteDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginDeleteAndWait(resourceGroupName, dnsResolverName); + console.log(result); +} + +deleteDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteForwardingRuleInADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteForwardingRuleInADnsForwardingRuleset.js new file mode 100644 index 000000000000..2135fabfcbe0 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteForwardingRuleInADnsForwardingRuleset.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * + * @summary Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function deleteForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.delete( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName + ); + console.log(result); +} + +deleteForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteInboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteInboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..37e00e899723 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteInboundEndpointForDnsResolver.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function deleteInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginDeleteAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName + ); + console.log(result); +} + +deleteInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteOutboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteOutboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..0d92c4a33c59 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteOutboundEndpointForDnsResolver.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function deleteOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginDeleteAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName + ); + console.log(result); +} + +deleteOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteVirtualNetworkLinkToADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteVirtualNetworkLinkToADnsForwardingRuleset.js new file mode 100644 index 000000000000..eee4ab9efa8d --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/deleteVirtualNetworkLinkToADnsForwardingRuleset.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * + * @summary Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function deleteVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginDeleteAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName + ); + console.log(result); +} + +deleteVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByResourceGroup.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByResourceGroup.js new file mode 100644 index 000000000000..8cc7dc830254 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByResourceGroup.js @@ -0,0 +1,32 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding rulesets within a resource group. + * + * @summary Lists DNS forwarding rulesets within a resource group. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listDnsForwardingRulesetsByResourceGroup() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.listByResourceGroup(resourceGroupName)) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsByResourceGroup().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsBySubscription.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsBySubscription.js new file mode 100644 index 000000000000..11b5eb304359 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsBySubscription.js @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding rulesets in all resource groups of a subscription. + * + * @summary Lists DNS forwarding rulesets in all resource groups of a subscription. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listDnsForwardingRulesetsBySubscription() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.list()) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsBySubscription().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByVirtualNetwork.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByVirtualNetwork.js new file mode 100644 index 000000000000..8f37c6509589 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsForwardingRulesetsByVirtualNetwork.js @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * + * @summary Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listDnsForwardingRulesetsByVirtualNetwork() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const virtualNetworkName = "sampleVirtualNetwork"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.listByVirtualNetwork( + resourceGroupName, + virtualNetworkName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsByVirtualNetwork().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByResourceGroup.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByResourceGroup.js new file mode 100644 index 000000000000..2624395de01b --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByResourceGroup.js @@ -0,0 +1,32 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolvers within a resource group. + * + * @summary Lists DNS resolvers within a resource group. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listDnsResolversByResourceGroup() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.listByResourceGroup(resourceGroupName)) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversByResourceGroup().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversBySubscription.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversBySubscription.js new file mode 100644 index 000000000000..46c82285291d --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversBySubscription.js @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolvers in all resource groups of a subscription. + * + * @summary Lists DNS resolvers in all resource groups of a subscription. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listDnsResolversBySubscription() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.list()) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversBySubscription().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByVirtualNetwork.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByVirtualNetwork.js new file mode 100644 index 000000000000..36fcb104d4da --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listDnsResolversByVirtualNetwork.js @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolver resource IDs linked to a virtual network. + * + * @summary Lists DNS resolver resource IDs linked to a virtual network. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listDnsResolversByVirtualNetwork() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const virtualNetworkName = "sampleVirtualNetwork"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.listByVirtualNetwork( + resourceGroupName, + virtualNetworkName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversByVirtualNetwork().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listForwardingRulesInADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listForwardingRulesInADnsForwardingRuleset.js new file mode 100644 index 000000000000..8b3bde2afbc4 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listForwardingRulesInADnsForwardingRuleset.js @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists forwarding rules in a DNS forwarding ruleset. + * + * @summary Lists forwarding rules in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listForwardingRulesInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.forwardingRules.list(resourceGroupName, dnsForwardingRulesetName)) { + resArray.push(item); + } + console.log(resArray); +} + +listForwardingRulesInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listInboundEndpointsByDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listInboundEndpointsByDnsResolver.js new file mode 100644 index 000000000000..13a710cb7e30 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listInboundEndpointsByDnsResolver.js @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists inbound endpoints for a DNS resolver. + * + * @summary Lists inbound endpoints for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listInboundEndpointsByDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.inboundEndpoints.list(resourceGroupName, dnsResolverName)) { + resArray.push(item); + } + console.log(resArray); +} + +listInboundEndpointsByDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listOutboundEndpointsByDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listOutboundEndpointsByDnsResolver.js new file mode 100644 index 000000000000..c1f5e3b67491 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listOutboundEndpointsByDnsResolver.js @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists outbound endpoints for a DNS resolver. + * + * @summary Lists outbound endpoints for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listOutboundEndpointsByDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.outboundEndpoints.list(resourceGroupName, dnsResolverName)) { + resArray.push(item); + } + console.log(resArray); +} + +listOutboundEndpointsByDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listVirtualNetworkLinksToADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listVirtualNetworkLinksToADnsForwardingRuleset.js new file mode 100644 index 000000000000..5191657926c2 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/listVirtualNetworkLinksToADnsForwardingRuleset.js @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists virtual network links to a DNS forwarding ruleset. + * + * @summary Lists virtual network links to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function listVirtualNetworkLinksToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.virtualNetworkLinks.list( + resourceGroupName, + dnsForwardingRulesetName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listVirtualNetworkLinksToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/package.json b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/package.json new file mode 100644 index 000000000000..80e90cd5f819 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/package.json @@ -0,0 +1,32 @@ +{ + "name": "azure-arm-dnsresolver-samples-js-beta", + "private": true, + "version": "1.0.0", + "description": " client library samples for JavaScript (Beta)", + "engines": { + "node": ">=12.0.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Azure/azure-sdk-for-js.git", + "directory": "sdk/dnsresolver/arm-dnsresolver" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dnsresolver/arm-dnsresolver", + "dependencies": { + "@azure/arm-dnsresolver": "next", + "dotenv": "latest", + "@azure/identity": "^2.0.1" + } +} diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsForwardingRuleset.js new file mode 100644 index 000000000000..16dd4d685da0 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsForwardingRuleset.js @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets a DNS forwarding ruleset properties. + * + * @summary Gets a DNS forwarding ruleset properties. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function retrieveDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.get( + resourceGroupName, + dnsForwardingRulesetName + ); + console.log(result); +} + +retrieveDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsResolver.js new file mode 100644 index 000000000000..68940b3d8f70 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveDnsResolver.js @@ -0,0 +1,30 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a DNS resolver. + * + * @summary Gets properties of a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function retrieveDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.get(resourceGroupName, dnsResolverName); + console.log(result); +} + +retrieveDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveForwardingRuleInADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveForwardingRuleInADnsForwardingRuleset.js new file mode 100644 index 000000000000..593d796138b4 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveForwardingRuleInADnsForwardingRuleset.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a forwarding rule in a DNS forwarding ruleset. + * + * @summary Gets properties of a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function retrieveForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.get( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName + ); + console.log(result); +} + +retrieveForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveInboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveInboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..0c6de3b53daa --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveInboundEndpointForDnsResolver.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of an inbound endpoint for a DNS resolver. + * + * @summary Gets properties of an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function retrieveInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.get( + resourceGroupName, + dnsResolverName, + inboundEndpointName + ); + console.log(result); +} + +retrieveInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveOutboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveOutboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..4e9bfd67d864 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveOutboundEndpointForDnsResolver.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of an outbound endpoint for a DNS resolver. + * + * @summary Gets properties of an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function retrieveOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.get( + resourceGroupName, + dnsResolverName, + outboundEndpointName + ); + console.log(result); +} + +retrieveOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveVirtualNetworkLinkToADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveVirtualNetworkLinkToADnsForwardingRuleset.js new file mode 100644 index 000000000000..8cc4a4bee7f4 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/retrieveVirtualNetworkLinkToADnsForwardingRuleset.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a virtual network link to a DNS forwarding ruleset. + * + * @summary Gets properties of a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function retrieveVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.get( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName + ); + console.log(result); +} + +retrieveVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/sample.env b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/sample.env new file mode 100644 index 000000000000..672847a3fea0 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/sample.env @@ -0,0 +1,4 @@ +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= \ No newline at end of file diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsForwardingRuleset.js new file mode 100644 index 000000000000..4c86b948d869 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsForwardingRuleset.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a DNS forwarding ruleset. + * + * @summary Updates a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function updateDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const parameters = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + parameters + ); + console.log(result); +} + +updateDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsResolver.js new file mode 100644 index 000000000000..9de280f80476 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateDnsResolver.js @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a DNS resolver. + * + * @summary Updates a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function updateDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const parameters = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + parameters + ); + console.log(result); +} + +updateDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateForwardingRuleInADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateForwardingRuleInADnsForwardingRuleset.js new file mode 100644 index 000000000000..4a459a90d44f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateForwardingRuleInADnsForwardingRuleset.js @@ -0,0 +1,40 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a forwarding rule in a DNS forwarding ruleset. + * + * @summary Updates a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function updateForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const parameters = { + forwardingRuleState: "Disabled", + metadata: { additionalProp2: "value2" }, + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.update( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters + ); + console.log(result); +} + +updateForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateInboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateInboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..333dc24c3949 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateInboundEndpointForDnsResolver.js @@ -0,0 +1,37 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates an inbound endpoint for a DNS resolver. + * + * @summary Updates an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function updateInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const parameters = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters + ); + console.log(result); +} + +updateInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateOutboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateOutboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..d64482cff4b7 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateOutboundEndpointForDnsResolver.js @@ -0,0 +1,37 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates an outbound endpoint for a DNS resolver. + * + * @summary Updates an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function updateOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const parameters = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters + ); + console.log(result); +} + +updateOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateVirtualNetworkLinkToADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateVirtualNetworkLinkToADnsForwardingRuleset.js new file mode 100644 index 000000000000..a2ed4f5397b0 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/updateVirtualNetworkLinkToADnsForwardingRuleset.js @@ -0,0 +1,39 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a virtual network link to a DNS forwarding ruleset. + * + * @summary Updates a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function updateVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const parameters = { + metadata: { additionalProp1: "value1" }, + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters + ); + console.log(result); +} + +updateVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsForwardingRuleset.js new file mode 100644 index 000000000000..60c5a8303c4e --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsForwardingRuleset.js @@ -0,0 +1,46 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a DNS forwarding ruleset. + * + * @summary Creates or updates a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function upsertDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "samplednsForwardingRuleset"; + const parameters = { + dnsResolverOutboundEndpoints: [ + { + id: "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0", + }, + { + id: "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1", + }, + ], + location: "westus2", + tags: { key1: "value1" }, + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + parameters + ); + console.log(result); +} + +upsertDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsResolver.js new file mode 100644 index 000000000000..403a73f3d23c --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertDnsResolver.js @@ -0,0 +1,41 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a DNS resolver. + * + * @summary Creates or updates a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function upsertDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const parameters = { + location: "westus2", + tags: { key1: "value1" }, + virtualNetwork: { + id: "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork", + }, + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + parameters + ); + console.log(result); +} + +upsertDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertForwardingRuleInADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertForwardingRuleInADnsForwardingRuleset.js new file mode 100644 index 000000000000..a3fa505dbc5e --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertForwardingRuleInADnsForwardingRuleset.js @@ -0,0 +1,45 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a forwarding rule in a DNS forwarding ruleset. + * + * @summary Creates or updates a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function upsertForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const parameters = { + domainName: "contoso.com.", + forwardingRuleState: "Enabled", + metadata: { additionalProp1: "value1" }, + targetDnsServers: [ + { ipAddress: "10.0.0.1", port: 53 }, + { ipAddress: "10.0.0.2", port: 53 }, + ], + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.createOrUpdate( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters + ); + console.log(result); +} + +upsertForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertInboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertInboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..72cfa34f2888 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertInboundEndpointForDnsResolver.js @@ -0,0 +1,49 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates an inbound endpoint for a DNS resolver. + * + * @summary Creates or updates an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function upsertInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const parameters = { + ipConfigurations: [ + { + privateIpAddress: "255.255.255.255", + privateIpAllocationMethod: "Static", + subnet: { + id: "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet", + }, + }, + ], + location: "westus2", + tags: { key1: "value1" }, + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters + ); + console.log(result); +} + +upsertInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertOutboundEndpointForDnsResolver.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertOutboundEndpointForDnsResolver.js new file mode 100644 index 000000000000..535a0453cdc6 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertOutboundEndpointForDnsResolver.js @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates an outbound endpoint for a DNS resolver. + * + * @summary Creates or updates an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function upsertOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const parameters = { + location: "westus2", + subnet: { + id: "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet", + }, + tags: { key1: "value1" }, + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters + ); + console.log(result); +} + +upsertOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertVirtualNetworkLinkToADnsForwardingRuleset.js b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertVirtualNetworkLinkToADnsForwardingRuleset.js new file mode 100644 index 000000000000..f0b73181cfbc --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/javascript/upsertVirtualNetworkLinkToADnsForwardingRuleset.js @@ -0,0 +1,42 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a virtual network link to a DNS forwarding ruleset. + * + * @summary Creates or updates a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json + */ +const { DnsResolverManagementClient } = require("@azure/arm-dnsresolver"); +const { DefaultAzureCredential } = require("@azure/identity"); + +async function upsertVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const parameters = { + metadata: { additionalProp1: "value1" }, + virtualNetwork: { + id: "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork", + }, + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters + ); + console.log(result); +} + +upsertVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/README.md b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/README.md new file mode 100644 index 000000000000..26528ee6ed1b --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/README.md @@ -0,0 +1,129 @@ +# client library samples for TypeScript (Beta) + +These sample programs show how to use the TypeScript client libraries for in some common scenarios. + +| **File Name** | **Description** | +| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [deleteDnsForwardingRuleset.ts][deletednsforwardingruleset] | Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json | +| [deleteDnsResolver.ts][deletednsresolver] | Deletes a DNS resolver. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json | +| [deleteForwardingRuleInADnsForwardingRuleset.ts][deleteforwardingruleinadnsforwardingruleset] | Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json | +| [deleteInboundEndpointForDnsResolver.ts][deleteinboundendpointfordnsresolver] | Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json | +| [deleteOutboundEndpointForDnsResolver.ts][deleteoutboundendpointfordnsresolver] | Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json | +| [deleteVirtualNetworkLinkToADnsForwardingRuleset.ts][deletevirtualnetworklinktoadnsforwardingruleset] | Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json | +| [listDnsForwardingRulesetsByResourceGroup.ts][listdnsforwardingrulesetsbyresourcegroup] | Lists DNS forwarding rulesets within a resource group. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json | +| [listDnsForwardingRulesetsBySubscription.ts][listdnsforwardingrulesetsbysubscription] | Lists DNS forwarding rulesets in all resource groups of a subscription. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json | +| [listDnsForwardingRulesetsByVirtualNetwork.ts][listdnsforwardingrulesetsbyvirtualnetwork] | Lists DNS forwarding ruleset resource IDs attached to a virtual network. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json | +| [listDnsResolversByResourceGroup.ts][listdnsresolversbyresourcegroup] | Lists DNS resolvers within a resource group. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json | +| [listDnsResolversBySubscription.ts][listdnsresolversbysubscription] | Lists DNS resolvers in all resource groups of a subscription. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json | +| [listDnsResolversByVirtualNetwork.ts][listdnsresolversbyvirtualnetwork] | Lists DNS resolver resource IDs linked to a virtual network. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json | +| [listForwardingRulesInADnsForwardingRuleset.ts][listforwardingrulesinadnsforwardingruleset] | Lists forwarding rules in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json | +| [listInboundEndpointsByDnsResolver.ts][listinboundendpointsbydnsresolver] | Lists inbound endpoints for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json | +| [listOutboundEndpointsByDnsResolver.ts][listoutboundendpointsbydnsresolver] | Lists outbound endpoints for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json | +| [listVirtualNetworkLinksToADnsForwardingRuleset.ts][listvirtualnetworklinkstoadnsforwardingruleset] | Lists virtual network links to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json | +| [retrieveDnsForwardingRuleset.ts][retrievednsforwardingruleset] | Gets a DNS forwarding ruleset properties. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json | +| [retrieveDnsResolver.ts][retrievednsresolver] | Gets properties of a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json | +| [retrieveForwardingRuleInADnsForwardingRuleset.ts][retrieveforwardingruleinadnsforwardingruleset] | Gets properties of a forwarding rule in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json | +| [retrieveInboundEndpointForDnsResolver.ts][retrieveinboundendpointfordnsresolver] | Gets properties of an inbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json | +| [retrieveOutboundEndpointForDnsResolver.ts][retrieveoutboundendpointfordnsresolver] | Gets properties of an outbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json | +| [retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts][retrievevirtualnetworklinktoadnsforwardingruleset] | Gets properties of a virtual network link to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json | +| [updateDnsForwardingRuleset.ts][updatednsforwardingruleset] | Updates a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json | +| [updateDnsResolver.ts][updatednsresolver] | Updates a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json | +| [updateForwardingRuleInADnsForwardingRuleset.ts][updateforwardingruleinadnsforwardingruleset] | Updates a forwarding rule in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json | +| [updateInboundEndpointForDnsResolver.ts][updateinboundendpointfordnsresolver] | Updates an inbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json | +| [updateOutboundEndpointForDnsResolver.ts][updateoutboundendpointfordnsresolver] | Updates an outbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json | +| [updateVirtualNetworkLinkToADnsForwardingRuleset.ts][updatevirtualnetworklinktoadnsforwardingruleset] | Updates a virtual network link to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json | +| [upsertDnsForwardingRuleset.ts][upsertdnsforwardingruleset] | Creates or updates a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json | +| [upsertDnsResolver.ts][upsertdnsresolver] | Creates or updates a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json | +| [upsertForwardingRuleInADnsForwardingRuleset.ts][upsertforwardingruleinadnsforwardingruleset] | Creates or updates a forwarding rule in a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json | +| [upsertInboundEndpointForDnsResolver.ts][upsertinboundendpointfordnsresolver] | Creates or updates an inbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json | +| [upsertOutboundEndpointForDnsResolver.ts][upsertoutboundendpointfordnsresolver] | Creates or updates an outbound endpoint for a DNS resolver. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json | +| [upsertVirtualNetworkLinkToADnsForwardingRuleset.ts][upsertvirtualnetworklinktoadnsforwardingruleset] | Creates or updates a virtual network link to a DNS forwarding ruleset. x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json | + +## Prerequisites + +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). + +Before running the samples in Node, they must be compiled to JavaScript using the TypeScript compiler. For more information on TypeScript, see the [TypeScript documentation][typescript]. Install the TypeScript compiler using: + +```bash +npm install -g typescript +``` + +You need [an Azure subscription][freesub] to run these sample programs. + +Samples retrieve credentials to access the service endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function. + +Adapting the samples to run in the browser may require some additional consideration. For details, please see the [package README][package]. + +## Setup + +To run the samples using the published version of the package: + +1. Install the dependencies using `npm`: + +```bash +npm install +``` + +2. Compile the samples: + +```bash +npm run build +``` + +3. Edit the file `sample.env`, adding the correct credentials to access the Azure service and run the samples. Then rename the file from `sample.env` to just `.env`. The sample programs will read this file automatically. + +4. Run whichever samples you like (note that some samples may require additional setup, see the table above): + +```bash +node dist/deleteDnsForwardingRuleset.js +``` + +Alternatively, run a single sample with the correct environment variables set (setting up the `.env` file is not required if you do this), for example (cross-platform): + +```bash +npx cross-env node dist/deleteDnsForwardingRuleset.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[deletednsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsForwardingRuleset.ts +[deletednsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsResolver.ts +[deleteforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteForwardingRuleInADnsForwardingRuleset.ts +[deleteinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteInboundEndpointForDnsResolver.ts +[deleteoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteOutboundEndpointForDnsResolver.ts +[deletevirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteVirtualNetworkLinkToADnsForwardingRuleset.ts +[listdnsforwardingrulesetsbyresourcegroup]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByResourceGroup.ts +[listdnsforwardingrulesetsbysubscription]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsBySubscription.ts +[listdnsforwardingrulesetsbyvirtualnetwork]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByVirtualNetwork.ts +[listdnsresolversbyresourcegroup]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByResourceGroup.ts +[listdnsresolversbysubscription]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversBySubscription.ts +[listdnsresolversbyvirtualnetwork]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByVirtualNetwork.ts +[listforwardingrulesinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listForwardingRulesInADnsForwardingRuleset.ts +[listinboundendpointsbydnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listInboundEndpointsByDnsResolver.ts +[listoutboundendpointsbydnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listOutboundEndpointsByDnsResolver.ts +[listvirtualnetworklinkstoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listVirtualNetworkLinksToADnsForwardingRuleset.ts +[retrievednsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsForwardingRuleset.ts +[retrievednsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsResolver.ts +[retrieveforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveForwardingRuleInADnsForwardingRuleset.ts +[retrieveinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveInboundEndpointForDnsResolver.ts +[retrieveoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveOutboundEndpointForDnsResolver.ts +[retrievevirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts +[updatednsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsForwardingRuleset.ts +[updatednsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsResolver.ts +[updateforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateForwardingRuleInADnsForwardingRuleset.ts +[updateinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateInboundEndpointForDnsResolver.ts +[updateoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateOutboundEndpointForDnsResolver.ts +[updatevirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateVirtualNetworkLinkToADnsForwardingRuleset.ts +[upsertdnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsForwardingRuleset.ts +[upsertdnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsResolver.ts +[upsertforwardingruleinadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertForwardingRuleInADnsForwardingRuleset.ts +[upsertinboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertInboundEndpointForDnsResolver.ts +[upsertoutboundendpointfordnsresolver]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertOutboundEndpointForDnsResolver.ts +[upsertvirtualnetworklinktoadnsforwardingruleset]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertVirtualNetworkLinkToADnsForwardingRuleset.ts +[apiref]: https://docs.microsoft.com/javascript/api/@azure/arm-dnsresolver?view=azure-node-preview +[freesub]: https://azure.microsoft.com/free/ +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dnsresolver/arm-dnsresolver/README.md +[typescript]: https://www.typescriptlang.org/docs/home.html diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/package.json b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/package.json new file mode 100644 index 000000000000..88fce3f4489f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/package.json @@ -0,0 +1,41 @@ +{ + "name": "azure-arm-dnsresolver-samples-ts-beta", + "private": true, + "version": "1.0.0", + "description": " client library samples for TypeScript (Beta)", + "engines": { + "node": ">=12.0.0" + }, + "scripts": { + "build": "tsc", + "prebuild": "rimraf dist/" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Azure/azure-sdk-for-js.git", + "directory": "sdk/dnsresolver/arm-dnsresolver" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/dnsresolver/arm-dnsresolver", + "dependencies": { + "@azure/arm-dnsresolver": "next", + "dotenv": "latest", + "@azure/identity": "^2.0.1" + }, + "devDependencies": { + "@types/node": "^12.0.0", + "typescript": "~4.4.0", + "rimraf": "latest" + } +} diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/sample.env b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/sample.env new file mode 100644 index 000000000000..672847a3fea0 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/sample.env @@ -0,0 +1,4 @@ +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= \ No newline at end of file diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsForwardingRuleset.ts new file mode 100644 index 000000000000..271fd38e8c5a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsForwardingRuleset.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. + * + * @summary Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "samplednsForwardingRulesetName"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginDeleteAndWait( + resourceGroupName, + dnsForwardingRulesetName + ); + console.log(result); +} + +deleteDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsResolver.ts new file mode 100644 index 000000000000..da0b8423face --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteDnsResolver.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginDeleteAndWait( + resourceGroupName, + dnsResolverName + ); + console.log(result); +} + +deleteDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..4171645bf78f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * + * @summary Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.delete( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName + ); + console.log(result); +} + +deleteForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..c7aa6708ba70 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteInboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginDeleteAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName + ); + console.log(result); +} + +deleteInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..617f9d2707e7 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteOutboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * + * @summary Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginDeleteAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName + ); + console.log(result); +} + +deleteOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..94ff52860de2 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/deleteVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * + * @summary Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function deleteVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginDeleteAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName + ); + console.log(result); +} + +deleteVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByResourceGroup.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByResourceGroup.ts new file mode 100644 index 000000000000..16513a26d963 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByResourceGroup.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding rulesets within a resource group. + * + * @summary Lists DNS forwarding rulesets within a resource group. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsForwardingRulesetsByResourceGroup() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.listByResourceGroup( + resourceGroupName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsByResourceGroup().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsBySubscription.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsBySubscription.ts new file mode 100644 index 000000000000..50afecddd1ee --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsBySubscription.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding rulesets in all resource groups of a subscription. + * + * @summary Lists DNS forwarding rulesets in all resource groups of a subscription. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsForwardingRulesetsBySubscription() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.list()) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsBySubscription().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByVirtualNetwork.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByVirtualNetwork.ts new file mode 100644 index 000000000000..ddd0120a835f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsForwardingRulesetsByVirtualNetwork.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * + * @summary Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsForwardingRulesetsByVirtualNetwork() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const virtualNetworkName = "sampleVirtualNetwork"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsForwardingRulesets.listByVirtualNetwork( + resourceGroupName, + virtualNetworkName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsForwardingRulesetsByVirtualNetwork().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByResourceGroup.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByResourceGroup.ts new file mode 100644 index 000000000000..f922115f1f90 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByResourceGroup.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolvers within a resource group. + * + * @summary Lists DNS resolvers within a resource group. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsResolversByResourceGroup() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.listByResourceGroup( + resourceGroupName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversByResourceGroup().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversBySubscription.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversBySubscription.ts new file mode 100644 index 000000000000..ca485295209d --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversBySubscription.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolvers in all resource groups of a subscription. + * + * @summary Lists DNS resolvers in all resource groups of a subscription. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsResolversBySubscription() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.list()) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversBySubscription().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByVirtualNetwork.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByVirtualNetwork.ts new file mode 100644 index 000000000000..1989191126ff --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listDnsResolversByVirtualNetwork.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists DNS resolver resource IDs linked to a virtual network. + * + * @summary Lists DNS resolver resource IDs linked to a virtual network. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listDnsResolversByVirtualNetwork() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const virtualNetworkName = "sampleVirtualNetwork"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.dnsResolvers.listByVirtualNetwork( + resourceGroupName, + virtualNetworkName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listDnsResolversByVirtualNetwork().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listForwardingRulesInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listForwardingRulesInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..9ec4439fa236 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listForwardingRulesInADnsForwardingRuleset.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists forwarding rules in a DNS forwarding ruleset. + * + * @summary Lists forwarding rules in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listForwardingRulesInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.forwardingRules.list( + resourceGroupName, + dnsForwardingRulesetName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listForwardingRulesInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listInboundEndpointsByDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listInboundEndpointsByDnsResolver.ts new file mode 100644 index 000000000000..0d63e40626b4 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listInboundEndpointsByDnsResolver.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists inbound endpoints for a DNS resolver. + * + * @summary Lists inbound endpoints for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listInboundEndpointsByDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.inboundEndpoints.list( + resourceGroupName, + dnsResolverName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listInboundEndpointsByDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listOutboundEndpointsByDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listOutboundEndpointsByDnsResolver.ts new file mode 100644 index 000000000000..b6301117511a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listOutboundEndpointsByDnsResolver.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists outbound endpoints for a DNS resolver. + * + * @summary Lists outbound endpoints for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listOutboundEndpointsByDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.outboundEndpoints.list( + resourceGroupName, + dnsResolverName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listOutboundEndpointsByDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listVirtualNetworkLinksToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listVirtualNetworkLinksToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..4d641e8cdfda --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/listVirtualNetworkLinksToADnsForwardingRuleset.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Lists virtual network links to a DNS forwarding ruleset. + * + * @summary Lists virtual network links to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function listVirtualNetworkLinksToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const resArray = new Array(); + for await (let item of client.virtualNetworkLinks.list( + resourceGroupName, + dnsForwardingRulesetName + )) { + resArray.push(item); + } + console.log(resArray); +} + +listVirtualNetworkLinksToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsForwardingRuleset.ts new file mode 100644 index 000000000000..8e435cb384e7 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsForwardingRuleset.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets a DNS forwarding ruleset properties. + * + * @summary Gets a DNS forwarding ruleset properties. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.get( + resourceGroupName, + dnsForwardingRulesetName + ); + console.log(result); +} + +retrieveDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsResolver.ts new file mode 100644 index 000000000000..20894fa09c1f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveDnsResolver.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a DNS resolver. + * + * @summary Gets properties of a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.get( + resourceGroupName, + dnsResolverName + ); + console.log(result); +} + +retrieveDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..82335011dfcb --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a forwarding rule in a DNS forwarding ruleset. + * + * @summary Gets properties of a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.get( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName + ); + console.log(result); +} + +retrieveForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..c3619e19d496 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveInboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of an inbound endpoint for a DNS resolver. + * + * @summary Gets properties of an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.get( + resourceGroupName, + dnsResolverName, + inboundEndpointName + ); + console.log(result); +} + +retrieveInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..d343094c4b4a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveOutboundEndpointForDnsResolver.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of an outbound endpoint for a DNS resolver. + * + * @summary Gets properties of an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.get( + resourceGroupName, + dnsResolverName, + outboundEndpointName + ); + console.log(result); +} + +retrieveOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..3a07fb9bda39 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/retrieveVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Gets properties of a virtual network link to a DNS forwarding ruleset. + * + * @summary Gets properties of a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json + */ +import { DnsResolverManagementClient } from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function retrieveVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.get( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName + ); + console.log(result); +} + +retrieveVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsForwardingRuleset.ts new file mode 100644 index 000000000000..27f63c0e6514 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsForwardingRuleset.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a DNS forwarding ruleset. + * + * @summary Updates a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json + */ +import { + DnsForwardingRulesetPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const parameters: DnsForwardingRulesetPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + parameters + ); + console.log(result); +} + +updateDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsResolver.ts new file mode 100644 index 000000000000..154d3ba73090 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateDnsResolver.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a DNS resolver. + * + * @summary Updates a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json + */ +import { + DnsResolverPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const parameters: DnsResolverPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + parameters + ); + console.log(result); +} + +updateDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..e75d99cc8946 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a forwarding rule in a DNS forwarding ruleset. + * + * @summary Updates a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json + */ +import { + ForwardingRulePatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const parameters: ForwardingRulePatch = { + forwardingRuleState: "Disabled", + metadata: { additionalProp2: "value2" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.update( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters + ); + console.log(result); +} + +updateForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..65a497c84fb2 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateInboundEndpointForDnsResolver.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates an inbound endpoint for a DNS resolver. + * + * @summary Updates an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json + */ +import { + InboundEndpointPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const parameters: InboundEndpointPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters + ); + console.log(result); +} + +updateInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..faaf8074726f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateOutboundEndpointForDnsResolver.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates an outbound endpoint for a DNS resolver. + * + * @summary Updates an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json + */ +import { + OutboundEndpointPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const parameters: OutboundEndpointPatch = { tags: { key1: "value1" } }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginUpdateAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters + ); + console.log(result); +} + +updateOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..118334bcf9f5 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/updateVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Updates a virtual network link to a DNS forwarding ruleset. + * + * @summary Updates a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json + */ +import { + VirtualNetworkLinkPatch, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function updateVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const parameters: VirtualNetworkLinkPatch = { + metadata: { additionalProp1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters + ); + console.log(result); +} + +updateVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsForwardingRuleset.ts new file mode 100644 index 000000000000..a5b0c558b669 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsForwardingRuleset.ts @@ -0,0 +1,51 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a DNS forwarding ruleset. + * + * @summary Creates or updates a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json + */ +import { + DnsForwardingRuleset, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertDnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "samplednsForwardingRuleset"; + const parameters: DnsForwardingRuleset = { + dnsResolverOutboundEndpoints: [ + { + id: + "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + id: + "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + location: "westus2", + tags: { key1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsForwardingRulesets.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + parameters + ); + console.log(result); +} + +upsertDnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsResolver.ts new file mode 100644 index 000000000000..e134b7717abc --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertDnsResolver.ts @@ -0,0 +1,45 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a DNS resolver. + * + * @summary Creates or updates a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json + */ +import { + DnsResolver, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const parameters: DnsResolver = { + location: "westus2", + tags: { key1: "value1" }, + virtualNetwork: { + id: + "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.dnsResolvers.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + parameters + ); + console.log(result); +} + +upsertDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertForwardingRuleInADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertForwardingRuleInADnsForwardingRuleset.ts new file mode 100644 index 000000000000..1d5b69819d4a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertForwardingRuleInADnsForwardingRuleset.ts @@ -0,0 +1,48 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a forwarding rule in a DNS forwarding ruleset. + * + * @summary Creates or updates a forwarding rule in a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json + */ +import { + ForwardingRule, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertForwardingRuleInADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const forwardingRuleName = "sampleForwardingRule"; + const parameters: ForwardingRule = { + domainName: "contoso.com.", + forwardingRuleState: "Enabled", + metadata: { additionalProp1: "value1" }, + targetDnsServers: [ + { ipAddress: "10.0.0.1", port: 53 }, + { ipAddress: "10.0.0.2", port: 53 } + ] + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.forwardingRules.createOrUpdate( + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters + ); + console.log(result); +} + +upsertForwardingRuleInADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertInboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertInboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..b61fe7d98d9f --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertInboundEndpointForDnsResolver.ts @@ -0,0 +1,53 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates an inbound endpoint for a DNS resolver. + * + * @summary Creates or updates an inbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json + */ +import { + InboundEndpoint, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertInboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const inboundEndpointName = "sampleInboundEndpoint"; + const parameters: InboundEndpoint = { + ipConfigurations: [ + { + privateIpAddress: "255.255.255.255", + privateIpAllocationMethod: "Static", + subnet: { + id: + "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + } + } + ], + location: "westus2", + tags: { key1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.inboundEndpoints.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters + ); + console.log(result); +} + +upsertInboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertOutboundEndpointForDnsResolver.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertOutboundEndpointForDnsResolver.ts new file mode 100644 index 000000000000..4d4a55ac9d91 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertOutboundEndpointForDnsResolver.ts @@ -0,0 +1,47 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates an outbound endpoint for a DNS resolver. + * + * @summary Creates or updates an outbound endpoint for a DNS resolver. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json + */ +import { + OutboundEndpoint, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertOutboundEndpointForDnsResolver() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsResolverName = "sampleDnsResolver"; + const outboundEndpointName = "sampleOutboundEndpoint"; + const parameters: OutboundEndpoint = { + location: "westus2", + subnet: { + id: + "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + tags: { key1: "value1" } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.outboundEndpoints.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters + ); + console.log(result); +} + +upsertOutboundEndpointForDnsResolver().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertVirtualNetworkLinkToADnsForwardingRuleset.ts b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertVirtualNetworkLinkToADnsForwardingRuleset.ts new file mode 100644 index 000000000000..891f1b352481 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/src/upsertVirtualNetworkLinkToADnsForwardingRuleset.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +/** + * This sample demonstrates how to Creates or updates a virtual network link to a DNS forwarding ruleset. + * + * @summary Creates or updates a virtual network link to a DNS forwarding ruleset. + * x-ms-original-file: specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json + */ +import { + VirtualNetworkLink, + DnsResolverManagementClient +} from "@azure/arm-dnsresolver"; +import { DefaultAzureCredential } from "@azure/identity"; + +async function upsertVirtualNetworkLinkToADnsForwardingRuleset() { + const subscriptionId = "abdd4249-9f34-4cc6-8e42-c2e32110603e"; + const resourceGroupName = "sampleResourceGroup"; + const dnsForwardingRulesetName = "sampleDnsForwardingRuleset"; + const virtualNetworkLinkName = "sampleVirtualNetworkLink"; + const parameters: VirtualNetworkLink = { + metadata: { additionalProp1: "value1" }, + virtualNetwork: { + id: + "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + } + }; + const credential = new DefaultAzureCredential(); + const client = new DnsResolverManagementClient(credential, subscriptionId); + const result = await client.virtualNetworkLinks.beginCreateOrUpdateAndWait( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters + ); + console.log(result); +} + +upsertVirtualNetworkLinkToADnsForwardingRuleset().catch(console.error); diff --git a/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/tsconfig.json b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/tsconfig.json new file mode 100644 index 000000000000..416c2dd82e00 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/samples/v1-beta/typescript/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2018", + "module": "commonjs", + "moduleResolution": "node", + "resolveJsonModule": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "alwaysStrict": true, + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**.ts" + ] +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/dnsResolverManagementClient.ts b/sdk/dnsresolver/arm-dnsresolver/src/dnsResolverManagementClient.ts new file mode 100644 index 000000000000..0fe54e78a431 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/dnsResolverManagementClient.ts @@ -0,0 +1,99 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { + DnsResolversImpl, + InboundEndpointsImpl, + OutboundEndpointsImpl, + DnsForwardingRulesetsImpl, + ForwardingRulesImpl, + VirtualNetworkLinksImpl +} from "./operations"; +import { + DnsResolvers, + InboundEndpoints, + OutboundEndpoints, + DnsForwardingRulesets, + ForwardingRules, + VirtualNetworkLinks +} from "./operationsInterfaces"; +import { DnsResolverManagementClientOptionalParams } from "./models"; + +export class DnsResolverManagementClient extends coreClient.ServiceClient { + $host: string; + subscriptionId: string; + apiVersion: string; + + /** + * Initializes a new instance of the DnsResolverManagementClient class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId The ID of the target subscription. + * @param options The parameter options + */ + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: DnsResolverManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); + } + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); + } + + // Initializing default values for options + if (!options) { + options = {}; + } + const defaults: DnsResolverManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; + + const packageDetails = `azsdk-js-arm-dnsresolver/1.0.0-beta.1`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; + + if (!options.credentialScopes) { + options.credentialScopes = ["https://management.azure.com/.default"]; + } + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "https://management.azure.com" + }; + super(optionsWithDefaults); + // Parameter assignments + this.subscriptionId = subscriptionId; + + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2020-04-01-preview"; + this.dnsResolvers = new DnsResolversImpl(this); + this.inboundEndpoints = new InboundEndpointsImpl(this); + this.outboundEndpoints = new OutboundEndpointsImpl(this); + this.dnsForwardingRulesets = new DnsForwardingRulesetsImpl(this); + this.forwardingRules = new ForwardingRulesImpl(this); + this.virtualNetworkLinks = new VirtualNetworkLinksImpl(this); + } + + dnsResolvers: DnsResolvers; + inboundEndpoints: InboundEndpoints; + outboundEndpoints: OutboundEndpoints; + dnsForwardingRulesets: DnsForwardingRulesets; + forwardingRules: ForwardingRules; + virtualNetworkLinks: VirtualNetworkLinks; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/index.ts b/sdk/dnsresolver/arm-dnsresolver/src/index.ts new file mode 100644 index 000000000000..ddf5c950d62a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/index.ts @@ -0,0 +1,12 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +/// +export * from "./models"; +export { DnsResolverManagementClient } from "./dnsResolverManagementClient"; +export * from "./operationsInterfaces"; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/lroImpl.ts b/sdk/dnsresolver/arm-dnsresolver/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/lroImpl.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { LongRunningOperation, LroResponse } from "@azure/core-lro"; + +export class LroImpl implements LongRunningOperation { + constructor( + private sendOperationFn: (args: any, spec: any) => Promise>, + private args: Record, + private spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record, + public requestPath: string = spec.path!, + public requestMethod: string = spec.httpMethod + ) {} + public async sendInitialRequest(): Promise> { + return this.sendOperationFn(this.args, this.spec); + } + public async sendPollRequest(path: string): Promise> { + const { requestBody, ...restSpec } = this.spec; + return this.sendOperationFn(this.args, { + ...restSpec, + path, + httpMethod: "GET" + }); + } +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/models/index.ts b/sdk/dnsresolver/arm-dnsresolver/src/models/index.ts new file mode 100644 index 000000000000..fbec1390c49d --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/models/index.ts @@ -0,0 +1,971 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import * as coreClient from "@azure/core-client"; + +/** Reference to another ARM resource. */ +export interface SubResource { + /** Resource ID. */ + id?: string; +} + +/** Metadata pertaining to creation and last modification of the resource. */ +export interface SystemData { + /** The identity that created the resource. */ + createdBy?: string; + /** The type of identity that created the resource. */ + createdByType?: CreatedByType; + /** The timestamp of resource creation (UTC). */ + createdAt?: Date; + /** The identity that last modified the resource. */ + lastModifiedBy?: string; + /** The type of identity that last modified the resource. */ + lastModifiedByType?: CreatedByType; + /** The timestamp of resource last modification (UTC) */ + lastModifiedAt?: Date; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface Resource { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + +/** An error message */ +export interface CloudError { + /** The error message body */ + error?: CloudErrorBody; +} + +/** The body of an error message */ +export interface CloudErrorBody { + /** The error code */ + code?: string; + /** A description of what caused the error */ + message?: string; + /** The target resource of the error message */ + target?: string; + /** Extra error information */ + details?: CloudErrorBody[]; +} + +/** Describes a DNS resolver for PATCH operation. */ +export interface DnsResolverPatch { + /** Tags for DNS Resolver. */ + tags?: { [propertyName: string]: string }; +} + +/** The response to an enumeration operation on DNS resolvers. */ +export interface DnsResolverListResult { + /** Enumeration of the DNS resolvers. */ + value?: DnsResolver[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** IP configuration. */ +export interface IpConfiguration { + /** The reference to the subnet bound to the IP configuration. */ + subnet?: SubResource; + /** Private IP address of the IP configuration. */ + privateIpAddress?: string; + /** Private IP address allocation method. */ + privateIpAllocationMethod?: IpAllocationMethod; +} + +/** Describes an inbound endpoint for a DNS resolver for PATCH operation. */ +export interface InboundEndpointPatch { + /** Tags for inbound endpoint. */ + tags?: { [propertyName: string]: string }; +} + +/** The response to an enumeration operation on inbound endpoints for a DNS resolver. */ +export interface InboundEndpointListResult { + /** Enumeration of the inbound endpoints for a DNS resolver. */ + value?: InboundEndpoint[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Describes an outbound endpoint for a DNS resolver for PATCH operation. */ +export interface OutboundEndpointPatch { + /** Tags for outbound endpoint. */ + tags?: { [propertyName: string]: string }; +} + +/** The response to an enumeration operation on outbound endpoints for a DNS resolver. */ +export interface OutboundEndpointListResult { + /** Enumeration of the outbound endpoints for a DNS resolver. */ + value?: OutboundEndpoint[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Describes a DNS forwarding ruleset PATCH operation. */ +export interface DnsForwardingRulesetPatch { + /** Tags for DNS Resolver. */ + tags?: { [propertyName: string]: string }; +} + +/** The response to an enumeration operation on DNS forwarding rulesets. */ +export interface DnsForwardingRulesetListResult { + /** Enumeration of the DNS forwarding rulesets. */ + value?: DnsForwardingRuleset[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Describes a server to forward the DNS queries to. */ +export interface TargetDnsServer { + /** DNS server IP address. */ + ipAddress?: string; + /** DNS server port. */ + port?: number; +} + +/** Describes a forwarding rule for PATCH operation. */ +export interface ForwardingRulePatch { + /** DNS servers to forward the DNS query to. */ + targetDnsServers?: TargetDnsServer[]; + /** Metadata attached to the forwarding rule. */ + metadata?: { [propertyName: string]: string }; + /** The state of forwarding rule. */ + forwardingRuleState?: ForwardingRuleState; +} + +/** The response to an enumeration operation on forwarding rules within a DNS forwarding ruleset. */ +export interface ForwardingRuleListResult { + /** Enumeration of the forwarding rules. */ + value?: ForwardingRule[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Describes a virtual network link for PATCH operation. */ +export interface VirtualNetworkLinkPatch { + /** Metadata attached to the virtual network link. */ + metadata?: { [propertyName: string]: string }; +} + +/** The response to an enumeration operation on virtual network links. */ +export interface VirtualNetworkLinkListResult { + /** Enumeration of the virtual network links. */ + value?: VirtualNetworkLink[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** The response to an enumeration operation on sub-resources. */ +export interface SubResourceListResult { + /** Enumeration of the sub-resources. */ + value?: SubResource[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** The response to an enumeration operation on Virtual Network DNS Forwarding Ruleset. */ +export interface VirtualNetworkDnsForwardingRulesetListResult { + /** Enumeration of the Virtual Network DNS Forwarding Ruleset. */ + value?: VirtualNetworkDnsForwardingRuleset[]; + /** + * The continuation token for the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Reference to DNS forwarding ruleset and associated virtual network link. */ +export interface VirtualNetworkDnsForwardingRuleset { + /** DNS Forwarding Ruleset Resource ID. */ + id?: string; + /** The reference to the virtual network link. */ + virtualNetworkLink?: SubResource; +} + +/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ +export type TrackedResource = Resource & { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + location: string; +}; + +/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ +export type ProxyResource = Resource & {}; + +/** Describes a DNS resolver. */ +export type DnsResolver = TrackedResource & { + /** + * ETag of the DNS resolver. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The reference to the virtual network. This cannot be changed after creation. */ + virtualNetwork?: SubResource; + /** + * The current status of the DNS resolver. This is a read-only property and any attempt to set this value will be ignored. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly dnsResolverState?: DnsResolverState; + /** + * The current provisioning state of the DNS resolver. This is a read-only property and any attempt to set this value will be ignored. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * The resourceGuid property of the DNS resolver resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +}; + +/** Describes an inbound endpoint for a DNS resolver. */ +export type InboundEndpoint = TrackedResource & { + /** + * ETag of the inbound endpoint. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** IP configurations for the inbound endpoint. */ + ipConfigurations?: IpConfiguration[]; + /** + * The current provisioning state of the inbound endpoint. This is a read-only property and any attempt to set this value will be ignored. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * The resourceGuid property of the inbound endpoint resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +}; + +/** Describes an outbound endpoint for a DNS resolver. */ +export type OutboundEndpoint = TrackedResource & { + /** + * ETag of the outbound endpoint. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The reference to the subnet used for the outbound endpoint. */ + subnet?: SubResource; + /** + * The current provisioning state of the outbound endpoint. This is a read-only property and any attempt to set this value will be ignored. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * The resourceGuid property of the outbound endpoint resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +}; + +/** Describes a DNS forwarding ruleset. */ +export type DnsForwardingRuleset = TrackedResource & { + /** + * ETag of the DNS forwarding ruleset. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The reference to the DNS resolver outbound endpoints that are used to route DNS queries matching the forwarding rules in the ruleset to the target DNS servers. */ + dnsResolverOutboundEndpoints?: SubResource[]; + /** + * The current provisioning state of the DNS forwarding ruleset. This is a read-only property and any attempt to set this value will be ignored. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * The resourceGuid for the DNS forwarding ruleset. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +}; + +/** Describes a forwarding rule within a DNS forwarding ruleset. */ +export type ForwardingRule = ProxyResource & { + /** + * ETag of the forwarding rule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The domain name for the forwarding rule. */ + domainName?: string; + /** DNS servers to forward the DNS query to. */ + targetDnsServers?: TargetDnsServer[]; + /** Metadata attached to the forwarding rule. */ + metadata?: { [propertyName: string]: string }; + /** The state of forwarding rule. */ + forwardingRuleState?: ForwardingRuleState; + /** + * The current provisioning state of the forwarding rule. This is a read-only property and any attempt to set this value will be ignored. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; +}; + +/** Describes a virtual network link. */ +export type VirtualNetworkLink = ProxyResource & { + /** + * ETag of the virtual network link. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The reference to the virtual network. This cannot be changed after creation. */ + virtualNetwork?: SubResource; + /** Metadata attached to the virtual network link. */ + metadata?: { [propertyName: string]: string }; + /** + * The current provisioning state of the virtual network link. This is a read-only property and any attempt to set this value will be ignored. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; +}; + +/** Known values of {@link DnsResolverState} that the service accepts. */ +export enum KnownDnsResolverState { + Connected = "Connected", + Disconnected = "Disconnected" +} + +/** + * Defines values for DnsResolverState. \ + * {@link KnownDnsResolverState} can be used interchangeably with DnsResolverState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Connected** \ + * **Disconnected** + */ +export type DnsResolverState = string; + +/** Known values of {@link ProvisioningState} that the service accepts. */ +export enum KnownProvisioningState { + Creating = "Creating", + Updating = "Updating", + Deleting = "Deleting", + Succeeded = "Succeeded", + Failed = "Failed", + Canceled = "Canceled" +} + +/** + * Defines values for ProvisioningState. \ + * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Deleting** \ + * **Succeeded** \ + * **Failed** \ + * **Canceled** + */ +export type ProvisioningState = string; + +/** Known values of {@link CreatedByType} that the service accepts. */ +export enum KnownCreatedByType { + User = "User", + Application = "Application", + ManagedIdentity = "ManagedIdentity", + Key = "Key" +} + +/** + * Defines values for CreatedByType. \ + * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Application** \ + * **ManagedIdentity** \ + * **Key** + */ +export type CreatedByType = string; + +/** Known values of {@link IpAllocationMethod} that the service accepts. */ +export enum KnownIpAllocationMethod { + Static = "Static", + Dynamic = "Dynamic" +} + +/** + * Defines values for IpAllocationMethod. \ + * {@link KnownIpAllocationMethod} can be used interchangeably with IpAllocationMethod, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Static** \ + * **Dynamic** + */ +export type IpAllocationMethod = string; + +/** Known values of {@link ForwardingRuleState} that the service accepts. */ +export enum KnownForwardingRuleState { + Enabled = "Enabled", + Disabled = "Disabled" +} + +/** + * Defines values for ForwardingRuleState. \ + * {@link KnownForwardingRuleState} can be used interchangeably with ForwardingRuleState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** + */ +export type ForwardingRuleState = string; + +/** Optional parameters. */ +export interface DnsResolversCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */ + ifNoneMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type DnsResolversCreateOrUpdateResponse = DnsResolver; + +/** Optional parameters. */ +export interface DnsResolversUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the update operation. */ +export type DnsResolversUpdateResponse = DnsResolver; + +/** Optional parameters. */ +export interface DnsResolversDeleteOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface DnsResolversGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DnsResolversGetResponse = DnsResolver; + +/** Optional parameters. */ +export interface DnsResolversListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByResourceGroup operation. */ +export type DnsResolversListByResourceGroupResponse = DnsResolverListResult; + +/** Optional parameters. */ +export interface DnsResolversListOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the list operation. */ +export type DnsResolversListResponse = DnsResolverListResult; + +/** Optional parameters. */ +export interface DnsResolversListByVirtualNetworkOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByVirtualNetwork operation. */ +export type DnsResolversListByVirtualNetworkResponse = SubResourceListResult; + +/** Optional parameters. */ +export interface DnsResolversListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type DnsResolversListByResourceGroupNextResponse = DnsResolverListResult; + +/** Optional parameters. */ +export interface DnsResolversListNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listNext operation. */ +export type DnsResolversListNextResponse = DnsResolverListResult; + +/** Optional parameters. */ +export interface DnsResolversListByVirtualNetworkNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByVirtualNetworkNext operation. */ +export type DnsResolversListByVirtualNetworkNextResponse = SubResourceListResult; + +/** Optional parameters. */ +export interface InboundEndpointsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */ + ifNoneMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type InboundEndpointsCreateOrUpdateResponse = InboundEndpoint; + +/** Optional parameters. */ +export interface InboundEndpointsUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the update operation. */ +export type InboundEndpointsUpdateResponse = InboundEndpoint; + +/** Optional parameters. */ +export interface InboundEndpointsDeleteOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface InboundEndpointsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type InboundEndpointsGetResponse = InboundEndpoint; + +/** Optional parameters. */ +export interface InboundEndpointsListOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the list operation. */ +export type InboundEndpointsListResponse = InboundEndpointListResult; + +/** Optional parameters. */ +export interface InboundEndpointsListNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listNext operation. */ +export type InboundEndpointsListNextResponse = InboundEndpointListResult; + +/** Optional parameters. */ +export interface OutboundEndpointsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */ + ifNoneMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type OutboundEndpointsCreateOrUpdateResponse = OutboundEndpoint; + +/** Optional parameters. */ +export interface OutboundEndpointsUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the update operation. */ +export type OutboundEndpointsUpdateResponse = OutboundEndpoint; + +/** Optional parameters. */ +export interface OutboundEndpointsDeleteOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface OutboundEndpointsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type OutboundEndpointsGetResponse = OutboundEndpoint; + +/** Optional parameters. */ +export interface OutboundEndpointsListOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the list operation. */ +export type OutboundEndpointsListResponse = OutboundEndpointListResult; + +/** Optional parameters. */ +export interface OutboundEndpointsListNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listNext operation. */ +export type OutboundEndpointsListNextResponse = OutboundEndpointListResult; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */ + ifNoneMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type DnsForwardingRulesetsCreateOrUpdateResponse = DnsForwardingRuleset; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the update operation. */ +export type DnsForwardingRulesetsUpdateResponse = DnsForwardingRuleset; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsDeleteOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface DnsForwardingRulesetsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DnsForwardingRulesetsGetResponse = DnsForwardingRuleset; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByResourceGroup operation. */ +export type DnsForwardingRulesetsListByResourceGroupResponse = DnsForwardingRulesetListResult; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsListOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the list operation. */ +export type DnsForwardingRulesetsListResponse = DnsForwardingRulesetListResult; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsListByVirtualNetworkOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByVirtualNetwork operation. */ +export type DnsForwardingRulesetsListByVirtualNetworkResponse = VirtualNetworkDnsForwardingRulesetListResult; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type DnsForwardingRulesetsListByResourceGroupNextResponse = DnsForwardingRulesetListResult; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsListNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listNext operation. */ +export type DnsForwardingRulesetsListNextResponse = DnsForwardingRulesetListResult; + +/** Optional parameters. */ +export interface DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listByVirtualNetworkNext operation. */ +export type DnsForwardingRulesetsListByVirtualNetworkNextResponse = VirtualNetworkDnsForwardingRulesetListResult; + +/** Optional parameters. */ +export interface ForwardingRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */ + ifNoneMatch?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type ForwardingRulesCreateOrUpdateResponse = ForwardingRule; + +/** Optional parameters. */ +export interface ForwardingRulesUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; +} + +/** Contains response data for the update operation. */ +export type ForwardingRulesUpdateResponse = ForwardingRule; + +/** Optional parameters. */ +export interface ForwardingRulesDeleteOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; +} + +/** Optional parameters. */ +export interface ForwardingRulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ForwardingRulesGetResponse = ForwardingRule; + +/** Optional parameters. */ +export interface ForwardingRulesListOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the list operation. */ +export type ForwardingRulesListResponse = ForwardingRuleListResult; + +/** Optional parameters. */ +export interface ForwardingRulesListNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listNext operation. */ +export type ForwardingRulesListNextResponse = ForwardingRuleListResult; + +/** Optional parameters. */ +export interface VirtualNetworkLinksCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */ + ifNoneMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type VirtualNetworkLinksCreateOrUpdateResponse = VirtualNetworkLink; + +/** Optional parameters. */ +export interface VirtualNetworkLinksUpdateOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the update operation. */ +export type VirtualNetworkLinksUpdateResponse = VirtualNetworkLink; + +/** Optional parameters. */ +export interface VirtualNetworkLinksDeleteOptionalParams + extends coreClient.OperationOptions { + /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */ + ifMatch?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface VirtualNetworkLinksGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type VirtualNetworkLinksGetResponse = VirtualNetworkLink; + +/** Optional parameters. */ +export interface VirtualNetworkLinksListOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the list operation. */ +export type VirtualNetworkLinksListResponse = VirtualNetworkLinkListResult; + +/** Optional parameters. */ +export interface VirtualNetworkLinksListNextOptionalParams + extends coreClient.OperationOptions { + /** The maximum number of results to return. If not specified, returns up to 100 results. */ + top?: number; +} + +/** Contains response data for the listNext operation. */ +export type VirtualNetworkLinksListNextResponse = VirtualNetworkLinkListResult; + +/** Optional parameters. */ +export interface DnsResolverManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/models/mappers.ts b/sdk/dnsresolver/arm-dnsresolver/src/models/mappers.ts new file mode 100644 index 000000000000..afd11d6d2352 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/models/mappers.ts @@ -0,0 +1,903 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import * as coreClient from "@azure/core-client"; + +export const SubResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubResource", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const SystemData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SystemData", + modelProperties: { + createdBy: { + serializedName: "createdBy", + type: { + name: "String" + } + }, + createdByType: { + serializedName: "createdByType", + type: { + name: "String" + } + }, + createdAt: { + serializedName: "createdAt", + type: { + name: "DateTime" + } + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", + type: { + name: "String" + } + }, + lastModifiedByType: { + serializedName: "lastModifiedByType", + type: { + name: "String" + } + }, + lastModifiedAt: { + serializedName: "lastModifiedAt", + type: { + name: "DateTime" + } + } + } + } +}; + +export const Resource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const CloudError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "CloudErrorBody" + } + } + } + } +}; + +export const CloudErrorBody: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudErrorBody", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + }, + target: { + serializedName: "target", + type: { + name: "String" + } + }, + details: { + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CloudErrorBody" + } + } + } + } + } + } +}; + +export const DnsResolverPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DnsResolverPatch", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const DnsResolverListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DnsResolverListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DnsResolver" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const IpConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpConfiguration", + modelProperties: { + subnet: { + serializedName: "subnet", + type: { + name: "Composite", + className: "SubResource" + } + }, + privateIpAddress: { + serializedName: "privateIpAddress", + type: { + name: "String" + } + }, + privateIpAllocationMethod: { + defaultValue: "Dynamic", + serializedName: "privateIpAllocationMethod", + type: { + name: "String" + } + } + } + } +}; + +export const InboundEndpointPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InboundEndpointPatch", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const InboundEndpointListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InboundEndpointListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InboundEndpoint" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const OutboundEndpointPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OutboundEndpointPatch", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const OutboundEndpointListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OutboundEndpointListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OutboundEndpoint" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DnsForwardingRulesetPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DnsForwardingRulesetPatch", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const DnsForwardingRulesetListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DnsForwardingRulesetListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DnsForwardingRuleset" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TargetDnsServer: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TargetDnsServer", + modelProperties: { + ipAddress: { + serializedName: "ipAddress", + type: { + name: "String" + } + }, + port: { + defaultValue: 53, + serializedName: "port", + type: { + name: "Number" + } + } + } + } +}; + +export const ForwardingRulePatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ForwardingRulePatch", + modelProperties: { + targetDnsServers: { + serializedName: "properties.targetDnsServers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TargetDnsServer" + } + } + } + }, + metadata: { + serializedName: "properties.metadata", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + forwardingRuleState: { + serializedName: "properties.forwardingRuleState", + type: { + name: "String" + } + } + } + } +}; + +export const ForwardingRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ForwardingRuleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ForwardingRule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkLinkPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkLinkPatch", + modelProperties: { + metadata: { + serializedName: "properties.metadata", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const VirtualNetworkLinkListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkLinkListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkLink" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SubResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubResourceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkDnsForwardingRulesetListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkDnsForwardingRulesetListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkDnsForwardingRuleset" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkDnsForwardingRuleset: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkDnsForwardingRuleset", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + virtualNetworkLink: { + serializedName: "properties.virtualNetworkLink", + type: { + name: "Composite", + className: "SubResource" + } + } + } + } +}; + +export const TrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + location: { + serializedName: "location", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + +export const DnsResolver: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DnsResolver", + modelProperties: { + ...TrackedResource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + virtualNetwork: { + serializedName: "properties.virtualNetwork", + type: { + name: "Composite", + className: "SubResource" + } + }, + dnsResolverState: { + serializedName: "properties.dnsResolverState", + readOnly: true, + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const InboundEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InboundEndpoint", + modelProperties: { + ...TrackedResource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + ipConfigurations: { + serializedName: "properties.ipConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IpConfiguration" + } + } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const OutboundEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OutboundEndpoint", + modelProperties: { + ...TrackedResource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + subnet: { + serializedName: "properties.subnet", + type: { + name: "Composite", + className: "SubResource" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DnsForwardingRuleset: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DnsForwardingRuleset", + modelProperties: { + ...TrackedResource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + dnsResolverOutboundEndpoints: { + serializedName: "properties.dnsResolverOutboundEndpoints", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ForwardingRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ForwardingRule", + modelProperties: { + ...ProxyResource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + domainName: { + serializedName: "properties.domainName", + type: { + name: "String" + } + }, + targetDnsServers: { + serializedName: "properties.targetDnsServers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TargetDnsServer" + } + } + } + }, + metadata: { + serializedName: "properties.metadata", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + forwardingRuleState: { + serializedName: "properties.forwardingRuleState", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkLink: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkLink", + modelProperties: { + ...ProxyResource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + virtualNetwork: { + serializedName: "properties.virtualNetwork", + type: { + name: "Composite", + className: "SubResource" + } + }, + metadata: { + serializedName: "properties.metadata", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/models/parameters.ts b/sdk/dnsresolver/arm-dnsresolver/src/models/parameters.ts new file mode 100644 index 000000000000..acc85951709c --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/models/parameters.ts @@ -0,0 +1,283 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + DnsResolver as DnsResolverMapper, + DnsResolverPatch as DnsResolverPatchMapper, + InboundEndpoint as InboundEndpointMapper, + InboundEndpointPatch as InboundEndpointPatchMapper, + OutboundEndpoint as OutboundEndpointMapper, + OutboundEndpointPatch as OutboundEndpointPatchMapper, + DnsForwardingRuleset as DnsForwardingRulesetMapper, + DnsForwardingRulesetPatch as DnsForwardingRulesetPatchMapper, + ForwardingRule as ForwardingRuleMapper, + ForwardingRulePatch as ForwardingRulePatchMapper, + VirtualNetworkLink as VirtualNetworkLinkMapper, + VirtualNetworkLinkPatch as VirtualNetworkLinkPatchMapper +} from "../models/mappers"; + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", + type: { + name: "String" + } + } +}; + +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: DnsResolverMapper +}; + +export const accept: OperationParameter = { + parameterPath: "accept", + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", + type: { + name: "String" + } + } +}; + +export const $host: OperationURLParameter = { + parameterPath: "$host", + mapper: { + serializedName: "$host", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", + mapper: { + constraints: { + MinLength: 1 + }, + serializedName: "subscriptionId", + required: true, + type: { + name: "String" + } + } +}; + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + constraints: { + MaxLength: 90, + MinLength: 1 + }, + serializedName: "resourceGroupName", + required: true, + type: { + name: "String" + } + } +}; + +export const dnsResolverName: OperationURLParameter = { + parameterPath: "dnsResolverName", + mapper: { + serializedName: "dnsResolverName", + required: true, + type: { + name: "String" + } + } +}; + +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2020-04-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const ifMatch: OperationParameter = { + parameterPath: ["options", "ifMatch"], + mapper: { + serializedName: "If-Match", + type: { + name: "String" + } + } +}; + +export const ifNoneMatch: OperationParameter = { + parameterPath: ["options", "ifNoneMatch"], + mapper: { + serializedName: "If-None-Match", + type: { + name: "String" + } + } +}; + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: DnsResolverPatchMapper +}; + +export const top: OperationQueryParameter = { + parameterPath: ["options", "top"], + mapper: { + serializedName: "$top", + type: { + name: "Number" + } + } +}; + +export const virtualNetworkName: OperationURLParameter = { + parameterPath: "virtualNetworkName", + mapper: { + serializedName: "virtualNetworkName", + required: true, + type: { + name: "String" + } + } +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", + mapper: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: InboundEndpointMapper +}; + +export const inboundEndpointName: OperationURLParameter = { + parameterPath: "inboundEndpointName", + mapper: { + serializedName: "inboundEndpointName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: InboundEndpointPatchMapper +}; + +export const parameters4: OperationParameter = { + parameterPath: "parameters", + mapper: OutboundEndpointMapper +}; + +export const outboundEndpointName: OperationURLParameter = { + parameterPath: "outboundEndpointName", + mapper: { + serializedName: "outboundEndpointName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: OutboundEndpointPatchMapper +}; + +export const parameters6: OperationParameter = { + parameterPath: "parameters", + mapper: DnsForwardingRulesetMapper +}; + +export const dnsForwardingRulesetName: OperationURLParameter = { + parameterPath: "dnsForwardingRulesetName", + mapper: { + serializedName: "dnsForwardingRulesetName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters7: OperationParameter = { + parameterPath: "parameters", + mapper: DnsForwardingRulesetPatchMapper +}; + +export const parameters8: OperationParameter = { + parameterPath: "parameters", + mapper: ForwardingRuleMapper +}; + +export const forwardingRuleName: OperationURLParameter = { + parameterPath: "forwardingRuleName", + mapper: { + serializedName: "forwardingRuleName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters9: OperationParameter = { + parameterPath: "parameters", + mapper: ForwardingRulePatchMapper +}; + +export const parameters10: OperationParameter = { + parameterPath: "parameters", + mapper: VirtualNetworkLinkMapper +}; + +export const virtualNetworkLinkName: OperationURLParameter = { + parameterPath: "virtualNetworkLinkName", + mapper: { + serializedName: "virtualNetworkLinkName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters11: OperationParameter = { + parameterPath: "parameters", + mapper: VirtualNetworkLinkPatchMapper +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operations/dnsForwardingRulesets.ts b/sdk/dnsresolver/arm-dnsresolver/src/operations/dnsForwardingRulesets.ts new file mode 100644 index 000000000000..06a1cc88b8d6 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operations/dnsForwardingRulesets.ts @@ -0,0 +1,838 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DnsForwardingRulesets } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DnsResolverManagementClient } from "../dnsResolverManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + DnsForwardingRuleset, + DnsForwardingRulesetsListByResourceGroupNextOptionalParams, + DnsForwardingRulesetsListByResourceGroupOptionalParams, + DnsForwardingRulesetsListNextOptionalParams, + DnsForwardingRulesetsListOptionalParams, + VirtualNetworkDnsForwardingRuleset, + DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams, + DnsForwardingRulesetsListByVirtualNetworkOptionalParams, + DnsForwardingRulesetsCreateOrUpdateOptionalParams, + DnsForwardingRulesetsCreateOrUpdateResponse, + DnsForwardingRulesetPatch, + DnsForwardingRulesetsUpdateOptionalParams, + DnsForwardingRulesetsUpdateResponse, + DnsForwardingRulesetsDeleteOptionalParams, + DnsForwardingRulesetsGetOptionalParams, + DnsForwardingRulesetsGetResponse, + DnsForwardingRulesetsListByResourceGroupResponse, + DnsForwardingRulesetsListResponse, + DnsForwardingRulesetsListByVirtualNetworkResponse, + DnsForwardingRulesetsListByResourceGroupNextResponse, + DnsForwardingRulesetsListNextResponse, + DnsForwardingRulesetsListByVirtualNetworkNextResponse +} from "../models"; + +/// +/** Class containing DnsForwardingRulesets operations. */ +export class DnsForwardingRulesetsImpl implements DnsForwardingRulesets { + private readonly client: DnsResolverManagementClient; + + /** + * Initialize a new instance of the class DnsForwardingRulesets class. + * @param client Reference to the service client + */ + constructor(client: DnsResolverManagementClient) { + this.client = client; + } + + /** + * Lists DNS forwarding rulesets within a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: DnsForwardingRulesetsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupPagingPage(resourceGroupName, options); + } + }; + } + + private async *listByResourceGroupPagingPage( + resourceGroupName: string, + options?: DnsForwardingRulesetsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( + resourceGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: DnsForwardingRulesetsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * Lists DNS forwarding rulesets in all resource groups of a subscription. + * @param options The options parameters. + */ + public list( + options?: DnsForwardingRulesetsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: DnsForwardingRulesetsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: DnsForwardingRulesetsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + public listByVirtualNetwork( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByVirtualNetworkPagingAll( + resourceGroupName, + virtualNetworkName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByVirtualNetworkPagingPage( + resourceGroupName, + virtualNetworkName, + options + ); + } + }; + } + + private async *listByVirtualNetworkPagingPage( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams + ): AsyncIterableIterator { + let result = await this._listByVirtualNetwork( + resourceGroupName, + virtualNetworkName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByVirtualNetworkNext( + resourceGroupName, + virtualNetworkName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByVirtualNetworkPagingAll( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByVirtualNetworkPagingPage( + resourceGroupName, + virtualNetworkName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRuleset, + options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsForwardingRulesetsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsForwardingRulesetName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRuleset, + options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + dnsForwardingRulesetName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRulesetPatch, + options?: DnsForwardingRulesetsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsForwardingRulesetsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsForwardingRulesetName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRulesetPatch, + options?: DnsForwardingRulesetsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + dnsForwardingRulesetName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules + * within the ruleset will be deleted. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: DnsForwardingRulesetsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsForwardingRulesetName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules + * within the ruleset will be deleted. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: DnsForwardingRulesetsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + dnsForwardingRulesetName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a DNS forwarding ruleset properties. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: DnsForwardingRulesetsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsForwardingRulesetName, options }, + getOperationSpec + ); + } + + /** + * Lists DNS forwarding rulesets within a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: DnsForwardingRulesetsListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * Lists DNS forwarding rulesets in all resource groups of a subscription. + * @param options The options parameters. + */ + private _list( + options?: DnsForwardingRulesetsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + private _listByVirtualNetwork( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualNetworkName, options }, + listByVirtualNetworkOperationSpec + ); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. + */ + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: DnsForwardingRulesetsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: DnsForwardingRulesetsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } + + /** + * ListByVirtualNetworkNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param nextLink The nextLink from the previous successful call to the ListByVirtualNetwork method. + * @param options The options parameters. + */ + private _listByVirtualNetworkNext( + resourceGroupName: string, + virtualNetworkName: string, + nextLink: string, + options?: DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualNetworkName, nextLink, options }, + listByVirtualNetworkNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + 201: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + 202: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + 204: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters6, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + 201: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + 202: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + 204: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters7, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [Parameters.accept, Parameters.ifMatch], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsForwardingRuleset + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsForwardingRulesetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsForwardingRulesets", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsForwardingRulesetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByVirtualNetworkOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsForwardingRulesets", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkDnsForwardingRulesetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsForwardingRulesetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsForwardingRulesetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByVirtualNetworkNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkDnsForwardingRulesetListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.virtualNetworkName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operations/dnsResolvers.ts b/sdk/dnsresolver/arm-dnsresolver/src/operations/dnsResolvers.ts new file mode 100644 index 000000000000..29cbc13fcf77 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operations/dnsResolvers.ts @@ -0,0 +1,836 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DnsResolvers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DnsResolverManagementClient } from "../dnsResolverManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + DnsResolver, + DnsResolversListByResourceGroupNextOptionalParams, + DnsResolversListByResourceGroupOptionalParams, + DnsResolversListNextOptionalParams, + DnsResolversListOptionalParams, + SubResource, + DnsResolversListByVirtualNetworkNextOptionalParams, + DnsResolversListByVirtualNetworkOptionalParams, + DnsResolversCreateOrUpdateOptionalParams, + DnsResolversCreateOrUpdateResponse, + DnsResolverPatch, + DnsResolversUpdateOptionalParams, + DnsResolversUpdateResponse, + DnsResolversDeleteOptionalParams, + DnsResolversGetOptionalParams, + DnsResolversGetResponse, + DnsResolversListByResourceGroupResponse, + DnsResolversListResponse, + DnsResolversListByVirtualNetworkResponse, + DnsResolversListByResourceGroupNextResponse, + DnsResolversListNextResponse, + DnsResolversListByVirtualNetworkNextResponse +} from "../models"; + +/// +/** Class containing DnsResolvers operations. */ +export class DnsResolversImpl implements DnsResolvers { + private readonly client: DnsResolverManagementClient; + + /** + * Initialize a new instance of the class DnsResolvers class. + * @param client Reference to the service client + */ + constructor(client: DnsResolverManagementClient) { + this.client = client; + } + + /** + * Lists DNS resolvers within a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: DnsResolversListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupPagingPage(resourceGroupName, options); + } + }; + } + + private async *listByResourceGroupPagingPage( + resourceGroupName: string, + options?: DnsResolversListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( + resourceGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: DnsResolversListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * Lists DNS resolvers in all resource groups of a subscription. + * @param options The options parameters. + */ + public list( + options?: DnsResolversListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: DnsResolversListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: DnsResolversListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Lists DNS resolver resource IDs linked to a virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + public listByVirtualNetwork( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsResolversListByVirtualNetworkOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByVirtualNetworkPagingAll( + resourceGroupName, + virtualNetworkName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByVirtualNetworkPagingPage( + resourceGroupName, + virtualNetworkName, + options + ); + } + }; + } + + private async *listByVirtualNetworkPagingPage( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsResolversListByVirtualNetworkOptionalParams + ): AsyncIterableIterator { + let result = await this._listByVirtualNetwork( + resourceGroupName, + virtualNetworkName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByVirtualNetworkNext( + resourceGroupName, + virtualNetworkName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByVirtualNetworkPagingAll( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsResolversListByVirtualNetworkOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByVirtualNetworkPagingPage( + resourceGroupName, + virtualNetworkName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolver, + options?: DnsResolversCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsResolversCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsResolverName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolver, + options?: DnsResolversCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + dnsResolverName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolverPatch, + options?: DnsResolversUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsResolversUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsResolverName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolverPatch, + options?: DnsResolversUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + dnsResolverName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + dnsResolverName: string, + options?: DnsResolversDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsResolverName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + dnsResolverName: string, + options?: DnsResolversDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + dnsResolverName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets properties of a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsResolverName: string, + options?: DnsResolversGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsResolverName, options }, + getOperationSpec + ); + } + + /** + * Lists DNS resolvers within a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: DnsResolversListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * Lists DNS resolvers in all resource groups of a subscription. + * @param options The options parameters. + */ + private _list( + options?: DnsResolversListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Lists DNS resolver resource IDs linked to a virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + private _listByVirtualNetwork( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsResolversListByVirtualNetworkOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualNetworkName, options }, + listByVirtualNetworkOperationSpec + ); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. + */ + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: DnsResolversListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: DnsResolversListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } + + /** + * ListByVirtualNetworkNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param nextLink The nextLink from the previous successful call to the ListByVirtualNetwork method. + * @param options The options parameters. + */ + private _listByVirtualNetworkNext( + resourceGroupName: string, + virtualNetworkName: string, + nextLink: string, + options?: DnsResolversListByVirtualNetworkNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualNetworkName, nextLink, options }, + listByVirtualNetworkNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.DnsResolver + }, + 201: { + bodyMapper: Mappers.DnsResolver + }, + 202: { + bodyMapper: Mappers.DnsResolver + }, + 204: { + bodyMapper: Mappers.DnsResolver + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.DnsResolver + }, + 201: { + bodyMapper: Mappers.DnsResolver + }, + 202: { + bodyMapper: Mappers.DnsResolver + }, + 204: { + bodyMapper: Mappers.DnsResolver + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName + ], + headerParameters: [Parameters.accept, Parameters.ifMatch], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsResolver + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsResolverListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsResolvers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsResolverListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByVirtualNetworkOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsResolvers", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.SubResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsResolverListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DnsResolverListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByVirtualNetworkNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SubResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.virtualNetworkName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operations/forwardingRules.ts b/sdk/dnsresolver/arm-dnsresolver/src/operations/forwardingRules.ts new file mode 100644 index 000000000000..d425deddb472 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operations/forwardingRules.ts @@ -0,0 +1,406 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ForwardingRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DnsResolverManagementClient } from "../dnsResolverManagementClient"; +import { + ForwardingRule, + ForwardingRulesListNextOptionalParams, + ForwardingRulesListOptionalParams, + ForwardingRulesCreateOrUpdateOptionalParams, + ForwardingRulesCreateOrUpdateResponse, + ForwardingRulePatch, + ForwardingRulesUpdateOptionalParams, + ForwardingRulesUpdateResponse, + ForwardingRulesDeleteOptionalParams, + ForwardingRulesGetOptionalParams, + ForwardingRulesGetResponse, + ForwardingRulesListResponse, + ForwardingRulesListNextResponse +} from "../models"; + +/// +/** Class containing ForwardingRules operations. */ +export class ForwardingRulesImpl implements ForwardingRules { + private readonly client: DnsResolverManagementClient; + + /** + * Initialize a new instance of the class ForwardingRules class. + * @param client Reference to the service client + */ + constructor(client: DnsResolverManagementClient) { + this.client = client; + } + + /** + * Lists forwarding rules in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: ForwardingRulesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + dnsForwardingRulesetName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + dnsForwardingRulesetName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: ForwardingRulesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list( + resourceGroupName, + dnsForwardingRulesetName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + dnsForwardingRulesetName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: ForwardingRulesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + dnsForwardingRulesetName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates a forwarding rule in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + parameters: ForwardingRule, + options?: ForwardingRulesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Updates a forwarding rule in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + parameters: ForwardingRulePatch, + options?: ForwardingRulesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + parameters, + options + }, + updateOperationSpec + ); + } + + /** + * Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + options?: ForwardingRulesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + options + }, + deleteOperationSpec + ); + } + + /** + * Gets properties of a forwarding rule in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + options?: ForwardingRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + dnsForwardingRulesetName, + forwardingRuleName, + options + }, + getOperationSpec + ); + } + + /** + * Lists forwarding rules in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: ForwardingRulesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsForwardingRulesetName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + dnsForwardingRulesetName: string, + nextLink: string, + options?: ForwardingRulesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsForwardingRulesetName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ForwardingRule + }, + 201: { + bodyMapper: Mappers.ForwardingRule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters8, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.forwardingRuleName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.ForwardingRule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters9, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.forwardingRuleName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.forwardingRuleName + ], + headerParameters: [Parameters.accept, Parameters.ifMatch], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ForwardingRule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.forwardingRuleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ForwardingRuleListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ForwardingRuleListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operations/inboundEndpoints.ts b/sdk/dnsresolver/arm-dnsresolver/src/operations/inboundEndpoints.ts new file mode 100644 index 000000000000..693a5b2ddd8e --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operations/inboundEndpoints.ts @@ -0,0 +1,621 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { InboundEndpoints } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DnsResolverManagementClient } from "../dnsResolverManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + InboundEndpoint, + InboundEndpointsListNextOptionalParams, + InboundEndpointsListOptionalParams, + InboundEndpointsCreateOrUpdateOptionalParams, + InboundEndpointsCreateOrUpdateResponse, + InboundEndpointPatch, + InboundEndpointsUpdateOptionalParams, + InboundEndpointsUpdateResponse, + InboundEndpointsDeleteOptionalParams, + InboundEndpointsGetOptionalParams, + InboundEndpointsGetResponse, + InboundEndpointsListResponse, + InboundEndpointsListNextResponse +} from "../models"; + +/// +/** Class containing InboundEndpoints operations. */ +export class InboundEndpointsImpl implements InboundEndpoints { + private readonly client: DnsResolverManagementClient; + + /** + * Initialize a new instance of the class InboundEndpoints class. + * @param client Reference to the service client + */ + constructor(client: DnsResolverManagementClient) { + this.client = client; + } + + /** + * Lists inbound endpoints for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + dnsResolverName: string, + options?: InboundEndpointsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + dnsResolverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, dnsResolverName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + dnsResolverName: string, + options?: InboundEndpointsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, dnsResolverName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + dnsResolverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + dnsResolverName: string, + options?: InboundEndpointsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + dnsResolverName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpoint, + options?: InboundEndpointsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InboundEndpointsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpoint, + options?: InboundEndpointsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpointPatch, + options?: InboundEndpointsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InboundEndpointsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters, + options + }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpointPatch, + options?: InboundEndpointsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + options?: InboundEndpointsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsResolverName, inboundEndpointName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + options?: InboundEndpointsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + dnsResolverName, + inboundEndpointName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets properties of an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + options?: InboundEndpointsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsResolverName, inboundEndpointName, options }, + getOperationSpec + ); + } + + /** + * Lists inbound endpoints for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + dnsResolverName: string, + options?: InboundEndpointsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsResolverName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + dnsResolverName: string, + nextLink: string, + options?: InboundEndpointsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsResolverName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.InboundEndpoint + }, + 201: { + bodyMapper: Mappers.InboundEndpoint + }, + 202: { + bodyMapper: Mappers.InboundEndpoint + }, + 204: { + bodyMapper: Mappers.InboundEndpoint + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.inboundEndpointName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.InboundEndpoint + }, + 201: { + bodyMapper: Mappers.InboundEndpoint + }, + 202: { + bodyMapper: Mappers.InboundEndpoint + }, + 204: { + bodyMapper: Mappers.InboundEndpoint + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.inboundEndpointName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.inboundEndpointName + ], + headerParameters: [Parameters.accept, Parameters.ifMatch], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.InboundEndpoint + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.inboundEndpointName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.InboundEndpointListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.InboundEndpointListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operations/index.ts b/sdk/dnsresolver/arm-dnsresolver/src/operations/index.ts new file mode 100644 index 000000000000..2aee269b9413 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operations/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export * from "./dnsResolvers"; +export * from "./inboundEndpoints"; +export * from "./outboundEndpoints"; +export * from "./dnsForwardingRulesets"; +export * from "./forwardingRules"; +export * from "./virtualNetworkLinks"; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operations/outboundEndpoints.ts b/sdk/dnsresolver/arm-dnsresolver/src/operations/outboundEndpoints.ts new file mode 100644 index 000000000000..ba434afe053a --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operations/outboundEndpoints.ts @@ -0,0 +1,621 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { OutboundEndpoints } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DnsResolverManagementClient } from "../dnsResolverManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + OutboundEndpoint, + OutboundEndpointsListNextOptionalParams, + OutboundEndpointsListOptionalParams, + OutboundEndpointsCreateOrUpdateOptionalParams, + OutboundEndpointsCreateOrUpdateResponse, + OutboundEndpointPatch, + OutboundEndpointsUpdateOptionalParams, + OutboundEndpointsUpdateResponse, + OutboundEndpointsDeleteOptionalParams, + OutboundEndpointsGetOptionalParams, + OutboundEndpointsGetResponse, + OutboundEndpointsListResponse, + OutboundEndpointsListNextResponse +} from "../models"; + +/// +/** Class containing OutboundEndpoints operations. */ +export class OutboundEndpointsImpl implements OutboundEndpoints { + private readonly client: DnsResolverManagementClient; + + /** + * Initialize a new instance of the class OutboundEndpoints class. + * @param client Reference to the service client + */ + constructor(client: DnsResolverManagementClient) { + this.client = client; + } + + /** + * Lists outbound endpoints for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + dnsResolverName: string, + options?: OutboundEndpointsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + dnsResolverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, dnsResolverName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + dnsResolverName: string, + options?: OutboundEndpointsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, dnsResolverName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + dnsResolverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + dnsResolverName: string, + options?: OutboundEndpointsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + dnsResolverName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpoint, + options?: OutboundEndpointsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + OutboundEndpointsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpoint, + options?: OutboundEndpointsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpointPatch, + options?: OutboundEndpointsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + OutboundEndpointsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters, + options + }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpointPatch, + options?: OutboundEndpointsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + options?: OutboundEndpointsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, dnsResolverName, outboundEndpointName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + options?: OutboundEndpointsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + dnsResolverName, + outboundEndpointName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets properties of an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + options?: OutboundEndpointsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsResolverName, outboundEndpointName, options }, + getOperationSpec + ); + } + + /** + * Lists outbound endpoints for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + dnsResolverName: string, + options?: OutboundEndpointsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsResolverName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + dnsResolverName: string, + nextLink: string, + options?: OutboundEndpointsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsResolverName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.OutboundEndpoint + }, + 201: { + bodyMapper: Mappers.OutboundEndpoint + }, + 202: { + bodyMapper: Mappers.OutboundEndpoint + }, + 204: { + bodyMapper: Mappers.OutboundEndpoint + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.outboundEndpointName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.OutboundEndpoint + }, + 201: { + bodyMapper: Mappers.OutboundEndpoint + }, + 202: { + bodyMapper: Mappers.OutboundEndpoint + }, + 204: { + bodyMapper: Mappers.OutboundEndpoint + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.outboundEndpointName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.outboundEndpointName + ], + headerParameters: [Parameters.accept, Parameters.ifMatch], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OutboundEndpoint + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.outboundEndpointName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OutboundEndpointListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OutboundEndpointListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsResolverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operations/virtualNetworkLinks.ts b/sdk/dnsresolver/arm-dnsresolver/src/operations/virtualNetworkLinks.ts new file mode 100644 index 000000000000..ae1aaf240ff8 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operations/virtualNetworkLinks.ts @@ -0,0 +1,641 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { VirtualNetworkLinks } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DnsResolverManagementClient } from "../dnsResolverManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VirtualNetworkLink, + VirtualNetworkLinksListNextOptionalParams, + VirtualNetworkLinksListOptionalParams, + VirtualNetworkLinksCreateOrUpdateOptionalParams, + VirtualNetworkLinksCreateOrUpdateResponse, + VirtualNetworkLinkPatch, + VirtualNetworkLinksUpdateOptionalParams, + VirtualNetworkLinksUpdateResponse, + VirtualNetworkLinksDeleteOptionalParams, + VirtualNetworkLinksGetOptionalParams, + VirtualNetworkLinksGetResponse, + VirtualNetworkLinksListResponse, + VirtualNetworkLinksListNextResponse +} from "../models"; + +/// +/** Class containing VirtualNetworkLinks operations. */ +export class VirtualNetworkLinksImpl implements VirtualNetworkLinks { + private readonly client: DnsResolverManagementClient; + + /** + * Initialize a new instance of the class VirtualNetworkLinks class. + * @param client Reference to the service client + */ + constructor(client: DnsResolverManagementClient) { + this.client = client; + } + + /** + * Lists virtual network links to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: VirtualNetworkLinksListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + dnsForwardingRulesetName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + dnsForwardingRulesetName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: VirtualNetworkLinksListOptionalParams + ): AsyncIterableIterator { + let result = await this._list( + resourceGroupName, + dnsForwardingRulesetName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + dnsForwardingRulesetName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: VirtualNetworkLinksListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + dnsForwardingRulesetName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLink, + options?: VirtualNetworkLinksCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkLinksCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLink, + options?: VirtualNetworkLinksCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLinkPatch, + options?: VirtualNetworkLinksUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkLinksUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters, + options + }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLinkPatch, + options?: VirtualNetworkLinksUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be + * undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + options?: VirtualNetworkLinksDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be + * undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + options?: VirtualNetworkLinksDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets properties of a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + options?: VirtualNetworkLinksGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + dnsForwardingRulesetName, + virtualNetworkLinkName, + options + }, + getOperationSpec + ); + } + + /** + * Lists virtual network links to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: VirtualNetworkLinksListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsForwardingRulesetName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + dnsForwardingRulesetName: string, + nextLink: string, + options?: VirtualNetworkLinksListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, dnsForwardingRulesetName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkLink + }, + 201: { + bodyMapper: Mappers.VirtualNetworkLink + }, + 202: { + bodyMapper: Mappers.VirtualNetworkLink + }, + 204: { + bodyMapper: Mappers.VirtualNetworkLink + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters10, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.virtualNetworkLinkName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkLink + }, + 201: { + bodyMapper: Mappers.VirtualNetworkLink + }, + 202: { + bodyMapper: Mappers.VirtualNetworkLink + }, + 204: { + bodyMapper: Mappers.VirtualNetworkLink + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters11, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.virtualNetworkLinkName + ], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.virtualNetworkLinkName + ], + headerParameters: [Parameters.accept, Parameters.ifMatch], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkLink + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName, + Parameters.virtualNetworkLinkName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkLinkListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkLinkListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.dnsForwardingRulesetName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/dnsForwardingRulesets.ts b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/dnsForwardingRulesets.ts new file mode 100644 index 000000000000..1835b2181afd --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/dnsForwardingRulesets.ts @@ -0,0 +1,154 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + DnsForwardingRuleset, + DnsForwardingRulesetsListByResourceGroupOptionalParams, + DnsForwardingRulesetsListOptionalParams, + VirtualNetworkDnsForwardingRuleset, + DnsForwardingRulesetsListByVirtualNetworkOptionalParams, + DnsForwardingRulesetsCreateOrUpdateOptionalParams, + DnsForwardingRulesetsCreateOrUpdateResponse, + DnsForwardingRulesetPatch, + DnsForwardingRulesetsUpdateOptionalParams, + DnsForwardingRulesetsUpdateResponse, + DnsForwardingRulesetsDeleteOptionalParams, + DnsForwardingRulesetsGetOptionalParams, + DnsForwardingRulesetsGetResponse +} from "../models"; + +/// +/** Interface representing a DnsForwardingRulesets. */ +export interface DnsForwardingRulesets { + /** + * Lists DNS forwarding rulesets within a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: DnsForwardingRulesetsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists DNS forwarding rulesets in all resource groups of a subscription. + * @param options The options parameters. + */ + list( + options?: DnsForwardingRulesetsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists DNS forwarding ruleset resource IDs attached to a virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + listByVirtualNetwork( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRuleset, + options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsForwardingRulesetsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRuleset, + options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRulesetPatch, + options?: DnsForwardingRulesetsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsForwardingRulesetsUpdateResponse + > + >; + /** + * Updates a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + parameters: DnsForwardingRulesetPatch, + options?: DnsForwardingRulesetsUpdateOptionalParams + ): Promise; + /** + * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules + * within the ruleset will be deleted. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: DnsForwardingRulesetsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules + * within the ruleset will be deleted. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: DnsForwardingRulesetsDeleteOptionalParams + ): Promise; + /** + * Gets a DNS forwarding ruleset properties. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: DnsForwardingRulesetsGetOptionalParams + ): Promise; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/dnsResolvers.ts b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/dnsResolvers.ts new file mode 100644 index 000000000000..725a3304e3ca --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/dnsResolvers.ts @@ -0,0 +1,152 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + DnsResolver, + DnsResolversListByResourceGroupOptionalParams, + DnsResolversListOptionalParams, + SubResource, + DnsResolversListByVirtualNetworkOptionalParams, + DnsResolversCreateOrUpdateOptionalParams, + DnsResolversCreateOrUpdateResponse, + DnsResolverPatch, + DnsResolversUpdateOptionalParams, + DnsResolversUpdateResponse, + DnsResolversDeleteOptionalParams, + DnsResolversGetOptionalParams, + DnsResolversGetResponse +} from "../models"; + +/// +/** Interface representing a DnsResolvers. */ +export interface DnsResolvers { + /** + * Lists DNS resolvers within a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: DnsResolversListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists DNS resolvers in all resource groups of a subscription. + * @param options The options parameters. + */ + list( + options?: DnsResolversListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists DNS resolver resource IDs linked to a virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + listByVirtualNetwork( + resourceGroupName: string, + virtualNetworkName: string, + options?: DnsResolversListByVirtualNetworkOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolver, + options?: DnsResolversCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsResolversCreateOrUpdateResponse + > + >; + /** + * Creates or updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolver, + options?: DnsResolversCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolverPatch, + options?: DnsResolversUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DnsResolversUpdateResponse + > + >; + /** + * Updates a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + parameters: DnsResolverPatch, + options?: DnsResolversUpdateOptionalParams + ): Promise; + /** + * Deletes a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + dnsResolverName: string, + options?: DnsResolversDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + dnsResolverName: string, + options?: DnsResolversDeleteOptionalParams + ): Promise; + /** + * Gets properties of a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsResolverName: string, + options?: DnsResolversGetOptionalParams + ): Promise; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/forwardingRules.ts b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/forwardingRules.ts new file mode 100644 index 000000000000..d294daf276ab --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/forwardingRules.ts @@ -0,0 +1,93 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ForwardingRule, + ForwardingRulesListOptionalParams, + ForwardingRulesCreateOrUpdateOptionalParams, + ForwardingRulesCreateOrUpdateResponse, + ForwardingRulePatch, + ForwardingRulesUpdateOptionalParams, + ForwardingRulesUpdateResponse, + ForwardingRulesDeleteOptionalParams, + ForwardingRulesGetOptionalParams, + ForwardingRulesGetResponse +} from "../models"; + +/// +/** Interface representing a ForwardingRules. */ +export interface ForwardingRules { + /** + * Lists forwarding rules in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: ForwardingRulesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a forwarding rule in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + parameters: ForwardingRule, + options?: ForwardingRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates a forwarding rule in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + parameters: ForwardingRulePatch, + options?: ForwardingRulesUpdateOptionalParams + ): Promise; + /** + * Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + options?: ForwardingRulesDeleteOptionalParams + ): Promise; + /** + * Gets properties of a forwarding rule in a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param forwardingRuleName The name of the forwarding rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsForwardingRulesetName: string, + forwardingRuleName: string, + options?: ForwardingRulesGetOptionalParams + ): Promise; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/inboundEndpoints.ts b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/inboundEndpoints.ts new file mode 100644 index 000000000000..a7f674d0a6e8 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/inboundEndpoints.ts @@ -0,0 +1,147 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + InboundEndpoint, + InboundEndpointsListOptionalParams, + InboundEndpointsCreateOrUpdateOptionalParams, + InboundEndpointsCreateOrUpdateResponse, + InboundEndpointPatch, + InboundEndpointsUpdateOptionalParams, + InboundEndpointsUpdateResponse, + InboundEndpointsDeleteOptionalParams, + InboundEndpointsGetOptionalParams, + InboundEndpointsGetResponse +} from "../models"; + +/// +/** Interface representing a InboundEndpoints. */ +export interface InboundEndpoints { + /** + * Lists inbound endpoints for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + dnsResolverName: string, + options?: InboundEndpointsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpoint, + options?: InboundEndpointsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InboundEndpointsCreateOrUpdateResponse + > + >; + /** + * Creates or updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpoint, + options?: InboundEndpointsCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpointPatch, + options?: InboundEndpointsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InboundEndpointsUpdateResponse + > + >; + /** + * Updates an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + parameters: InboundEndpointPatch, + options?: InboundEndpointsUpdateOptionalParams + ): Promise; + /** + * Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + options?: InboundEndpointsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + options?: InboundEndpointsDeleteOptionalParams + ): Promise; + /** + * Gets properties of an inbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsResolverName: string, + inboundEndpointName: string, + options?: InboundEndpointsGetOptionalParams + ): Promise; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/index.ts b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..2aee269b9413 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export * from "./dnsResolvers"; +export * from "./inboundEndpoints"; +export * from "./outboundEndpoints"; +export * from "./dnsForwardingRulesets"; +export * from "./forwardingRules"; +export * from "./virtualNetworkLinks"; diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/outboundEndpoints.ts b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/outboundEndpoints.ts new file mode 100644 index 000000000000..2eca5089521c --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/outboundEndpoints.ts @@ -0,0 +1,147 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + OutboundEndpoint, + OutboundEndpointsListOptionalParams, + OutboundEndpointsCreateOrUpdateOptionalParams, + OutboundEndpointsCreateOrUpdateResponse, + OutboundEndpointPatch, + OutboundEndpointsUpdateOptionalParams, + OutboundEndpointsUpdateResponse, + OutboundEndpointsDeleteOptionalParams, + OutboundEndpointsGetOptionalParams, + OutboundEndpointsGetResponse +} from "../models"; + +/// +/** Interface representing a OutboundEndpoints. */ +export interface OutboundEndpoints { + /** + * Lists outbound endpoints for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + dnsResolverName: string, + options?: OutboundEndpointsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpoint, + options?: OutboundEndpointsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + OutboundEndpointsCreateOrUpdateResponse + > + >; + /** + * Creates or updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpoint, + options?: OutboundEndpointsCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpointPatch, + options?: OutboundEndpointsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + OutboundEndpointsUpdateResponse + > + >; + /** + * Updates an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + parameters: OutboundEndpointPatch, + options?: OutboundEndpointsUpdateOptionalParams + ): Promise; + /** + * Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + options?: OutboundEndpointsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + options?: OutboundEndpointsDeleteOptionalParams + ): Promise; + /** + * Gets properties of an outbound endpoint for a DNS resolver. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsResolverName The name of the DNS resolver. + * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsResolverName: string, + outboundEndpointName: string, + options?: OutboundEndpointsGetOptionalParams + ): Promise; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/virtualNetworkLinks.ts b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/virtualNetworkLinks.ts new file mode 100644 index 000000000000..c4e62406ea03 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/src/operationsInterfaces/virtualNetworkLinks.ts @@ -0,0 +1,149 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VirtualNetworkLink, + VirtualNetworkLinksListOptionalParams, + VirtualNetworkLinksCreateOrUpdateOptionalParams, + VirtualNetworkLinksCreateOrUpdateResponse, + VirtualNetworkLinkPatch, + VirtualNetworkLinksUpdateOptionalParams, + VirtualNetworkLinksUpdateResponse, + VirtualNetworkLinksDeleteOptionalParams, + VirtualNetworkLinksGetOptionalParams, + VirtualNetworkLinksGetResponse +} from "../models"; + +/// +/** Interface representing a VirtualNetworkLinks. */ +export interface VirtualNetworkLinks { + /** + * Lists virtual network links to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + dnsForwardingRulesetName: string, + options?: VirtualNetworkLinksListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLink, + options?: VirtualNetworkLinksCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkLinksCreateOrUpdateResponse + > + >; + /** + * Creates or updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the CreateOrUpdate operation. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLink, + options?: VirtualNetworkLinksCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLinkPatch, + options?: VirtualNetworkLinksUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkLinksUpdateResponse + > + >; + /** + * Updates a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param parameters Parameters supplied to the Update operation. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + parameters: VirtualNetworkLinkPatch, + options?: VirtualNetworkLinksUpdateOptionalParams + ): Promise; + /** + * Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be + * undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + options?: VirtualNetworkLinksDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be + * undone. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + options?: VirtualNetworkLinksDeleteOptionalParams + ): Promise; + /** + * Gets properties of a virtual network link to a DNS forwarding ruleset. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset. + * @param virtualNetworkLinkName The name of the virtual network link. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + dnsForwardingRulesetName: string, + virtualNetworkLinkName: string, + options?: VirtualNetworkLinksGetOptionalParams + ): Promise; +} diff --git a/sdk/dnsresolver/arm-dnsresolver/test/sampleTest.ts b/sdk/dnsresolver/arm-dnsresolver/test/sampleTest.ts new file mode 100644 index 000000000000..7ed89b043e1b --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/test/sampleTest.ts @@ -0,0 +1,48 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + env, + record, + RecorderEnvironmentSetup, + Recorder +} from "@azure-tools/test-recorder"; +import * as assert from "assert"; + +const recorderEnvSetup: RecorderEnvironmentSetup = { + replaceableVariables: { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" + }, + customizationsOnRecordings: [ + (recording: any): any => + recording.replace( + /"access_token":"[^"]*"/g, + `"access_token":"access_token"` + ) + ], + queryParametersToSkip: [] +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function() { + recorder = record(this, recorderEnvSetup); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/dnsresolver/arm-dnsresolver/tsconfig.json b/sdk/dnsresolver/arm-dnsresolver/tsconfig.json new file mode 100644 index 000000000000..5f99a93d7690 --- /dev/null +++ b/sdk/dnsresolver/arm-dnsresolver/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es6", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": [ + "es6", + "dom" + ], + "declaration": true, + "outDir": "./dist-esm", + "importHelpers": true, + "paths": { + "@azure/arm-dnsresolver": [ + "./src/index" + ] + } + }, + "include": [ + "./src/**/*.ts", + "./test/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/sdk/dnsresolver/ci.mgmt.yml b/sdk/dnsresolver/ci.mgmt.yml new file mode 100644 index 000000000000..729fefbfd601 --- /dev/null +++ b/sdk/dnsresolver/ci.mgmt.yml @@ -0,0 +1,33 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/dnsresolver/ci.mgmt.yml + - sdk/dnsresolver/arm-dnsresolver/ +pr: + branches: + include: + - main + - feature/* + - release/* + - hotfix/* + exclude: + - feature/v4 + paths: + include: + - sdk/dnsresolver/ci.mgmt.yml + - sdk/dnsresolver/arm-dnsresolver/ + +extends: + template: /eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: dnsresolver + Artifacts: + - name: azure-arm-dnsresolver + safeName: azurearmdnsresolver